Set up dot plot viewer to display 2nd seed measurements

This PR fixes #655 showing the second set of dotplot data. This enables this through several changes.

updates create_dotplot_viewer updates the arguments to be more declarative so that it is easier to customize each dotplot, allowing the user to set whether it shows the first, second, or full data sets for the example and seed measurements
The example seed measurements are placed into 3 different glue data objects. This is needed to circumvent the dotplot's native method of handling the y-axis height when displaying a subset. We want the bounds to be set by the smaller data set (the first or second measurements) rather than the full dataset. If we use subsets, then the y-axis bounds are set by the larger (full) dataset, rather than just by what is visible.

This also fixes the spectrum wavelength label

This should now fix #652.

Per our conversation yesterday, the 2nd measurement is not showing up for me either, so I think we need to track down what's going on. It's really weird that there are things that work for @Carifio24 that don't work for me and @johnarban.

Yeah, it's very strange that this works for me and not for both of you. For the purposes of comparison, my versions of our most relevant packages are:
glue-core==1.21.0
glue-jupyter==0.20.1
glue-plotly==0.10.0
pydantic==2.6.4
pydantic_core==2.16.3
solara==1.40.0
solara-enterprise==1.40.0
solara-server==1.40.0
solara-ui==1.40.0

Mine are a bit different. Does this mean I set up my common solara environment incorrectly? 🤦♀
These are the ones that are different. Should I try reverting to your versions and see if it works?  (It seems troubling to me that mine are newer and my version is one of the ones that isn't working..)
glue-jupyter==0.21.0
pydantic==2.7.3
pydantic-core==2.18.4

Just tried reverting to your packages and the 2nd measurement is still not appearing.

So I was playing around with this some more, went back and re-did my student's first measurement, and then went forward again, and now the second measurement isn't updating with the line.

Okay, after a long dive through the inner workings of the glue parts of all this, I think I finally figured out what the issue is. @patudom and @johnarban whenever you get a chance, let me know whether this works for you.

It's working!! I will go ahead and merge. Thanks for tracking this down, @Carifio24!


C34: Search Window: For the State drop down window, label how the user can select multiple states

Tools: JQuery

Visually inspected. Unable to complete. Out of time

Done.
Java Script


Test fork q

PR Checklist:
[ ] Describe and explain your intentions for this change
[ ] Setup pre-commit and run the validators (info in README.md)

test git-machete


Is the CoC derived from Contributor Covenant?

Description
It looks like the Code of Conduct is derived from the Contributor Covenant CoC.
If so, we should give credit, attribute, and link to their page on the CoC page. This is 100% required due to its license.

Yes. We did not know about the license. Thank you.
Would you like to make the relevant changes?

Sure, I'll work on that. 🙂


Feature: Allow existing SNS via a variable flag

If anyone has an existing SNS topic, I allowed this module to use that instead of creating one needlessly.  The topics created by this module would typically have to then be manually setup with destinations to trigger (email, webhooks, etc), so creating them externally makes a lot of sense (arguably more).

idk how to run your linter locally, if you can tell me how I can fix linting @dubiety

@AndrewFarley  Thank you so much for the PR.
My linting uses terraform fmt to format the code. If it is not formatted, the linting will fail.
To check the linting locally, you can run at root folder:
make init
make lint

@dubiety Thanks, fixed formatting, and confirmed working perfectly, and you can switch back and forth between using an existing SNS topic and not.  :P  Thanks for the simple but effective module.
If it's not a huge hassle once merged can you please make a release on Terraform Modules, so I can use the public modules and not a local copy?  THANKS!

LGTM. I'll make a new release. Thank you so much.


fix: Astro boy model position and scale

The sample app was not showing the astro boy model at properly so we changed some parameters. Now it's visible with proper orientation.

Verified


pokemon: parse dex number from template id

This PR parses out the "dex number" (eg: Bulbasaur: 1, Mew: 151) from the template ID (eg: "V0001_POKEMON_BULBASAUR", "V0151_POKEMON_MEW").
I'm starting to use this JSON in another project, and the dex number is really good for sorting.

This is my first time using TypeScript, so apologies if I've done something incorrectly.

Please update the tests with at least one general-case test (ie, all dex numbers are greater than 0 and less than ____), and at least one pokemon-specific test from each of Gen 1 and Gen 2 (ie, Mr. Mime has a dex number of 122).
I'll let @BrunnerLivio comment on code quality itself.

@proegssilb test cases added!

I think the code is alright, thanks alot!
Ready to merge from my point of view.

@BrunnerLivio done!


Integration does not work S19j Pro

I have 2 S19j Pro (100TH), in version 1.1.4 I was able to integrate both and now with version 1.1.9 - 1.1.15 this is no longer possible.
I enter everything and I only get one integrated, the other one I can enter everything, but it does not come to the point where I can select the room and it is then displayed:
Setup failed, will try again: Check logs.
LOGS:
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
Logger: custom_components.miner.coordinator
Quelle: custom_components/miner/coordinator.py:84
Integration: Miner (Dokumentation, Probleme)
Erstmals aufgetreten: 17:04:33 (7 Vorkommnisse)
Zuletzt protokolliert: 17:12:38
Failed to call hashboards on S19j Pro (BOS+): <IP_ADDRESS> while getting data.
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/pyasic/miners/base.py", line 496, in _get_data
miner_data[data_name] = await function(**args_to_send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyasic/miners/backends/braiins_os.py", line 934, in _get_hashboards
hashboards[idx].temp = board["boardTemp"]["degreeC"]
~~~~~~~~~~^^^^^
IndexError: list index out of range
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/miner/coordinator.py", line 84, in _async_update_data
miner_data = await self.miner.get_data(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyasic/miners/base.py", line 535, in get_data
gathered_data = await self._get_data(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyasic/miners/base.py", line 498, in _get_data
raise APIError(
pyasic.errors.APIError: Failed to call hashboards on S19j Pro (BOS+): <IP_ADDRESS> while getting data.

Seems like the length of the hashboards getting instantiated initially is too short for some reason.  Strange that one would work, but not both, they should be doing the same thing in the background...

The miner that does not work is a hashboard connected to the 4th data socket because the 2nd one no longer works

Ahhhh, yes.  That would cause it.  I'll see if I can figure out a solution to that, but the way I'm doing it right now makes that tricky.

OK, I'm curious and will wait and see

I have now cooled down the immersion and plugged the cable back into the second socket and the miner is recognized immediately, but unfortunately I have problems with the socket, can you perhaps include the fourth socket in the next update?

can you perhaps include the fourth socket in the next update?

I have to look into this, it's not quite as simple as it may seem, because of the way the antminers report their hashboards.  Even on BOS+ things are a bit weird.

Yes, if not I'll have to have a look, I'll get a new board and then it's good.

Try out v1.1.16rc1 (pre-release version).  I tried a fix in pyasic.

Ok, but I can only test it tomorrow, I'll let you know then.
Thanks for the great support

I´ve tried out v1.1.16rc1 (pre-release version) and still not working with S19j Pro !

I´ve tried out v1.1.16rc1 (pre-release version) and still not working with S19j Pro !

The specific issue here is that the hashboards are outside of standard sequence, you are likely having a different issue.  If you can, please open a new issue with logs and the version of your miners firmware.

Hi.
Two S19j Pro with different boards, Beaglebone and CVtek.
Both running with Braiins.

Can you give this a shot with 1.1.17?  It fixed the install issue, and if your miners are on latest it should hopefully just work...


network issue, not able to ping.

Hi, I've installed the latest preview release Build 14342.rs1_release.160506. I'm not able to ping or ap-get install anything from the Internet in BashOnWindows, however I can ping from outside cmd prompt. Thanks.

Hi @DrkCoater, thanks for reporting this!  Actually, release 14342 is not the latest release.  Could you try with 14352?  You should be offered it via Windows Update within 24-48 hours after installing if you've put this machine in the Fast Ring.
ping support was first added in 14352, and even in that release it requires Bash to be run with admin privileges to receive ICMP packets.
apt-get should work in older releases and without admin privileges, though it'd be good to confirm that there isn't some relevant bug that was fixed in the latest release.

Hi @aseering,
I'm currently on the latest build and ping doesn't work there too. I get the error:
ping: icmp open socket: Permission denied
Bash is currently running as root.

@aseering is correct that Ping will only work in 14352 if you run Bash from an Admin command prompt.  This is independent if you run as root within Bash or not.
There should be no issues with apt-get from a non-elevated command prompt.  There are some basic network troubleshooting steps in #5.  We have seen some issues where users with various 3rd party firewalls are having issues.

Thanks, I just upgraded to Build 14361.rs1_release.160603-1700
still the same issue. When ping www.microsoft.com, it took a very long time the come back with unknown host. Do I need to reinstall bashonwindows? If so what's the instruction to reinstall?

the /etc/resolv.conf looks fine to me btw. it got the correct name server..

@DrkCoater, can you confirm if you are able to ping an IP address?  That is, do you get different behavior between ping www.microsoft.com and ping <IP_ADDRESS> (on an Admin console naturally).
Starting to see a few reports of errors with DNS lookups.  Checking if you are hitting the same thing.  If so, no resolution yet.
Since you asked, the command to delete the Ubuntu binaries is lxrun /uninstall.  More information along with additional options for lxrun here.  If that does not work for you, manual instructions here.

I just did a successful full reinstall of bash, didn't fix the problem.
I got unknown host when a ping www.microsoft.com after a long pause.
and I get this when ping the ip instead:
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
ping: sendmsg: Invalid argument
ping: sendmsg: Invalid argument
ping: sendmsg: Invalid argument
ping: sendmsg: Invalid argument
...

I have the same DNS issue, ping to an IP works but ping www.microsoft.com does not, says "Unknown host".

I've uninstalled avg Internet security and updated the latest insider preview today and Internet access now worked.


agree the definition of the section field

The sections field is currently used to loosely associate a term/slot with a particular section of the metadata, it is poorly defined and its use is not consistent. To address this we need to clearly define what the Section field is meant to be used for?
Suggestion:
Each term relates to an area of metadata collection, by defining those areas one can divide the terms into logical sections to aid term identification and enable more logical construction of templates by grouping terms together based on the sections.

We agree on the definition conceptually, but it needs to be reworded.
We already use the LinkML subset concept. See https://genomicsstandardsconsortium.github.io/mixs/#subsets.
We can annotate the schema using a linkml slot to describe what subsets are. It should show up in the yaml file near the top. We want it to display on the documentation landing page. We don't currently have a description, so we should come up with one and include this description.


Terramaster NAS F2-422 Intel QSV does not work

I am running the Handbrake docker container in my F2-422 Terramaster NAS.
This is my docker-compose configuration file:
version: '3'
services:
  handbrake:
    image: jlesage/handbrake
    container_name: handbrake
    ports:
      - "5800:5800"
    volumes:
      - "/appdata/handbrake:/config:rw"
      - "/public:/storage:ro"
      - "/public/HandBrake/watch:/watch:rw"
      - "/public/HandBrake/output:/output:rw"
    devices:
      - "/dev/dri:/dev/dri:rw"
    environment:
      - USER_ID=0
      - GROUP_ID=0
      - LANG=it_IT
      - TZ=Europe/Rome
      - KEEP_APP_RUNNING=1
      - CONTAINER_DEBUG=1
      - DARK_MODE=1
      - VNC_PASSWORD=mypassword
    restart: unless-stopped

Every time I try to encode there is an error.
Attached there's the activity log.
Activity.log
I cannot understand what is the problem.
I followed the every step of the installation on the Github page.
I will appreciate every help I can get.
Thank you.

Th problem you have is only with a QSV encoder ?  I guess a non-QSV encoder is working fine ?

Yes. If I choose a non-QSV encoder the process works fine and utilizes only the NAS CPU.

Hello. Just an update from my side.
Now I can't even successfully deploy the container (same compose file as in the first post).
In the logs I always see this error:
[cont-init   ] 10-xdg-runtime-dir.sh: executing...

[cont-init   ] 10-xdg-runtime-dir.sh: mkdir: cannot create directory ‘’: No such file or directory

[cont-init   ] 10-xdg-runtime-dir.sh: terminated with error 1.

Here's the complete log.
_handbrake_logs.txt

Hello. Another update.
The problem I had in the previous post was only an issue with user permission: the container works fine if I use
    environment:
      - USER_ID=0    #my root user PUID
      - GROUP_ID=3   #my admin user group PGID

About the main issue I wrote about in the first post, I did some research online and I found out some information in the issues session of the Handbrake GitHub repository.
https://github.com/HandBrake/HandBrake/issues/4941#issuecomment-1435665018
If I set the "lowpower=0" parameter in the video tab as suggested in the comment, the QSV encoder works fine.
Unfortunately this brought another, stranger problem: sometime during the encoding process the entire NAS just freezes and become unusable and unreachable. I need to restart it manually because I can't even reach it through SSH.
I tried looking for some clues in the container and in the encoding process log files but found nothing. Here they are.
_handbrake_logs.txt
video_test_file 2023-03-22 16-16-24.log
I can't figure out why the whole NAS crashes because of an encoding process.
I only tried with QSV H.265 with "lowpower=0" attrubute. Maybe it will be better with H.264? I don't think so but I will give it a try.
Help/suggestions are welcome.

I can't figure out why the whole NAS crashes because of an encoding process. I only tried with QSV H.265 with "lowpower=0" attrubute. Maybe it will be better with H.264? I don't think so but I will give it a try.
Help/suggestions are welcome.

Could be because you haven't enabled the GuC/HuC Firmware, which is necessary for Casper Lake CPUs.


Fix redirect for rtspx source

receive the following error on windows 10 running go2rtc version 1.6.2
15:56:26.569 ERR github.com/AlexxIT/go2rtc/internal/mjpeg/init.go:178 > error="wrong response on DESCRIBE"

with following simple config
streams:
  bambu_camera: rtspx://user:password@<IP_ADDRESS>:322/streaming/live/1
ffmpeg:
  bin: "C://go2rtc_win64/ffmpeg.exe"

found similar error in #391, but there are no port conflicts like in that case. using ffmpeg:rtsps://user:password@<IP_ADDRESS>:322/streaming/live/1 seems to work ok but is pretty glitchy/laggy with the error EOF url=ffmpeg:rtsps://user:password@<IP_ADDRESS>:322/streaming/live/1 repeatedly and wasn't sure if the other rtspx method would work better or not.

You need to increase log level for rtsp module to trace

Thanks, set it to trace logging and this is what I'm getting.
22:51:23.064 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
Accept: application/sdp
Require: www.onvif.org/ver20/backchannel
User-Agent: go2rtc/1.6.2
CSeq: 1

22:51:23.069 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Date: Mon, Aug 07 2023 02:51:23 GMT
Location: rtsps://<IP_ADDRESS>/1
Cseq: 1

22:51:23.074 TRC [rtsp] describe (backchannel=true) err: wrong response on DESCRIBE
22:51:23.159 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
CSeq: 1
Accept: application/sdp
User-Agent: go2rtc/1.6.2

22:51:23.178 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:23 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:23.262 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
Accept: application/sdp
Require: www.onvif.org/ver20/backchannel
User-Agent: go2rtc/1.6.2
CSeq: 1

22:51:23.297 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:23 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:23.300 TRC [rtsp] describe (backchannel=true) err: wrong response on DESCRIBE
22:51:23.371 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
Accept: application/sdp
User-Agent: go2rtc/1.6.2
CSeq: 1

22:51:23.385 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:23 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:23.466 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
Accept: application/sdp
Require: www.onvif.org/ver20/backchannel
User-Agent: go2rtc/1.6.2
CSeq: 1

22:51:23.491 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Date: Mon, Aug 07 2023 02:51:23 GMT
Location: rtsps://<IP_ADDRESS>/1
Cseq: 1

22:51:23.494 TRC [rtsp] describe (backchannel=true) err: wrong response on DESCRIBE
22:51:23.811 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
User-Agent: go2rtc/1.6.2
CSeq: 1
Accept: application/sdp

22:51:24.020 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:24 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:24.117 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
CSeq: 1
Accept: application/sdp
Require: www.onvif.org/ver20/backchannel
User-Agent: go2rtc/1.6.2

22:51:24.167 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:24 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:24.171 TRC [rtsp] describe (backchannel=true) err: wrong response on DESCRIBE
22:51:24.256 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
Accept: application/sdp
User-Agent: go2rtc/1.6.2
CSeq: 1

22:51:24.267 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:24 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:24.346 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
User-Agent: go2rtc/1.6.2
CSeq: 1
Accept: application/sdp
Require: www.onvif.org/ver20/backchannel

22:51:24.355 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:24 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:24.358 TRC [rtsp] describe (backchannel=true) err: wrong response on DESCRIBE
22:51:24.436 TRC [rtsp] client request:
DESCRIBE rtspx://<IP_ADDRESS>:322/streaming/live/1 RTSP/1.0
Accept: application/sdp
User-Agent: go2rtc/1.6.2
CSeq: 1

22:51:24.447 TRC [rtsp] client response:
RTSP/1.0 301 Moved Permanently
Cseq: 1
Date: Mon, Aug 07 2023 02:51:24 GMT
Location: rtsps://<IP_ADDRESS>/1

22:51:24.453 ERR github.com/AlexxIT/go2rtc/internal/mjpeg/init.go:178 > error="wrong response on DESCRIBE"

Try to use
rtspx://<IP_ADDRESS>/1
or
rtspx://<IP_ADDRESS>:332/1

doesn't seem to be able to connect at all with either of those.
<EMAIL_ADDRESS>23:56:44.364 ERR github.com/AlexxIT/go2rtc/internal/mjpeg/init.go:178 > error="dial tcp <IP_ADDRESS>:554: connectex: No connection could be made because the target machine actively refused it."

rtspx://:@<IP_ADDRESS>:332/1:
23:58:07.614 ERR github.com/AlexxIT/go2rtc/internal/mjpeg/init.go:178 > error="dial tcp <IP_ADDRESS>:332: connectex: No connection could be made because the target machine actively refused it."

if it helps, here's a trace of a working ffmpeg:rtsps://user:password@<IP_ADDRESS>:322/streaming/live/1
23:59:45.719 TRC [rtsp] server request:
OPTIONS rtsp://<IP_ADDRESS>:8554/306fd220b1393e7c811dee9a6b9bc5c3 RTSP/1.0
Cseq: 1
User-Agent: ffmpeg/go2rtc

23:59:45.722 TRC [rtsp] server response:
RTSP/1.0 200 OK
Public: OPTIONS, SETUP, TEARDOWN, DESCRIBE, PLAY, PAUSE, ANNOUNCE, RECORD
Cseq: 1

23:59:45.727 TRC [rtsp] server request:
ANNOUNCE rtsp://<IP_ADDRESS>:8554/306fd220b1393e7c811dee9a6b9bc5c3 RTSP/1.0
User-Agent: ffmpeg/go2rtc
Content-Length: 303
Content-Type: application/sdp
Cseq: 2

v=0
o=- 0 0 IN IP4 <IP_ADDRESS>
s=rtsp stream server
c=IN IP4 <IP_ADDRESS>
t=0 0
a=tool:libavformat 59.16.100
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z0LAH42NUCSC2TZAAAADAEAAAA8jwiEagA==,aM4xsg==; profile-level-id=42C01F
a=control:streamid=0

23:59:45.729 TRC [rtsp] server response:
RTSP/1.0 200 OK
Cseq: 2

23:59:45.733 TRC [rtsp] server request:
SETUP rtsp://<IP_ADDRESS>:8554/306fd220b1393e7c811dee9a6b9bc5c3/streamid=0 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=0-1;mode=record
Cseq: 3
User-Agent: ffmpeg/go2rtc

23:59:45.737 TRC [rtsp] server response:
RTSP/1.0 200 OK
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Cseq: 3
Session: 87241271;timeout=60

23:59:45.740 TRC [rtsp] server request:
RECORD rtsp://<IP_ADDRESS>:8554/306fd220b1393e7c811dee9a6b9bc5c3 RTSP/1.0
Range: npt=0.000-
Cseq: 4
User-Agent: ffmpeg/go2rtc
Session: 87241271

23:59:45.740 TRC [rtsp] server response:
RTSP/1.0 200 OK
Cseq: 4
Session: 87241271

Should be fixed https://github.com/AlexxIT/go2rtc/issues/331


HMR (hot module refresh) at all possible?

I've switched on a project from building an app with sveltekit and integrating it into a bigger live_view app though an API, to use live_svelte and it has a surprisingly pleasant experience.
My only caveat right now would be that I miss deeply the Hot Module Replacement of vite/sveltekit. Adding/removing classes to svelte components require a hard refresh and sometimes some clicking around to restore the state to check the effects of those changes.
Is there a way of having HMR in live_svelte. Or would it be possible to use vite instead of esbuild?

I'm only a user of this project, but I had similar needs to you and I replaced esbuild with Vite and HMR worked great. The dev experience seems much more polished when you don't need the hard refresh and (usually) you don't lose the client state .The only thing that didn't work out of the box was SSR but I didn't put any effort into integrating it and I didn't actually need it for my project.

Make sure to that your dev.exs is correctly configured.
An example can be found here.
https://github.com/woutdp/live_svelte/blob/master/example_project/config/dev.exs#L59-L61
Technically it's not HMR, but it should reload the server automatically without manual intervention.

I'm only a user of this project, but I had similar needs to you and I replaced esbuild with Vite and HMR worked great. The dev experience seems much more polished when you don't need the hard refresh and (usually) you don't lose the client state .The only thing that didn't work out of the box was SSR but I didn't put any effort into integrating it and I didn't actually need it for my project.

I think the project could benefit from having a step-by-step in how to integrate Vite. Even if a user could start by Vite's setup using a svelte template, and then adding LiveSelte.
What do you think?

I fully agree. Most of us who do svelte (although I realize that most people that come to live_svelte come from the elixir side of the street) came to absolute love vite as the best javascript built tool by a mile. In fact giving up vite was my main source of reluctance for trying live_svelte.

Definitely up for a Vite guide for LiveSvelte if anyone wants to contribute one! I've went with esbuild as that's the default in Phoenix but I'm also in favor of Vite.

Closing for now


Jooby 1.1.0

update integration tests
plus cool banner

@stevehu Here is an update to latest Jooby :)
What do you think of adding a comment when the test run in the IO vs Worker thread?
Jooby for example doesn't allow to run any code in IO thread.

I think most new frameworks won't allow to run business logic in IO thread and this is what non-blocking is about. I think only servlet contain these days are using one thread for the request/response chain.

I'm probably reading it wrong, but this code run in the IO thread, no?

I got the result published and it is a big improvement compare with the previous version. what has been changed? Yes. My code is using IO thread as for this test it is not necessary to start another thread. For database or other IO access, it will be changed to worker thread.

Somewhere in the path I introduced a performance regression. The 404 handler was creating a lot of garbage per each new request. This wasn't need it (of course), it was just a really silly mistake.
After I fixed that did some minor/micro improvements.
Regarding to the IO thread. Yes, I know we could run this test in the IO thread... just saying we should probably mention it. Running code in the IO thread will always give us better results (of course)

Are you still using servlet container?

Never used a Servlet Container :)
Jooby comes with 3 server implementations Netty, Undertow and Jetty.
Jetty is a servlet container, but I tried to use plain/raw Jetty API as much as possible.

Cool. Then you have a lot of room to go.


Duplicate packages returned when calling getApps()

Thanks for developing this great package!
It seems that getApps() can currently return some duplicates. I called said function in an app running on emulator of Android Studio and got entries with labels Google and Voice Search with the same package name com.google.android.googlequicksearchbox.
Now, I don't know if this is intentional feature and I don't have time to look into this deeper now, but someone suggested using getInstalledApplications instead of queryIntentActivities here: https://stackoverflow.com/a/17238992. Maybe you know better what is happening here and if having duplicate list items is even possible with third party apps, as com.google.android.googlequicksearchbox is Google's own package.

Thanks for your support, I'll try to take a look into it in the next few days and I'll let you know when the new update is live!

Thanks for your support, I'll try to take a look into it in the next few days and I'll let you know when the new update is live!


FILETIME should be i64?

I could not find any explicit mention that it's an i64, but it's pretty strongly hinted:

https://learn.microsoft.com/en-us/uwp/cpp-ref-for-winrt/clock
https://learn.microsoft.com/en-us/windows/win32/adschema/a-accountexpires#remarks

And of course, Windows seems to represent it as 2 x u32, so who knows?

https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime
https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types#DWORD

Oh, I think you're right that it's a u64:
From https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime#remarks:

It is not recommended that you add and subtract values from the FILETIME structure to obtain relative times. Instead, you should copy the low- and high-order parts of the file time to a ULARGE_INTEGER structure, perform 64-bit arithmetic on the QuadPart member, and copy the LowPart and HighPart members into the FILETIME structure.

And ULARGE_INTEGER represents a u64.

Hmm... But actually in .NET it's an Int64:

https://learn.microsoft.com/en-us/dotnet/api/system.datetime.fromfiletime?view=net-7.0
https://learn.microsoft.com/en-us/dotnet/api/system.datetime.tofiletime?view=net-7.0

The prerequisites for lpFileTime parameters of FileTimeToSystemTime() are as follows:

This value must be less than 0x8000000000000000. Otherwise, the function fails.

0x8000000000000000 is equivalent to i64::MAX + 1. From this and the definition of FILETIME,[^1] I think size of FILETIME is u64.
[^1]: This has two DWORD (equivalent to u32) members.

Again, I think you're probably right. The whole situation is a mess (lol Microsoft).
Thank you for investigating, and for your explanation.


[WIP] Base58 key format support

Exception enhancements

It's not clear to me why we'd want Base58 encoding instead of the more classical json-y base64url encoding?

It's not clear to me why we'd want Base58 encoding instead of the more classical json-y base64url encoding?

https://www.w3.org/TR/did-spec-registries/#verification-method-properties allows jwk, hex, base58 and multibase formats.

Okay, sounds good.
Maybe add a comment pointing to the spec you're implementing whenever it is a different spec than the base didcomm spec?


Time Picker, OK & Cancel Button In Small Font Size must be scrolled

Hi, i found a problem in Time Picker (TimePickerEntryMode.input) when i use small font size in my android.
i investigated time_picker.dart file,  it has defined the double value of _kTimePickerHeightInput = 226.0, when i change to 255 it works fine in small font size android.
Or in in class _TimePickerInput , in Widget build  return padding: const EdgeInsets.symmetric(horizontal: 24.0, vertical: 16.0), when i change to EdgeInsets.only(left: 24.0,right: 24.0, top: 16.0) it wokrs fine.
Any suggestion how to make it work without change value in time_picker.dart file?

Setting the device's font size to small / big does change the layout of the app, as shown below:

But this may not be specific to Flutter, because the framework may not have control over what are device's settings and may be happening to native apps as well.
@BangPei Can you check and confirm if similar behavior occurs for Android app too ?

CC @darrenaustin

Hi @darshankawar , thanks for your reply.
My app already publish to user, they said if they change the device font size to small timer picker button must be scrolled.

Setting the device's font size to small / big does change the layout of the app, as shown below:

But this may not be specific to Flutter, because the framework may not have control over what are device's settings and may be happening to native apps as well.
@BangPei Can you check and confirm if similar behavior occurs for Android app too ?

Hi @darshankawar thanks for your reply.
My App already published to public user in playstore, they said if they change device font size to be small the time picker button must be scrolled, so it's happen not just in my device.

Thanks for getting back. I see the same behavior after updating font size of Android device to small or big, the widget buttons goes out of the screen as mentioned in my earlier comment, https://github.com/flutter/flutter/issues/80917#issuecomment-824648960

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.5, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.0.5 at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision adc687823a (3 days ago), 2021-04-16 09:40:20 -0700
    • Engine revision b09f014e96
    • Dart version 2.12.3

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (3 available)
	  • SM G975F (mobile) • RZ8M802WY0X • android-arm64 • Android 10 (API 29)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 14.4.1
    • macOS (desktop)           • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 89.0.4389.114

! Doctor found issues in 1 category.

Thanks for getting back. I see the same behavior after updating font size of Android device to small or big, the widget buttons goes out of the screen as mentioned in my earlier comment, #80917 (comment)
flutter doctor -v
code sample : https://api.flutter.dev/flutter/material/showTimePicker.html#material.showTimePicker.1

Thanks @darshankawar , any suggestion how to make work for me?

@BangPei I just faced this similar issue, for me to fix the font size of TimePicker I'll just wrap it with MediaQuery and set textScaleFactor to 1.0.
ElevatedButton(
              onPressed:
                () => showTimePicker(
                  context: context,
                  initialTime: TimeOfDay.now(),
                  builder: (context, child) {
                    return MediaQuery(
                      data: MediaQuery.of(context)
                            .copyWith(
                              alwaysUse24HourFormat: false,
                              textScaleFactor: 1.0,
                            ),
                      child: Center(child: child!)
                    );
                  }
                ),
              child: Text('Fix'),
            ),

@BangPei I just faced this similar issue, for me to fix the font size of TimePicker I'll just wrap it with MediaQuery and set textScaleFactor to 1.0.
ElevatedButton(
              onPressed:
                () => showTimePicker(
                  context: context,
                  initialTime: TimeOfDay.now(),
                  builder: (context, child) {
                    return MediaQuery(
                      data: MediaQuery.of(context)
                            .copyWith(
                              alwaysUse24HourFormat: false,
                              textScaleFactor: 1.0,
                            ),
                      child: Center(child: child!)
                    );
                  }
                ),
              child: Text('Fix'),
            ),

@iandis thanks for your response, i will try it.

@BangPei I just faced this similar issue, for me to fix the font size of TimePicker I'll just wrap it with MediaQuery and set textScaleFactor to 1.0.
ElevatedButton(
              onPressed:
                () => showTimePicker(
                  context: context,
                  initialTime: TimeOfDay.now(),
                  builder: (context, child) {
                    return MediaQuery(
                      data: MediaQuery.of(context)
                            .copyWith(
                              alwaysUse24HourFormat: false,
                              textScaleFactor: 1.0,
                            ),
                      child: Center(child: child!)
                    );
                  }
                ),
              child: Text('Fix'),
            ),

@iandis it works, thanks for the solution.


Failed to start AYS server

Installation information

jumpscale version: js9
operating system: Ubuntu 14.04

Detailed description
Failure while starting the AYS server, more details can be found here https://travis-ci.org/Jumpscale/ays9/builds/242363740
Steps to reproduce

Install js9 according to https://github.com/Jumpscale/developer
Execute the command:
sudo docker exec js9_base js9 'j.atyourservice.server.start()'

Relevant stacktraces
Full stacktrace can be found here
https://travis-ci.org/Jumpscale/ays9/builds/242363740

https://github.com/Jumpscale/prefab9/pull/15

fixed: https://travis-ci.org/Jumpscale/ays9/builds/242363740


Add glossary

Change list

Glossary for all the terms I could think of that are relevant to cloud optimized geospatial!
Python pre-commit script to verify that glossary is alphabetically ordered 😅 (hello ocd!)

For https://github.com/cloudnativegeo/cloud-optimized-geospatial-formats-guide/discussions/65

@jedsundwall your review on this would be interesting too, since I tried to make the descriptions not too technical!

@kylebarron, I'm going to defer to you and @wildintellect on the nuances here. The glossary looks great to me and it's a very solid attempt at collecting our community's technical terms into one place and making them more accessible. If you can pass @wildintellect's edits, I'll be happy to merge.

Did we use all these terms in the existing docs already?

We've probably used most of them, and I think it's fine for the glossary to be a superset of terms used in the documentation. I.e. if cloud-optimized points to cloud points to aws and gcp, then it makes sense to have all of those defined in the glossary beyond just cloud-optimized. But having them separated out means it's possible to add permalinks to the relevant sections directly in the future


cellx_classify.ipynb needs cleaning up

specifically this cell:
https://github.com/lowe-lab-ucl/segment-classify-track/blob/bdc58e713baa930ba3aac8befac0910f84c5640a/cellx_classify.ipynb?short_path=283c967#L157

#3 should be sorted now


GUI Control sizing/positioning initially incorrect

Godot version:
e62e7fd768467aad9452cacf7331caee7f730020
Issue description:
Several parts of my UI/menu screens are now placed/sized incorrectly.
In most cases it appears to be containers being sized as if they have no contents, but I'm not sure at the moment.
Similar problems can be seen in a couple of places in the editor UI:
In the project settings, the first time you select a property with a horizontal slider, the slider appears lower down. Reselecting it will put the slider in the right place.

On the Help->About screen, the details do not appear on the first three tabs (Authors, Donors and License) until the tab is visited a second time. I suspect part of the UI is being sized as if it was empty.
The content of the Thirdparty License tab overflows its parent the first time it's viewed:

The smallest related example I've found so far is Popup.popup_centered() will position the popup incorrectly the first time. The top left of the popup will be in the center of the screen.
See example project below:
Minimal reproduction project:
gui_testing.zip
Press 'p' for the popup. Note the first time it appears it is not correctly centered.

I think related:

it seems regression from 005b69cf6e276209464cc8c36ebc7376679925b6

Changed UI resizing code, gained huge amount of speed.

cc @reduz

No resize at all here:

3b1ea51e4 seems to be involved too, at least for the about screen.
It somehow causes the Tree and RichTextLabel on the third party tab to be sized without respect to the size of their container.


Question: Why WASM?

So I have to admit I am a little confused on the support for WASM here.  From what I understand, Ooui uses HTML5/CSS for all of its rendering.  This is default supported behavior by every modern browser, so it would seem supporting WASM would not be necessary, which leads me to my question on why you would want to incur the overhead to support something that seems unnecessary.  Clearly I must be missing (and/or misunderstanding) something here. 😆

Ooui is indeed an HTML5/CSS library but has a certain burden on the server (maintaining web socket connections and such) and does not support the disconnected scenario.
With web assembly, you gain the ability to run offline with no server cost (you can host your app on a static web server). This also enables Xamarin.Forms to run entirely in browser making it act more like its mobile counterparts.
The wasm support required only minor changes to the codebase to support and is a huge win given the investment (50 lines were added ooui.js and two new functions were added to the UI class).
This is not a change in the direction of Ooui - I plan on supporting both of these scenarios (dumb client/smart client) in order to let users decide which one is the best for their apps.

I'm pretty excited for this. I've been following the blazor project and it looks just as exciting.
Though I had a question with xaramin.forms support is it a subset or does it support every control?

@Terricide every control will eventually be supported though there are currently a few left that need implementing. But no, this is not a subset. There are a couple work items to start tracking the work left (#85 and #87)

Awesome... thank you for the insight and explanation, @praeclarum!  And much respect/admiration for all your work here.  Very genius and inspiring. 👍
In my view, this approach and strategy is the answer to a much requested ubiquitous .NET.


Decouple extrapolation bounds from element type

Extrapolation bounds for gridded interpolations are effectively indices and not coupled with the array eltype.  So this changes it to use integers (for OnGrid()) and SimpleRatios Float64 (for OnCell()) directly, instead of trying to convert the values to the eltype.  This is important because some array values may not support conversion from integers or floats.

LGTM.
@timholy, you have a better eye for potential type instabilities than me - do you see this causing problems anywhere?

I've added tests and fixed an issue that they uncovered with the OnCell implementation.  @inferred passes on getindex, so I think this should be good as far as type stability goes.

LGTM. Thanks, Matt.


Support data in compiler

This PR adds support for passing all observed variables using a data dictionary. For example
@model gdemo(x) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x[1] ~ Normal(m, sqrt(s))
  x[2] ~ Normal(m, sqrt(s))
  return s, m
end

# here `x` is observed, `s` and `m` are parameters
f1 = gdemo([1.0, 2.0]) # `x` is compulsory

# here data is a dictionary that contains all the observed variables (eg. x, m)
d = Dict(:x => [1.0, 2.0])
f3 = gdemo(data=d) # replace `x` with a `data` dictionary

Here if m is absent, it is treated as a parameter and inferred by the inference engine.

[x] Merge two model macros into one
[x] Remove Turing.TURING and introduce compiler as a keyword argument
[x] Make initialisation of Gibbs sampler standalone #126
[x] Change csym generation mechanism #169
[x] Fix #135
[x] Various bug fixes.

[ ] Gibbs space assertion is broken.
[ ] gibbs_constructor test does not pass.

Looks great! I briefly reviewed the update but I still don't quite understand how the compiler works. Can you explain it to me tomorrow, and I can do one more careful review?

Looks great! I briefly reviewed the update but I still don't quite understand how the compiler works. Can you explain it to me tomorrow, and I can do one more careful review?

Yes let's meet tomorrow and talk about this.

@xukai92  Seems that we need to accumulate logjoint to make autodiff work.

[ ] Fix comment
[ ] Fix #176

@xukai92 I've updated comments for the compiler.

@xukai92 Seems that we need to accumulate logjoint to make autodiff work.

Yeah, I think that's because we previous decided to make calling model() directly can give the gradient information of variables.

@xukai92 I've updated comments for the compiler.

Cool. Let me go over it again and merge the PR.


Strange image pull behaviour on master

It seems that the current master branch isn't allowing me to override the container imagePullpolicy. 1.8.x introduces a new field spec. imageConfig. imagePullPolicy which may not be behaving as intended.
Problem 1: container imagePullPolicy is dropped from the cassDC CR
So I create a cassDC with this:
spec:
  podTemplateSpec:
    spec:
      containers:
        - name: "cassandra"
          image: k8ssandra/mgmtapi-4_0:latest
          imagePullpolicy: IfNotPresent

But when it gets created the field has been dropped:
$kubectl get -o yaml -n cass-operator cassandradatacenters.cassandra.datastax.com dc1

spec:
  podTemplateSpec:
    spec:
      containers:
      - image: k8ssandra/mgmtapi-4_0:latest
        name: cassandra
        resources: {}

(EDIT: this ticket originally talked about a second issue to do with imageConfig - this was user error not a bug).
This is a blocker for #175 as it means I cannot load my locally built management API image using kind load due to the imagePullPolicy reverting to Always during reconciliation of the STS.
┆Issue is synchronized with this Jira Task by Unito
┆Issue Number: K8SSAND-924
┆Priority: Medium

Progress so far in diagnosing this:

I've inserted some logging and I'm seeing 2021-09-24T08:46:39.213Z	INFO	reconciliation_handler	cassContainer is 	{"cassContainer": "&Container{Name:cassandra,Image:k8ssandra/mgmtapi-4_0:latest,Command:[],Args:[],WorkingDir:,Ports:[]ContainerPort{},Env:[]EnvVar{},Resources:ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{},},VolumeMounts:[]VolumeMount{},LivenessProbe:nil,ReadinessProbe:nil,Lifecycle:nil,TerminationMessagePath:,ImagePullPolicy:,SecurityContext:nil,Stdin:false,StdinOnce:false,TTY:false,EnvFrom:[]EnvFromSource{},TerminationMessagePolicy:,VolumeDevices:[]VolumeDevice{},StartupProbe:nil,}"}. (at this line).
This is not quite right as cassDC is set up with:

podTemplateSpec:
    spec:
      containers:
        - name: "cassandra"
          image: k8ssandra/mgmtapi-4_0:latest
          imagePullpolicy: IfNotPresent

I think this field is not coming through into the cassContainer object. I'll investigate further if no one else picks this up.

Ran the same test several times just now. The imagePullpolicy: IfNotPresent field appeared in both the cassDC and in the sts it manages.
I did rewrite the manifest a bit while trying to diagnose. I'm guessing I must have made a typo or something in the original one which has silently failed due to there not being much validation on the CassDC CR. I know that we're thinking about how to fix this in future via an additional config CR (which would then enable the cassDC to be more rigorously validated).
I'm going to close this for now.


PR: Add hungarian auto translation

Description of Changes

[ ] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

Hi @martindurant, I added automatic (google) translation so you could start reviewing the work when you have some time :-)
Thanks!


EQ-14: Add Hello World and healthcheck

What
Adds a simple "Hello World" app and template, along with a healthcheck URL
How to test

Run the server
Visit the root url
Click on the health check url

Who can test
Anybody except @weapdiv-david

LGTM :+1:


Smartadserver Bid Adapter: Added support for Floors module

Here you go #7259. It's already merged and released.

released with 5.8


text/xml/diff view: zoom font size depending on ctrl+mousewheel

Thanks for the PR! I tried it and found 2 problems:

Zooming with a touchpad is much too fast this way, maybe it would be better to respect delta_y (for a mouse wheel tick delta_y is +/-1 for a touchpad scroll event it is something around +/-0.01)
I run into a GTK related crash if I zoom in too much.
I'll look into it.

Yes, sry, I did not test with touch pad – you're right!
Some sensible upper and lower boundaries might be prudent anyway.

It's really strange. This works, but after zooming out too much, you cannot ever zoom back in. (Fortunately that's not true in reverse.) It's totally unclear why the layout/context does never get updated at that point. Maybe just a Gtk bug.
I fiddled with another API option, get_pango_context() instead of get_style_context(), and that does work in a way, and does not suffer from that problem (of snapping into a low resolution). But it only applies to the line numbers, not the actual text content. (Therefore I left this commented.)
But the upper and lower boundary should prevent the crash, and the mouse wheel sensitivity should be honoured now.

218eadf fixes #32

Ok, now it works! The problem was that font.get_size() did not return the exact size it got via font.set_size(), but an int rounded to the next Pango.SCALE tick. The resulting size was too small trigger the next tick for small sizes.

Ok, now it works! The problem was that font.get_size() did not return the exact size it got via font.set_size(), but an int rounded to the next Pango.SCALE tick. The resulting size was too small to trigger the next tick for small sizes.

Wow. That drove me crazy. Should have thought about that possibility!


Alpha Channel Rendering

HI
Thanks for make Nexrender
My composition in Transparent Background,  I need to get the final video in alpha background, is that possible?

You can create an output module preset in After Effects with whatever settings you want and pass it’s name to the “outputModule” property in the Job Template object in Nexrender
https://github.com/inlife/nexrender#details

Like phlexib mentioned:
`
"outputModule": "ProRes 422(HQ)",           //this has to be named like the preset inside Adobe After Effects
"outputExt": "mov"
`

Sorry for off-topic, but: it is so amazing that you guys are helping each other as well. I love our community!  🎉 😄

Like phlexib mentioned:
"outputModule": "ProRes 422(HQ)",           //this has to be named like the preset inside Adobe After Effects
"outputExt": "mov"

Can you please share the full "actions" settings?
I'm not able to get .mov, still giving me mp4 for some reason. My version:
"actions": {
	"postrender": [
		{
			"module": "@nexrender/action-encode",
			"outputModule": "ProRes4444",
			"outputExt": "mov",
			"output": "encoded.mov"
		},
		{
			"module": "@nexrender/action-copy",
			"input": "encoded.mov",
			"output": "E:\\output.mov"
		}
	]
}


Use doc_auto_cfg feature instead of ad-hoc #[doc] comments.

docs.rs uses the nightly compiler, allowing to enable the doc_auto_cfg,
which automatically documents the features required for each documented
item.
Before:
$ du -sh crates/libs/{sys,windows}
32M	crates/libs/sys
178M	crates/libs/windows
After:
$ du -sh crates/libs/{sys,windows}
21M	crates/libs/sys
164M	crates/libs/windows
While here, add the missing all-features setting for docs.rs for the
windows crate.

Waw, peak rustdoc memory usage for the windows crate is 11.5G... (and a very large runtime)

If the final render seen on docs.rs is exactly equivalent before and after this change, then I think it's obvious to accept this change, but I doubt that's the case. Can you take a look at the output when running cargo doc and summarize the differences?

Before:

After:

The main difference is the "Required features" not being shown on each item in the module, but that's because they are the same as the one listed for the module. In a module where extra features are required, they're shown:

I'd argue the new output is better.

This looks worse in every way possible. It's a distracting color, verbose due to conjunction (and) use, and can't be cut/pasted into a Cargo.toml.

It's also what's used in the rust ecosystem: https://docs.rs/tokio/1.20.1/tokio/macro.join.html

Can those issues be resolved?

Issues can be filed against rustdoc.

Will leave this open until Kenny returns but it's not likely to get merged in. Would recommend holding on any further commits.

Thanks for the contribution! Sorry I've been away for a few weeks. In future, please open an issue before creating a PR. We have discussed this before at length. The rustdoc feature support is very limited in many ways and lacks the support we need to provide high-quality feature documentation. While I would also prefer to use the built-in support, the rustdoc team hasn't made any progress on the various issues we encountered so I'm unlikely to revert the custom doc generation. I can try to dig up the old issues where this was discussed if you'd like to discuss this further.


prepared v1.14.0 release

What type of PR is this?
release
What this PR does / why we need it?
release v1.14.0
Which Jira/Github issue(s) this PR fixes?
Fixes #
Special notes for your reviewer:
Pre-checks (if applicable):

[ ] Tested latest changes against a cluster
[ ] Ran make test-unit command locally to run all the unit tests and mock tests locally.
[ ] Included documentation changes with PR
[ ] Squashed your commits

/retest


Request for example custom ssh agent integration

Background
Everything should be fundamentally controllable and replaceable, and it is not.
Implementation
An example of an integration with another ssh agent can be found here:

https://github.com/nardeas/ssh-agent

Warning: The following configuration is for an uncommitted version of the master branch associated to issue #161 - it will not work yet, and this page will be updated accordingly.
Also note that amazeeio/ssh-agent comes with Windows support unlike probably most similar solutions - this one does not and will not work on windows without extra effort.
services:
  unofficial-ssh-agent:
    Config:
      Cmd:
        - ssh-agent
      Env:
        - "SSH_AUTH_SOCK=/.ssh-agent/socket"
      Image: nardeas/ssh-agent
      Labels:
        - pygmy.name: unofficial-ssh-agent
        - pygmy.enable: true
        - pygmy.output: false
        - pygmy.purpose: sshagent
        - pygmy.weight:  30
    HostConfig:
      AutoRemove: false
      IpcMode: private
      RestartPolicy:
        Name: always
        MaximumRetryCount: 0

  unofficial-ssh-agent-add-key:
    Config:
      Image: nardeas/ssh-agent
      Labels:
        - pygmy.name: unofficial-ssh-agent-add-key
        - pygmy.enable: true
        - pygmy.discrete: true
        - pygmy.output:  true
        - pygmy.purpose: addkeys
        - pygmy.weight: 31
    HostConfig:
      AutoRemove: false
      IpcMode: private
      VolumesFrom:
        - unofficial-ssh-agent

  unofficial-ssh-agent-show-keys:
    Config:
      Cmd:
        - ssh-add
        - -l
      Image: nardeas/ssh-agent
      Labels:
        - pygmy.name: unofficial-ssh-agent-show-keys
        - pygmy.enable: true
        - pygmy.discrete: true
        - pygmy.output: true
        - pygmy.purpose: showkeys
        - pygmy.weight: 32
    HostConfig:
      AutoRemove: false
      VolumesFrom:
        - unofficial-ssh-agent


polling torn not detected

How to reproduce:
my bot initializing:
const Agent = require('socks5-https-client/lib/Agent')
const TelegramBot = require('node-telegram-bot-api')

bot = new TelegramBot(config.tg.token, {
	polling: true,
	request: {
		agentClass: Agent,
		agentOptions: config.connection.proxy, // it works normal
	},
});

detect bug
let lastUpdate = bot._polling._lastUpdate
setInterval(() => {
	if (lastUpdate === bot._polling._lastUpdate) {
                // watch bot don't detects web torn
		console.error(`polling stopped, last update: ${lastUpdate}`)
		process.exit(1)
	}
	lastUpdate = bot._polling._lastUpdate
}, 25000)

wait for  telegramPolling._getUpdates executed, but _polling: ._getUpdates() .then (telegramPolling:103)  don't
torn web connection
watch bot don't detects it

any updates on this issue?
My bot stop polling after some hours or days, its random, it returns isPolling() as true though.

Sorry, I'm not developing a bot anymore. It may be worth closing the issue.

any updates on this issue?
My bot stop polling after some hours or days, its random, it returns isPolling() as true though.


CUDA not used

Hi,
great works, flawless integration with Go.
I was trying to move inference on CUDA device. This is the code used to initialize the runtime:
func InitYolo8Session(input []float32) (ModelSession, error) {
	lib := getSharedLibPath()
	log.Printf("Loading ONNX runtime %s\n", lib)

	ort.SetSharedLibraryPath(lib)
	err := ort.InitializeEnvironment()
	if err != nil {
		return ModelSession{}, err
	}

	inputShape := ort.NewShape(1, 3, 640, 640)
	inputTensor, err := ort.NewTensor(inputShape, input)
	if err != nil {
		return ModelSession{}, err
	}

	outputShape := ort.NewShape(1, int64(len(yolo_classes)+4), 8400)
	outputTensor, err := ort.NewEmptyTensor[float32](outputShape)
	if err != nil {
		return ModelSession{}, err
	}

	options, e := ort.NewSessionOptions()
	if e != nil {
		return ModelSession{}, err
	}

	if UseCoreML { // If CoreML is enabled, append the CoreML execution provider
		e = options.AppendExecutionProviderCoreML(0)
		if e != nil {
			options.Destroy()
			return ModelSession{}, err
		}
		defer options.Destroy()
	}

	if UseCUDA { // If CUDA is enabled, append the CUDA execution provider
		cudaOptions, err := ort.NewCUDAProviderOptions()
		if err != nil {
			return ModelSession{}, err
		}
		defer cudaOptions.Destroy()

		err = cudaOptions.Update(map[string]string{"device_id": "0"})
		if err != nil {
			return ModelSession{}, err
		}

		e = options.AppendExecutionProviderCUDA(cudaOptions)
		if e != nil {
			options.Destroy()
			return ModelSession{}, err
		}
		defer options.Destroy()
	}

	session, err := ort.NewAdvancedSession(
		ModelPath,
		[]string{"images"},
		[]string{"output0"},
		[]ort.ArbitraryTensor{inputTensor},
		[]ort.ArbitraryTensor{outputTensor},
		options,
	)

	if err != nil {
		return ModelSession{}, err
	}

	modelSes := ModelSession{
		Session: session,
		Input:   inputTensor,
		Output:  outputTensor,
	}

	log.Printf("ONNX runtime (%s) initialized [%v]", ort.GetVersion(), ort.IsInitialized())
	return modelSes, err
}

The library is the latest runtime (1.19.2) from official repo, the GPU variant.
Inference is working but with similar time of CPU, the output from nvidia-smi is this:
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.08             Driver Version: 535.161.08   CUDA Version: 12.6     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                       On  | 00000000:00:1E.0 Off |                    0 |
| N/A   36C    P0              32W /  70W |   1841MiB / 15360MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

I would expect any of the initialization functions to return an error if CUDA was not actually initialized correctly... odd.  Have you verified that the library runs correctly by running go test -v -bench=. from its source directory?  You'd need to set the ONNXRUNTIME_SHARED_LIBRARY_PATH environment variable to point to your GPU-enabled copy of onnxruntime.so in order to run the test, but this should give you good information on whether CUDA is enabled and working properly.  (You'd specifically want to look at the output for the BenchmarkCUDASession output, and make sure it's faster than the BenchmarkOpMultiThreaded output.)
Depending on the size of the yolov8 network, it's possible that it's just not large enough to see a significant benefit from CUDA, especially with CUDA's higher overheads.  However, it's puzzling that nvidia-smi isn't showing anything.  I've seen the current version of onnxruntime_go interact correctly with CUDA on several different systems, so I wonder if you're somehow just loading a wrong copy of the library?  Let me know if the tests pass.
And sorry for the slow update, I haven't had much time to look at this project recently.

Hi. sorry for late reply. I managed to use CUDA upgrading bindings and library to latest versions. Inference time is about 10ms on a AWS Tesla T4 but from nvidia-smi there are no GPU bound processes.
If I disable CUDA provider, same hardware, I got 120ms inference time so I suppose it is using GPU but no evidence.

Great, I'm glad you got it working!  Odd about nvidia-smi, but it doesn't sound like an issue with these bindings, at least.


When a Study is created send a message to the iot-adapter with the study sReadSSI

On the iot-adapter part, mount the study.

completed


[docs] Doc changes in support for embeddings

Notes for reviewers:

@atarashansky please review notebooks you authored. I simplified the code of the bio explorations, fixed some issues, and did some small editorial changes, please review it thoroughly and make sure findings still hold.
@atarashansky please correct leiden error on scvi prediction notebook.
@bkmartinjr please review technical clarity of the notebook you authored, I did major organizational changes.
@bkmartinjr please review technical clarity of the notebooks:
5. api/python/notebooks/analysis_demo/comp_bio_geneformer_prediction.ipynb @mlin please review this one as well.
6. api/python/notebooks/api_demo/census_access_maintained_embeddings.ipynb
@mlin please review the R changes and

All of you please review:

docs/cellxgene_census_docsite_landing.md
docs/examples.rst

Preview of Python tutorials updated section

@bkmartinjr

Noted:

Notebooks document which tiledbsoma version they require, but not which cellxgene-census version they require.  Recommend simply saying "cellxgene-census package version 1.9.1 or later", as that covers both the metadata tag name change and tiledbsoma.

Done

census_embedding.ipynb should document behavior of get_embedding when there is no embedding for a cell (ie. it inserts NaN)

Done

census_access_maintained_embeddings does not document what happens with missing embeddings. Or how to get the same behavior as get_embedding (NaN for missing).  I suspect the code currently puts zero into missing embeddings which may be confusing.

Not going to add notes since there are no missing values for those embeddings.

Very minor stuff:

I would name the embedding notebooks with a consistent scheme so they are easier to identify. E.g., census_embedding_....ipynb

We have committed these names for the webpage, I don't want to request change to Seve on that for now since his plate is pretty full

It wouldn't hurt to add a reminder about using the python help() function to see docstrings, e.g., help(get_embedding)

Done

The census_access_maintained_embeddings notebook notes that there is partial support for mouse, but the census_embedding_access notebook does not do the same.  Both should probably make a general statement like "embeddings may be available for one or both organisms - see the Models web page for the latest availability"

Done


Load credentials from file

Add support for a credentials file, so the user doesn't have to keep typing the subdomain and email.
The credentials file should be in ~/.emojipacks.yaml. If the file is not there, fall back to prompt the user.

@xFlatlinex sorry it's been a long time, but if you can resolve conflicts, I'd love to merge this.

Hey there @xFlatlinex  , I'm closing this PR for now but feel free to open it back up later on if you'd like if it's still relevant!


NoAck Consumers get socket closed by rabbitmq due to lack of heartbeat

Versions:
rabbitpy    0.27.1
RabbitMQ    3.2.4. on ubuntu 14.04.4
The failure was caused by a connection with only consumers (without an ACK).
This resulted in no back traffic from the consumer to rabbitmq.  After the
the timeout period, rabbitmq closed the socket and the consumer died.
Note: As a prior workaround, the connection was created with a timeout of 0
which should have turned off the timeout.  rabbitmq appeared not to honor
this as the timeout was listed as 520 seconds.
The fix was to a single rabbitpy file: channel0.py.  It was altered to
construct and send a heartbeat message back to rabbitmq on the timeout
interval.
The production GitHub repo of rabbitpy 0.27.1 (https://github.com/gmr/rabbitpy)
was forked to:
(https://github.com/tom-railpod/rabbitpy)
and the changes were made to a single file (channel0.py)
The only enhancement I might suggest is to only send the heartbeat
if there is no data has been recently sent back to rabbitmq.  I
was under production delivery pressure so could not adequately
pursue this.  On brief examination, I didn't find a "num_of_bytes_sent"
counter and didn't really have a way to test it. There is probably
no performance issue with the code as is.
I've generated a pull request

Funny story, I spent hours finding out this exact same problem in another Python library and came to that conclusion today also. I can confirm that RabbitMQ 3.6.0 & 3.6.1 exhibit this behavior and this sort of patch seems necessary, though I have not use this library.

I think the solution based on an irc conversation would be to send heartbeats from the client if no data has been sent or received within n/2 of the interval.

I concur. I just interacted with your library in a way that had
unintended consequences. Maybe I was using the wrong connection for the
heartbeat?
On 6/23/2016 11:17 AM, Erik Olof Gunnar Andersson wrote:

I think the solution based on an irc conversation would be to send
heartbeats from the client if no data has been sent or received within
n/2 of the interval.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gmr/rabbitpy/issues/98#issuecomment-228083956, or
mute the thread
https://github.com/notifications/unsubscribe/ATKoWZaPaNT3BBA6nOMif-ZWyBup7Kfqks5qOqOhgaJpZM4I7_sQ.

"send heartbeats from the client if no data has been sent or received within n/2 of the interval."
That wouldn't work on the case that failed.  There was tons of data coming FROM rabbitmq to the rabbitpy consumer but it was unack'ed.  There was just no data going BACK from rabbitpy queue to rabbitmq.
I actually looked (unsuccessfully) for a rabbitmq spec on the heartbeat.  If it is as you suggested, then rabbitmq is buggy.  I think the right answer is what I mentioned in initial post, i.e. send heartbeat back to rabbitmq if no data has been sent BACK in n/2 of the interval.
"I just interacted with your library in a way that had
unintended consequences"  What were the consequences?  The only thing I was really worried about was an infinite round-robin echoing of heartbeats as there is code in rabbitpy which echos a heartbeat if if gets one.

Sorry about talking about interacting with a library, thought this was a
different source. I was talking about amqp-storm with the unintended
consequences.
If you note, the RabbitMQ documentation says that the 'official'-ish
.Net and Java clients send heartbeats every interval/2 seconds, which is
another strong argument in favor of that behavior.
https://www.rabbitmq.com/heartbeats.html
On 6/23/2016 1:35 PM, tom campbell wrote:

"send heartbeats from the client if no data has been sent or received
within n/2 of the interval."
That wouldn't work on the case that failed. There was tons of data
coming FROM rabbitmq to the rabbitpy consumer but it was unack'ed.
There was just no data going BACK from rabbitpy queue to rabbitmq.
I actually looked (unsuccessfully) for a rabbitmq spec on the
heartbeat. If it is as you suggested, then rabbitmq is buggy. I think
the right answer is what I mentioned in initial post, i.e. send
heartbeat back to rabbitmq if no data has been sent BACK in n/2 of the
interval.
"I just interacted with your library in a way that had
unintended consequences" What were the consequences? The only thing I
was really worried about was an infinite round-robin echoing of
heartbeats as there is code in rabbitpy which echos a heartbeat if if
gets one.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gmr/rabbitpy/issues/98#issuecomment-228124120, or
mute the thread
https://github.com/notifications/unsubscribe/ATKoWQQIkTlPSAxHX4s3aNtUxj8xCBAVks5qOsPfgaJpZM4I7_sQ.

This is addressed in 1.0


PHOENIX-6052 Include syscat time in mutation time

@virajjasani @tkhurana a draft PR for  the fix.

@mnpoonia would it make sense to introduce a separate metric to track the syscat time ? By clubbing the two metrics in one we will not know where we are spending time.

@tkhurana i think it  is upto us. Ultimately we care about how much time one mutation took. Now if we want  to divide it in syscat and then htable.batch it is perfectly fine but not sure if we want to introduce a new metric.
As per the discussion in JIRA https://issues.apache.org/jira/browse/PHOENIX-6052 It looked like we are not in favor  of new metric so i went ahead with this approach.
@virajjasani and @shahrs87 what do you guys think?

@tkhurana do you mind if we include syscat time in the mutation commit time in this jira and create a seperate jira to track syscat time seperately as well.

create a seperate jira to track syscat time seperately as well

I think this should be good. Thoughts @gjacoby126 @tkhurana?

@mnpoonia You have changed the scope of this metric. Let us say you are batching 1000 upserts. Phoenix internally in the sendMutations function groups them into sub batches of by default 100 and then calls htable.batch() on that sub batch. Earlier the metric was capturing the time taken by each individual sub-batch. Now the metric is capturing the time across all sub-batches.  I am not sure if this is intended.

@tkhurana Thanks for pointing that out. I completely missed that part. Have reverted to old behaviour of mini batch mutation time. Also created a new metric for syscat time.
Will need your and @virajjasani  help in getting it to closure. Thanks in advance

@virajjasani @tkhurana I have addressed most of the review comments. Please have a look now.

@virajjasani I have removed all the whitespace and indentation changes. Please review now.
@tkhurana FYI

PR for 5.1 branch
https://github.com/apache/phoenix/pull/1557


Strange exception when opening a file with drag'n'drop

Original report by me.

Strange Exception (once)
Open the tool in adb mode with device connected
Drag and drop some log file to it.
2012-04-05 19:55:04,072 [main] INFO  org.bitbucket.mlopatkin.android.logviewer.Main - Android Log Viewer 0.17.4
2012-04-05 19:55:06,776 [ADB-polling-RADIO] ERROR org.bitbucket.mlopatkin.android.liblogcat.LogRecordStream - Unexpected IO exception
java.io.IOException: Pipe closed
	at java.io.PipedInputStream.read(Unknown Source)
	at java.io.PipedInputStream.read(Unknown Source)
	at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
	at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
	at sun.nio.cs.StreamDecoder.read(Unknown Source)
	at java.io.InputStreamReader.read(Unknown Source)
	at java.io.BufferedReader.fill(Unknown Source)
	at java.io.BufferedReader.readLine(Unknown Source)
	at java.io.BufferedReader.readLine(Unknown Source)
	at org.bitbucket.mlopatkin.android.liblogcat.LogRecordStream.next(LogRecordStream.java:53)
	at org.bitbucket.mlopatkin.android.liblogcat.ddmlib.AdbBuffer$PollingThread.run(AdbBuffer.java:71)
2012-04-05 19:55:06,791 [AWT-EventQueue-0] ERROR org.bitbucket.mlopatkin.android.logviewer.Main - Uncaught exception in AWT-EventQueue-0
java.lang.NullPointerException
	at javax.swing.JComponent.scrollRectToVisible(Unknown Source)
	at org.bitbucket.mlopatkin.android.logviewer.ListScrollController.performScrollToTheEnd(ListScrollController.java:56)
	at org.bitbucket.mlopatkin.android.logviewer.AutoScrollController$1.run(AutoScrollController.java:67)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

It's been a while since I saw this one. Please file a new issue or comment here if the problem keeps happening.


ansible-avd should honor VEOS-LAB platform (not) capabilities

Enhancement summary
Only render CLI commands (or YAML syntax in the structured configuration part) that are allowed on the target platform.
Which component of AVD is impacted
eos_designs
Use case example
We have a 1:1 replication of our physical network in an EVE-NG environment running VEOS-LAB switches. We constantly use this lab to see hop upgrading EOS or CVP behaves before moving onto production.
While upgrading to CVP 2021.2.0 and VEOS-LAB 4.26.2F I noticed that it is no longer possible to configure the storm-control settings on an interface (it's useless in a lab anyway but we wan't to check that our generated configuration is correct).
What happened? I can no longer deploy our configuration to VEOS-LAB as storm-control is no longer supported (this was also the case with ACL and queue monitor in 4.25.4M).
Describe the solution you would like
With the platform type beeing available in ansible-avd l3ls design this key/value pair should be honored when rendering the structured configuration.
If a vEOS lab system is detected - the keys should not be embedded into the configuration when processing https://github.com/aristanetworks/ansible-avd/blob/790d69febb52b10ffe32968f413aa7f682ba8338/ansible_collections/arista/avd/roles/eos_designs/templates/connected_endpoints/ethernet-interfaces.j2#L102-L111 - an additional if-expression could check for vEOS-LAB devices
Describe alternatives you have considered
Splitting the port profiles into multiple files for QA and PROD seems to be the wrong approach as we managed to single-source 98% of our codebase.
Additional context
No response
Contributing Guide

[X] I agree to follow this project's Code of Conduct

@mpergament

Last time we implemented a feature knob under platform_settings:
platform_settings:
  - platforms: [ < Arista Platform Family >, < Arista Platform Family > ]
    feature_support:
      queue_monitor_length_notify: < true | false | default -> true >

I believe this worked well for the use case, so I suggest that we add other knobs like this for the concerned features. Please help produce a list of features we need to limit. Then we can find out who can work on each.

Hi @ClausHolbechArista,
that would work out for me, too. Those are the features we are using but found out they are not (or no longer) available in vEOS-LEAB:

Interface based ACLs, YAML keys in eos_cli_config_gen: access_group_in , access_group_out, ipv6_access_group_in, ipv6_access_group_out
storm_control

If this is the way to go I can try to implement something for:
platform_settings:
  - platforms: [ < Arista Platform Family >, < Arista Platform Family > ]
    feature_support:
      interface_storm_control: < true | false | default -> true >

That would be great.


Desugaring for ApplyImportDynamic nodes captures variables too aggressively

Given:
var i: int = 0
while (i != 5) {
  val s: string = i.toString()
  js.dynamicImport {
    heavy(s)
  }
  i += 1
}

Compiles to:
$c_Lhelloworld_HelloWorld$.prototype.main__AT__V = (function(args) {
  var i = 0;
  while ((i !== 5)) {
    var this$1 = i;
    var s = ("" + this$1);
    import("./helloworld.HelloWorld$$anon$1.js").then((($$module) => $$module.$s_Lhelloworld_HelloWorld$$anon$1__dynamicImport$__T__O(s)));
    i = ((1 + i) | 0)
  }
});

Which is wrong.
Originally posted by @gzm0 in https://github.com/scala-js/scala-js/issues/4384#issuecomment-762952981

Investigating whether 1.4.0 is affected by this (but I think so).

Investigating whether 1.4.0 is affected by this (but I think so).

I can confirm that on 1.4.0, the above snippet prints 5 times 4 instead of 0 to 4.

I can confirm that on 1.4.0, the above snippet prints 5 times 4 instead of 0 to 4.


Command line flag to exit without error if recipe not found

In some cases it's helpful to run just so that it silently exists with code 0 if requested recipe is not found.  Possible usecase: running same recipe in multiple directories (e.g. with GNU parallel) when in some of them the recipe is not defined, in which case we just want to skip the dir.
It is currently possible to do with NPM scripts, for example npm run --ws --if-present <script> will run script in every workspace where script is defined.

This seems perfectly reasonable to me! Marking as good first issue in case anyone wants to take a crack at it.

i want to try


Align labels with upstream

This PR:

align chart template
Rename labels.common and remove old labels.selector
Align external-dns.labels to upstream and define selectorLabels template
Include external-dns.labels and selectorLabels in templates

https://github.com/giantswarm/giantswarm/issues/25032

Checklist

[ ] Added a CHANGELOG entry

Testing
The instance of external-dns installed as part of Giant Swarm platform releases watches services in the kube-system namespace with annotations giantswarm.io/external-dns=managed and external-dns.alpha.kubernetes.io/hostname matching the clusters base domain. (You can find this in the deployments args --domain-filter value)
You can take this example Service, apply it to your cluster. Change the external-dns.alpha.kubernetes.io/hostname annotation to match your clusters base domain.
then:

Check external-dns logs for lines like Desired change: CREATE test.your.configured.domain.gigantic.io CNAME
Try to resolve the domain (https://www.dnstester.net/)

apiVersion: v1
kind: Service
metadata:
  annotations:
    external-dns.alpha.kubernetes.io/hostname: test.your.configured.domain.gigantic.io
    external-dns.alpha.kubernetes.io/ttl: "60"
    giantswarm.io/external-dns: managed
  name: test-external-dns
  namespace: kube-system
spec:
  type: ExternalName
  externalName: www.giantswarm.io

For testing upgrades:

Create the service and check for creation
Upgrade
Delete the service and check for deletion

Default app on AWS releases

[ ] Fresh install works
[ ] Upgrade works

Default app on Azure releases

[ ] Fresh install works
[ ] Upgrade works

Optional app (KVM)

[ ] Fresh install works
[ ] Upgrade works

Basically fine, but please double check the change in selector labels. They should still match the pods of the old deployment so old pods get deleted on update.

oh silly me, you are right. let me test the upgrade workflow

As far as I can see it should work since the new selector labels are also existing in the old deployment, so this is just a hint! :)

ok, I need more coffee. That was my initial early in the morning :)
Anyways, I'm going to test the upgrade path one more time just in case.

I had to rollback the selector change to the old selector. Selectors are immutable, so upgrade path is bumpy.


BoxSpawner causes stuttering after spawning a lot of boxes over time

The stuttering is at the same interval the boxes are spawned. When the spawner is disabled, even with a lot of boxes in the scene, the stuttering goes away.

I believe this is related to setting the owner of the box, since when it is commented out the issue goes away.

Fixed by: https://github.com/godotengine/godot/commit/08508d2e01567446ef7cf721b39041a51e2eddfd


Further improvements to InfluxQL vs Flux page

The InfluxQL vs. Flux page (https://docs.influxdata.com/flux/v0.50/introduction/flux-vs-influxql/) has a lot of great information. However, it'd be great if we made additional improvements to it. Here are some specific requests:
#1:
In the section InfluxQL and Flux parity, link each InfluxQL keyword to its doc page. For instance, SLIMIT currently has no equivalent in Flux. It's not immediately apparent to me what SLIMIT is, nor how it's different from LIMIT. Why not link to the SLIMIT page: https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/#the-limit-and-slimit-clauses, so that I don't need to spend time googling for it?
#2:
Fully flesh out the table for InfluxQL and Flux parity. For instance, both InfluxQL and Flux have a Holt-Winters function (https://docs.influxdata.com/influxdb/v1.7/query_language/functions/#holt-winters, https://docs.influxdata.com/flux/v0.50/stdlib/built-in/transformations/aggregates/holtwinters/#sidebar), but it's not listed on the InfluxQL vs. Flux page.
#3:
List out functions that are in Flux but don't have an equivalent in InfluxQL. The InfluxQL vs. Flux page only lists functions that are in InfluxQL (and maybe Flux). People should be able to find out what new capabilities they are getting in Flux.
#4:
Provide complete examples of InfluxQL queries, and equivalent Flux statements, similar to what MongoDB does in their Examples section on this page:
https://docs.mongodb.com/manual/reference/sql-comparison/
For example, MongoDB shows that this SQL:
CREATE TABLE people (
    id MEDIUMINT NOT NULL
        AUTO_INCREMENT,
    user_id Varchar(30),
    age Number,
    status char(1),
    PRIMARY KEY (id)
)

is equivalent to this JSON:
db.people.insertOne( {
    user_id: "abc123",
    age: 55,
    status: "A"
 } )

One thing I'd like to point out is the significant number of SQL examples on this page: 34 code samples. This gives the reader a rich set of examples to try out. I believe a similar number of examples would serve us well.
Yes, this page has examples of Flux code. But not a MAPPING of one InfluxQL statement to its equivalent Flux statement. That's what the MongoDB page does, and what we need.

All this means that this is a big project. But it's very important to have a page that completely and authoritatively answers the similarities and differences of the two languages. Right now we don't have that, and that hurts customers that are trying to plan their 1.x to 2.0 migration.
Relevant URLs
https://docs.influxdata.com/flux/v0.50/introduction/flux-vs-influxql/

#3 is too long to document and continues to grow...rapidly.  I would skip this.  I think I would call out the key things which are different: join(), windowing by calendar month/year, string parsing, etc.


cube projections (fixel)

#32

@stan-donarise whoops, it seems I merged too early. It does not work yet.


Support for variant / semi-structured / JSON columns

Snowflake supports a column type called variant, which supports JSON and other JSON-like semi-structured data. One syntax to be able to index a variant column is by using the colon character, what the Snowflake documentation calls dot notation, per docs here.
As far as I can tell, there is no current support for this notation. If, in a where, I try to specify a field as this dot notation, e.g. foo:bar, then the query compiler mistakenly tries to quote this as "foo:bar", when the correct quotation is supposed to be "foo":"bar". This results in an error.
I've found that Knex supports a custom wrapIdentifier, per docs here. This is definitely one possible work-around. As far as I can tell, knex-snowflake-dialect already supplies its own wrapIdentifier implementation, but it doesn't support dot notation. Hence, the above issue.
I'm working on seeing if I can get a work-around to work locally. Perhaps, however, this should be integrated into the library.
Let me know your thoughts. Thanks.

Thanks again for your input @mingp. Our knex Snowflake queries have been simple thus far, and so it would not surprise me if variant dot notation is not supported. Will appreciate if you can add a unit test and fix for it. 👍
The wrapIdentifier override may be the way to go.

My current work-around, using wrapIdentifier, is as follows.
        const wrapIdentifier = (
            value: string,
            _origImpl: (value: string) => string,
            _queryContext: any,
        ): string => {
            if (value === '*') {
                return value;
            }
            const maybeMatchColonSyntax = /([A-Za-z0-9_]+):([A-Za-z0-9_]+)/.exec(value);
            if (maybeMatchColonSyntax) {
                return `"${maybeMatchColonSyntax[1]}":"${maybeMatchColonSyntax[2]}"`;
            }
            return `"${value}"`;
        };

This seems to work correctly for all the queries I am using, but I doubt it is general-case correct or covers all corner cases.