blood_types: Add more test cases where no donors are available

More tests for blood types (#42) so we cover more cases where the result should be False.
Also raise a clearer error in case the test case enum is not recognized (this should probably be used in other tests too, but that can be a separate PR).

Nice! Yeah kind of concerning when submitting the code stub passes 7/8 or something lol.
I noticed you have strong opinions about single vs. double quotes! I was a fan of using double quotes for everything except single characters (C style I guess) until I read about people using double quotes for natural language strings and single quotes for symbol type strings, keys, etc. so I've been sticking with that.
I don't have any strong opinions either way.

Oh yeah, sorry I forgot to mention about the formatting: those were automatically switched by the formatter I use, black. I turned off the line length limit so it didn't change most of the code, but I forgot about the quotes! I used to do exactly the same as you, but black prefers to change all the quotes to the same style.
Do you already have a style file with the options you use? Or maybe that can be exported from PyCharm somehow. If we put those options into a style file (e.g. pyproject.toml) then we can commit it to the repo and everyone's editors can use the same settings.

Oh awesome, did not know about black. Indeed might be a good idea to use it!
I'm not picky about quotes, but do favor " to match C which uses ' for single characters, so we can go with your formatting.


Extend the m365 output

Installed m365 and then what 🤔?
The aim of this issue is to extend the output when running m365 with additional guidance for the user on how to get started and what to do next.
What to do?
Add new guidance section
In the following place

we should add a new section Get started with 2 new points:
Get started:

1. Sign in to your tenant:
m365 login

2. Get list of all sites in your tenant
m365 spo site list

(for now lets not do that and level it out of this issue)

Add some UI

This is the creative part 🤩. At the top of the output we should add an ASCII art banner. We need to understand what will fit the screen. Should it be the CLI logo or the full name "CLI for Microsoft 365" or maybe just "CLI for M365".
example

How about something like:

╭━┳╮╭━━╮╭━╮╱╱╱╱╭━┳━┳╮╱╱╱╱╱╭━╮╱╭━┳╮╱╭━━━┳━━━┳━━━╮
┃╭┫┃╰┃┃╯┃━╋━┳┳╮┃┃┃┃┣╋━┳┳┳━┫━╋━┫━┫╰╮┃╭━╮┃╭━━┫╭━━╯
┃╰┫╰┳┃┃╮┃╭┫╋┃╭╯┃┃┃┃┃┃━┫╭┫╋┣━┃╋┃╭┫╭┫╰╯╭╯┃╰━━┫╰━━╮
╰━┻━┻━━╯╰╯╰━┻╯╱╰┻━┻┻┻━┻╯╰━┻━┻━┻╯╰━╯╭╮╰╮┃╭━╮┣━━╮┃
╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╰━╯┃╰━╯┣━━╯┃

How about something like:

╭━┳╮╭━━╮╭━╮╱╱╱╱╭━┳━┳╮╱╱╱╱╱╭━╮╱╭━┳╮╱╭━━━┳━━━┳━━━╮
┃╭┫┃╰┃┃╯┃━╋━┳┳╮┃┃┃┃┣╋━┳┳┳━┫━╋━┫━┫╰╮┃╭━╮┃╭━━┫╭━━╯
┃╰┫╰┳┃┃╮┃╭┫╋┃╭╯┃┃┃┃┃┃━┫╭┫╋┣━┃╋┃╭┫╭┫╰╯╭╯┃╰━━┫╰━━╮
╰━┻━┻━━╯╰╯╰━┻╯╱╰┻━┻┻┻━┻╯╰━┻━┻━┻╯╰━╯╭╮╰╮┃╭━╮┣━━╮┃
╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╰━╯┃╰━╯┣━━╯┃

eee 😯. nope 😅
But lets keep the ideas coming 👍
@pnp/cli-for-microsoft-365-maintainers anyone else is up for some creative ASCIIfy work 👍

If it helps, you can try some ideas with this tool: https://manytools.org/hacker-tools/ascii-banner/

Let's maybe revisit this one.@pnp/cli-for-microsoft-365-maintainers let's forget for now the ASCII art. Unless someone has some suggestions? And let's focus only on the additional section what the user may do?
Maybe besides suggesting to login the second thing we could suggest is now running the new setup command? What do you think?

Pardon me for not coming to the discussion party earlier.
I think the m365 setup commands as the next step will definitely set the CLI settings for the way how the user is intended to use it for. So that is good to be given as first step.
Question on the auth part though. There was discussion on 4216  giving guidance on how to setup various auth types. So when we give login as a second step here, would be showing the details on how the various auth is available for CLI. Or would we just be invoking the default login via Device Code.

Since this command would be likely used in interactive mode, I suggest that we go with m365 login.

Since this command would be likely used in interactive mode

I had the same thought so m365 login would be a good start

ok agreed then. we should extend the m365 output with an additional get started section which will advice the m365 setup and m365 login command 👍


Unreal Engine 5 Roadmap?

I sthere plans for realeasing an UnrealENgine 5 Version?
Thanks

I wonder if they changed anything in their Chaos vehicle simulation https://docs.unrealengine.com/5.0/en-US/how-to-convert-physx-vehicles-to-chaos-in-unreal-engine/

Still looking for a road map for UE5. It is quite important for us.
Thank you

Is there any news on the transition to UE5?
I am currently having issues with running UE4 and Carla on ubuntu 20.04 with RX 7900 XT drivers installed.
It seems that I can easily install drivers on new linux distros with linux kernel 6.1.x, but then run into issues with installing the right packages to build carla, which makes sense if 18.04 and 20.04 are the supported versions, maybe it is just support needs adding for ubuntu 22.04 and newer linux kernels.
Does anybody have any thoughts?

Well this just showed up... Lots of work to be done to migrate from PhysX to Chaos, but it looks like it's underway?
https://github.com/carla-simulator/carla/compare/dev...marcel/5.1.1-merge

Any news about magrating to UE5 ???
I see that this branch from the posts above marcel/5.1.1-merge is in active development

@MarcelPiNacy Hi Marcel, how are you doing?
I love seeing the progress towards supporting UE5 on your fork, is there anything we can do to help/support?
would you be able to start a "project" or create an checklist for the issues?
it seems the community are very eager for this and I would be happy to support, as I am sure several others would too!
Thank you kindly

Any updates on the roadmap?

no news as of yet, we've been informed it is progressing, but it appears to be a long way off still, no indications are being made about timings.
There is a relevant fork (https://github.com/carla-simulator/carla/compare/dev...marcel/5.2-merge) however I have tried to build this myself to see where progress is and what next steps might be but i run into several errors, which are difficult to overcome as the documentation and comments aren't updated, such as the docker files suggesting to use ubuntu 18.04.
appropriate Make versions being difficult to find, python and package incompatibilities, against compiler versions.
while this is an open source project, there isn't much in the way of project management to support the co-ordination of community members providing support to the core team

Hello! We are happy to announce that we are working on it! We have tons of work to do with a new build system and the transtition to Chaos Physics.
You can use ue5-dev branch as base for your development
The new build instructions:
https://docs.google.com/document/d/1aWcoJr-9z_wE6S442UhzC32jUGmN1o42REE7C-4aGYA/edit#heading=h.aodjovbjivi6


Added Figma bootstrap 5 UI kit & Sketch bootstrap 5 UI Kit

Free Figma Bootstrap 5 UI Kit
Figma Bootstrap UI Kit comprising 300+ organized Bootstrap 5 components built with atomic design system & auto layout. Kick start your next Figma project Just drag and drop pre-made components from the Assets panel. Configure them in the right sidebar. Fast and simple, as should be.
It is a comprehensive and easy-to-use Figma Library with organized components & atoms. It includes Bootstrap’s colors, grids, and typography so that you can easily customize it to fit your brand or product.
Features:

Design and Dev Consistency 👨💻
Effortless Resizing 😱
Design with autolayout😍
300+ Organized Components 🛠
Easy to customize

Download Figma: https://themeselection.com/products/free-figma-bootstrap-ui-kit/
Demo: https://www.youtube.com/watch?v=r6xTC0_O5cE&t=1s-
Free Sketch Bootstrap 5 UI Kit
Sketch Bootstrap UI Kit comprising 300+ organized Bootstrap 5 components built with atomic design system & smart layout. Kick start your next Sketch project Just drag and drop pre-made components from the Assets panel. Configure them in the right sidebar. Fast and simple, as should be.
It is a comprehensive and easy-to-use Sketch Library with organized components & atoms. It includes Bootstrap’s colors, grids, and typography so that you can easily customize it to fit your brand or product.
Features:

Design and Dev Consistency 👨💻
Effortless Resizing 😱
Design with Smart layout😍
300+ Organized Components 🛠
Easy to customize

Download Sketch: https://themeselection.com/products/free-sketch-bootstrap-ui-kit/
Demo: https://www.youtube.com/watch?v=CmnBm7yNE5A

@saanvi-ts - sorry had to change few things on my side.
Can you fork anew the repository and commit again? 🙏

sure.


docs: update readme

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (4ae5b20) 6.49% compared to head (8a126ab) 6.49%.
Report is 66 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@          Coverage Diff          @@
##            main    #253   +/-   ##
=====================================
  Coverage   6.49%   6.49%
=====================================
  Files         74      74
  Lines       4191    4191
  Branches     829     829
=====================================
  Hits         272     272
  Misses      3119    3119
  Partials     800     800

Flag
Coverage Δ

unittests
6.49% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Problems listing sub-directory

I am having issues listing sub-directories (I realize that is not proper s3 lingo :) ) inside of my s3 bucket and was curious if you had seen this issue before?
My Caddyfile looks like this:
files.blah.com {
	route {
		file_server {
			browse /home/ec2-user/browse2.tpl
			fs s3 {
				bucket "mybucket"
				region "us-west-2"
				endpoint "s3.us-west-2.amazonaws.com"
				force_path_style
			}
		}
	}
}

My bucket structure looks like:
bucket
  |-dir1
    |-file1.txt
    |-file2.txt
  |-dir2
    |-file1.txt
    |-file2.txt
  |-dir3
    |-file1.txt
    |-file2.txt

When I access files.blah.com I get a listing of the bucket as expected. When I try to access a sub-directory though, for example files.blah.com/dir1/, I get a 404. What is interesting though, is if I put in the direct file path, say files.blah.com/dir1/file1.txt, the file loads just fine.
I turned the logging to DEBUG and it appears for some reason that the sub-directory is not being picked up as an actual directory, but instead a file?
Here is a log snippet for a successful request files.blah.com:
2023/02/25 16:42:01.238 DEBUG   http.handlers.file_server       sanitized path join     {"site_root": ".", "request_path": "/", "result": "."}
2023/02/25 16:42:01.308 DEBUG   http.handlers.file_server       no index file in directory      {"path": ".", "index_filenames": ["index.html", "index.txt"]}
2023/02/25 16:42:01.308 DEBUG   http.handlers.file_server       browse enabled; listing directory contents      {"path": ".", "root": "."}

Notice the browse enabled; listing directory contents? It looks like Caddy has check that if the path is a directory, it goes to listing mode.
Now here is a log snippet for an unsuccessful request of files.blah.com/dir1/:
023/02/25 16:42:46.294 DEBUG   http.handlers.file_server       sanitized path join     {"site_root": ".", "request_path": "/dir1/", "result": "dir1/"}
2023/02/25 16:42:46.358 DEBUG   http.log.error.log0     {id=w3n2ps2s0} fileserver.(*FileServer).notFound (staticfiles.go:601): HTTP 404.....(cut the rest of the error out as it is just HTTP stuff)

You'll see that the browse enabled is never triggered. I believe that for some reason Caddy is not detecting this as a directory and trying to treat it as a file.
Any ideas on what might be going on here? I will poke around the code a bit, but I figured I'd share first in case I'm doing something incorrectly.

Ok, so I figured it out! First off, the solution is to add:
uri strip_suffix /
Or at least that is what worked for me.
I hooked up delve to debug what was going on, and from what I can tell, s3fs doesn't like when files have a / in them. What caddy (and in turn caddy-fs-s3) was doing, was passing the "directory" name as dir1/ instead of dir1. s3fs has some code to validate the path (https://github.com/jszwec/s3fs/blob/main/fs.go#L131) that was failing with the / in there, so I just had caddy remove it from the uri and things started working.

Thanks for getting to the bottom of it @esell !
I wonder what the proper fix is for this problem:

removing the validation from s3fs library
stripping the suffix in caddy-s3
or solving it in Caddy itself


0.3.x alpha: auto-mounts everything

i had 1 of 10 pods mounted
i upgraded to 0.3.x and did cage pull
all of my pods were mounted

Could you please reproduce this with RUST_LOG=cage=trace enabled, and send me the logs via a private channel?

false alarm: i had rm -rf .cage in order to prove out vault plugin


Revise IncludeRequestHeadersInCheck to use new envoy allowed_headers field

Please provide a description of this PR:
The old field is deprecated in https://github.com/envoyproxy/envoy/pull/22877. The new field maintains the same behavior as the old one.
Verified it is working as expected.

Isn't this breaking backward compatibility?

I think it should not. It is released in 1.25 of Envoy which is shipped with Istio 1.16.

@istio/wg-security-maintainers PTAL.

@hzxuzhonghu PTAL


software supply chain attacks & defenses

CrateDepression | Rust Supply-Chain Attack Infects Cloud CI Pipelines with Go Malware
https://www.sentinelone.com/labs/cratedepression-rust-supply-chain-attack-infects-cloud-ci-pipelines-with-go-malware/

Soloarwind https://linuxinsider.com/story/lessons-learned-from-the-solarwinds-supply-chain-hack-87029.html

https://www.mend.io/resources/blog/popular-cryptocurrency-exchange-dydx-has-had-its-npm-account-hacked/

A Systematic Analysis of the Event-Stream Incident
https://dl.acm.org/doi/pdf/10.1145/3517208.3523753

Better Call Saltzer & Schroeder: A Retrospective Security Analysis of SolarWinds & Log4j. (arXiv:2211.02341v1 [cs.SE])

Attacks on password managers:
LastPass Software Supply Chain Attack
Supply Chain Attack Hits Passwordstate Password Manager

In the IEEE Computer special issue on the software supply chain
Invisible Supply Chain Attacks Based on Trojan Source
https://ieeexplore.ieee.org/document/9903882

Android apk signing block payload poc
https://github.com/obfusk/sigblock-code-poc

Operation Rosehub: a team of 50 Google employees used GitHub to patch the “Apache Commons Collections Deserialization Vulnerability” (or the “Mad Gadget vulnerability” as we call it) in thousands of open source projects.
https://opensource.googleblog.com/2017/03/operation-rosehub.html

Vulnerability of Package Dependency Networks

supply chain attack on communications software maker 3CX
https://www.theregister.com/2023/03/30/communications_software_vendor_3cx_hit/

Journey to the Center of Software Supply Chain Attacks. (2023)
http://arxiv.org/abs/2304.05200

Google Cloud is opening up their curated list of trusted OSS, including some infrastructure around it:
https://cloud.google.com/assured-open-source-software

3CX Software Supply Chain Compromise Initiated by a Prior Software Supply Chain Compromise; Suspected North Korean Actor Responsible
https://www.mandiant.com/resources/blog/3cx-software-supply-chain-compromise?utm_source=substack&utm_medium=email

Typosquatting Attacks and Mitigations
https://accso.de/app/uploads/2023/01/Bachelorarbeit-Minh-Truong_202303_Typosquatting-Attacks-and-Mitigations.pdf

Robbery on DevOps: Understanding and Mitigating Illicit Cryptomining on Continuous Integration Service Platforms
https://ieeexplore.ieee.org/iel7/9833550/9833558/09833803.pdf?casa_token=2iDV8giER50AAAAA:E6uGWUchNakwS_sHnuuZBNcb4sHTLpHwLkyRuyQmIFm9gIjUMZwsC4o_iJowrgqQk9MV0tmX5ZlhUwE

Continuous Intrusion: Characterizing the Security of Continuous Integration Services
https://www.computer.org/csdl/proceedings-article/sp/2023/933600b561/1NrbYRw0Ims


Introducing system/acceptance test with real milvus server

Add a system/acceptance test suit with a real milvus standalone server.
After this is done, we will have the below test suits in the test folder:

ut: targeting for testing with no milvus server
it: targeting for testing with mocked milvus server
st: targeting for testing with real milvus server.

/close


SunPhase time offset not correct.

Hello Koste,
Your sun phase time is not correct. The offset is not calculated in your phase time.
If your offset is +2 hours or your offset is 4 hours, the phase time is for both the same.
By your moonphase calculation is the offset calculated in your phase time.
Can you look at the sun phase time?
With kind regards Cor

Hi Cor,
Can you share a code sample that produces the wrong calculation?
Offset is not part of the SunCalc library. Dates should be formatted depending on the timezone requirements in the client application logic.
As far as I remember, SunCalc JS Lib doesn't handle the offset too.

Not really, I should switch back to DateTime object everywhere as it was initially. Date time zones should be handled in client application logic

I updated all DateTimeOffset input parameters to DateTime.
You can switch to version 1.1.4 which is already deployed.

Thanx
From: Koste Budinoski<EMAIL_ADDRESS>Sent: Tuesday, July 21, 2020 09:52
To: kostebudinoski/SunCalcNet<EMAIL_ADDRESS>Cc: Cor Ehrhardt<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [kostebudinoski/SunCalcNet] SunPhase time offset not correct. (#3)
I updated all DateTimeOffset input parameters to DateTime.
You can switch to version 1.1.4 https://www.nuget.org/packages/SunCalcNet/1.1.4  which is already deployed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/kostebudinoski/SunCalcNet/issues/3#issuecomment-661696656 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQOUKZA5M7JKWSUC2CYBF3R4VCKRANCNFSM4PBH3F5A .  https://github.com/notifications/beacon/AAQOUK3OLQKTQL45VDDZSC3R4VCKRA5CNFSM4PBH3F5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE5YLBEA.gif


Where are themes being installed to?

I'm having trouble following the gogh.sh file that manages all the profiles/colorschemes. Where would the schemes be downloaded to on my system?

you should follow apply-colors.sh
https://github.com/Mayccoll/Gogh/blob/master/apply-colors.sh


Support Large CSV/XLS exports.

user-nz "Exporting to CSV/excel is limited to the 10,000 limit for the UI.
Makes no sense as kdb table object is available."

Large export added as separate item:

If enough demand will go back and try to port it to the right click menu. Hard to do as columns are rearranged etc. in model.


Migrate teach-class script to project v2 API

Supersedes https://github.com/githubtraining/training-manual/pull/389
Project creation has been migrated to GraphQL ProjectV2 API, but project column and card creation using GraphQL doesn't appear possible yet. This may not be an issue since projects are not directly used in the training course, but the changes in this PR will preserve the fact that projects are visually referenced in screenshots in the materials.
This new PR was created after the branch was renamed to more accurately describe the changes.

Project creation has been migrated to GraphQL ProjectV2 API

The GitHub CLI now supports projects v2: https://github.blog/2023-07-11-github-cli-project-command-is-now-generally-available/


root password in carla docker?

just one easy question, what is the sudo password in carla docker? I searched but could find the answer.
thanks
I am using carlasim/carla:0.9.11

Generally, sudo isn't a concept in a running Docker container. For the Carla Docker images, carla is the default user where everything is installed and run from.


Nearest pubs to hotel feature using Turf.js

I added the ability to quickly display nearest pubs to hotels using Turf.js to use as a demo for one of my presentations (see details/video in this blog post). Not sure this is really a desirable feature for the official conference map but I promised the audience I'd submit a pull request. Happy to discuss further and help work on the map moving forward.

As expected, an amazing enhancement! 🌟
Thank you for sharing with the community and sending over the PR, @andywalz!! I'm so sorry I missed your live demo, but hopefully you can share again at the future Maptime event? 😜 :world_map:
I was finally able to review your PR, and everything looks great!
I have a few minor changes coming after the merge including:

Cleaning up the pop-up display (to differentiate between info and pubs), and
Limiting the number of pubs to a maximum of 5 (to cut down on the pop-up size)

Thanks again, and fabulous work!!  👍


Update faros-feeds-sdk

To pick up change in https://github.com/faros-ai/feeds-sdk/pull/363

@ypc-faros can you please start migrating GraphQL/client  related code to faros-js-client?

@ypc-faros can you please start migrating GraphQL/client related code to faros-js-client?

Yeah, I have that one on top of my list. Still need to make V2 => V1 work ;)


internal libpod error: write /proc/self/attr/keycreate: invalid argument

/kind bug
Description
When trying to run a container, an internal libpod error occurs (see last two lines of description).
Steps to reproduce the issue:
podman run --rm --name test alpine
Describe the results you received:
INFO[0000] running as rootless
DEBU[0000] Initializing boltdb state at /home/podman/.local/share/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /home/podman/.local/share/containers/storage
DEBU[0000] Using run root /tmp/run-1001
DEBU[0000] Using static dir /home/podman/.local/share/containers/storage/libpod
DEBU[0000] Using tmp dir /tmp/run-1001/libpod/tmp
DEBU[0000] Using volume path /home/podman/.local/share/containers/storage/volumes
DEBU[0000] Set libpod namespace to ""
DEBU[0000] Not configuring container store
DEBU[0000] Using slirp4netns netmode
DEBU[0000] appending name test
INFO[0000] running as rootless
DEBU[0000] Initializing boltdb state at /home/podman/.local/share/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /home/podman/.local/share/containers/storage
DEBU[0000] Using run root /tmp/run-1001
DEBU[0000] Using static dir /home/podman/.local/share/containers/storage/libpod
DEBU[0000] Using tmp dir /tmp/run-1001/libpod/tmp
DEBU[0000] Using volume path /home/podman/.local/share/containers/storage/volumes
DEBU[0000] Set libpod namespace to ""
DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] overlay: mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs
DEBU[0000] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=false, usingMetacopy=false
DEBU[0000] parsed reference into "[overlay@/home/podman/.local/share/containers/storage+/tmp/run-1001:overlay.mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs]docker.io/library/alpine:latest"
DEBU[0000] parsed reference into "[overlay@/home/podman/.local/share/containers/storage+/tmp/run-1001:overlay.mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs]@5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0"
DEBU[0000] exporting opaque data as blob "sha256:5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0"
DEBU[0000] parsed reference into "[overlay@/home/podman/.local/share/containers/storage+/tmp/run-1001:overlay.mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs]@5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0"
DEBU[0000] exporting opaque data as blob "sha256:5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0"
DEBU[0000] parsed reference into "[overlay@/home/podman/.local/share/containers/storage+/tmp/run-1001:overlay.mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs]@5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0"
DEBU[0000] Using slirp4netns netmode
DEBU[0000] appending name test
DEBU[0000] Allocated lock 0 for container d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa
DEBU[0000] parsed reference into "[overlay@/home/podman/.local/share/containers/storage+/tmp/run-1001:overlay.mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs]@5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0"
DEBU[0000] exporting opaque data as blob "sha256:5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0"
DEBU[0000] created container "d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa"
DEBU[0000] container "d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa" has work directory "/home/podman/.local/share/containers/storage/overlay-containers/d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa/userdata"
DEBU[0000] container "d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa" has run directory "/tmp/run-1001/overlay-containers/d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa/userdata"
DEBU[0000] New container created "d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa"
DEBU[0000] container "d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa" has CgroupParent "/libpod_parent/libpod-d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa"
DEBU[0000] Not attaching to stdin
DEBU[0000] overlay: mount_data=lowerdir=/home/podman/.local/share/containers/storage/overlay/l/UH4BYX6NP5ZXPPHBI4HVNJBO2N,upperdir=/home/podman/.local/share/containers/storage/overlay/35ea0e36dd786a194d235c65c1c321a2dc4e52f7ffa32afbfd9939bffc3bc125/diff,workdir=/home/podman/.local/share/containers/storage/overlay/35ea0e36dd786a194d235c65c1c321a2dc4e52f7ffa32afbfd9939bffc3bc125/work
DEBU[0000] mounted container "d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa" at "/home/podman/.local/share/containers/storage/overlay/35ea0e36dd786a194d235c65c1c321a2dc4e52f7ffa32afbfd9939bffc3bc125/merged"
DEBU[0000] Created root filesystem for container d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa at /home/podman/.local/share/containers/storage/overlay/35ea0e36dd786a194d235c65c1c321a2dc4e52f7ffa32afbfd9939bffc3bc125/merged
DEBU[0000] skipping loading default AppArmor profile (rootless mode)
DEBU[0000] /etc/system-fips does not exist on host, not mounting FIPS mode secret
DEBU[0000] Created OCI spec for container d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa at /home/podman/.local/share/containers/storage/overlay-containers/d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa/userdata/config.json
DEBU[0000] /home/podman/podman/usr/local/libexec/crio/conmon messages will be logged to syslog
DEBU[0000] running conmon: /home/podman/podman/usr/local/libexec/crio/conmon  args=[-c d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa -u d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa -r /home/podman/podman/usr/local/sbin/runc -b /home/podman/.local/share/containers/storage/overlay-containers/d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa/userdata -p /tmp/run-1001/overlay-containers/d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa/userdata/pidfile -l /home/podman/.local/share/containers/storage/overlay-containers/d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa/userdata/ctr.log --exit-dir /tmp/run-1001/libpod/tmp/exits --conmon-pidfile /home/podman/.local/share/containers/storage/overlay-containers/d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa/userdata/conmon.pid --exit-command /home/podman/podman/usr/local/bin/podman --exit-command-arg --root --exit-command-arg /home/podman/.local/share/containers/storage --exit-command-arg --runroot --exit-command-arg /tmp/run-1001 --exit-command-arg --log-level --exit-command-arg debug --exit-command-arg --cgroup-manager --exit-command-arg cgroupfs --exit-command-arg --tmpdir --exit-command-arg /tmp/run-1001/libpod/tmp --exit-command-arg --runtime --exit-command-arg /home/podman/podman/usr/local/sbin/runc --exit-command-arg --storage-driver --exit-command-arg overlay --exit-command-arg container --exit-command-arg cleanup --exit-command-arg --rm --exit-command-arg d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa --socket-dir-path /tmp/run-1001/libpod/tmp/socket --log-level debug --syslog]
WARN[0000] Failed to add conmon to cgroupfs sandbox cgroup: mkdir /sys/fs/cgroup/systemd/libpod_parent: permission denied
DEBU[0000] Received container pid: -1
DEBU[0000] Cleaning up container d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa
DEBU[0000] Network is already cleaned up, skipping...
DEBU[0000] unmounted container "d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa"
DEBU[0000] Cleaning up container d3fd2bae705cb5ffff35e098ede2a800e5267554e1873ca9b3790d2f85801bfa
DEBU[0000] Network is already cleaned up, skipping...
DEBU[0000] Storage is already unmounted, skipping...
DEBU[0000] Storage is already unmounted, skipping...
ERRO[0000] container create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"write /proc/self/attr/keycreate: invalid argument\""
: internal libpod error

Output of podman version:
INFO[0000] running as rootless
Version:            1.2.0-dev
RemoteAPI Version:  1
Go Version:         go1.11.5
Git Commit:         68e3df37248da85f58662c00e0934d1359f0fdc0
Built:              Sat Mar 23 18:41:21 2019
OS/Arch:            linux/amd64

Output of podman info --debug:
INFO[0000] running as rootless
DEBU[0000] Initializing boltdb state at /home/podman/.local/share/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /home/podman/.local/share/containers/storage
DEBU[0000] Using run root /tmp/run-1001
DEBU[0000] Using static dir /home/podman/.local/share/containers/storage/libpod
DEBU[0000] Using tmp dir /tmp/run-1001/libpod/tmp
DEBU[0000] Using volume path /home/podman/.local/share/containers/storage/volumes
DEBU[0000] Set libpod namespace to ""
DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] overlay: mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs
DEBU[0000] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=false, usingMetacopy=false
debug:
  compiler: gc
  git commit: 68e3df37248da85f58662c00e0934d1359f0fdc0
  go version: go1.11.5
  podman version: 1.2.0-dev
host:
  BuildahVersion: 1.8-dev
  Conmon:
    package: Unknown
    path: /home/podman/podman/usr/local/libexec/crio/conmon
    version: 'conmon version , commit: 84c860029893e2e2dd71d62231f009c9dcd3c0b4'
  Distribution:
    distribution: debian
    version: "9"
  MemFree:<PHONE_NUMBER>0
  MemTotal:<PHONE_NUMBER>4
  OCIRuntime:
    package: Unknown
    path: /home/podman/podman/usr/local/sbin/runc
    version: |-
      runc version 1.0.0-rc6+dev
      commit: 11fc498ffa5c4561eef9242e7f7115d57e57055b
      spec: 1.0.1-dev
  SwapFree:<PHONE_NUMBER>
  SwapTotal:<PHONE_NUMBER>
  arch: amd64
  cpus: 8
  hostname: pgsql
  kernel: 4.19.0-0.bpo.2-amd64
  os: linux
  rootless: true
  uptime: 18m 49.99s
insecure registries:
  registries: []
registries:
  registries:
  - docker.io
store:
  ConfigFile: /home/podman/.config/containers/storage.conf
  ContainerStore:
    number: 1
  GraphDriverName: overlay
  GraphOptions:
  - overlay.mount_program=/home/podman/podman/usr/local/bin/fuse-overlayfs
  GraphRoot: /home/podman/.local/share/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 4
  RunRoot: /tmp/run-1001
  VolumePath: /home/podman/.local/share/containers/storage/volumes

Error is definitely coming out of runc - might be an issue there, but can't be sure yet. Hard to tell exactly what's going wrong, because the error is coming out of a rather large function call in runc.

@mheon Can I make runc to be more verbose?

Seems like runc changed some stuff...

Up to now I compiled runc using make BUILDTAGS="seccomp selinux apparmor" all man
It works when dropping sellinux make BUILDTAGS="seccomp apparmor" all man
Seems like there are some new guys in town: make BUILDTAGS="seccomp apparmor ambient nokmem" all

By default, runc seems to built against seccomp only.

THis is a new feature I added to runc this past week.  I will need to look into it.

@tobwen What AVC's are you seeing?
ausearch - m avc -ts recent.

@rhatdan -bash: ausearch: command not found ...
I'm on Debian 9, there's no SELinux or AppArmor by default. I think, runc might fail at detecting this?

If you are working on a platform without SELinux support then you should compile without the selinux BUILDTAG.

I thought, it would disable the functionality, if it doesn't find SELinux. I will add detection scripts to my build-script in gist.

In libpod we use this script to figure out whether or not to use SELinux.
 cat ./hack/selinux_tag.sh
#!/bin/bash
if pkg-config libselinux 2> /dev/null ; then
	echo selinux
fi

$ pkg-config libseccomp && echo true
true

$ dpkg --list | grep libseccomp
ii  libseccomp-dev:amd64                   2.3.1-2.1+deb9u1                  amd64        high level interface to Linux seccomp filter (development files)
ii  libseccomp2:amd64                      2.3.1-2.1+deb9u1                  amd64        high level interface to Linux seccomp filter

So it's installed, but not active. Remember, I'm working rootless. Maybe that makes trouble.

That's Seccomp, not SELinux - different security tech. I know Debian has Seccomp support in their kernels, but SELinux support is almost certainly missing.

My god ... I think there was something in my Pizza yesterday. Sorry :(

I think the latest runc has fixed this issue.


Set up the development environment

As a User
I need the development environment set up
So that the project will be successful
Details and Assumptions
* Program will use IBM Developer Skills Network Cloud IDE with OpenShift

Acceptance Criteria
gherkin
Given IBM Developer Skills Netwrok
When time to deploy
Then the development environment will be set up


Question: Multi-node training

Hi @shawntan, great work on Scatter MoE. As newer models are scaling up in the number of parameters used, I wanted to ask a question about what you put in the README: does not include any additional multi-node training infrastructure code.

Other than using some tool, e.g. torch FSDP or DeepSpeed zero3, are there any further considerations you would make to ensure optimal performance of your kernels?

What I meant by that was that unlike Megatron or Megablocks, we did not include any additional Expert Parallelism and related infrastructure code in this repo: It's a simple implementation of MoE. So the intention was for it to be used with FSDP, which is how I have been using it myself, and it should work with other parallelisation frameworks.
We do intend to eventually add Tensor Parallelism, but I'm kinda tied up at the moment.
One thing @yikangshen found was that, at least in the use cases we are looking at, expert parallelism wasn't very effective due to the different tensor sizes that needed to be communicated, so expert parallelism isn't in our roadmap.
As for the state of scattermoe as it is now, it seems to work best if your SMoE layer fits on your GPU, but it's mainly the 2 of us working on this, so it'll be great to know about other people's experiences as well.

That makes sense. You would need a training framework around the actual model, which you would plug Scatter MoE into. I think it would be cool to see Scatter MoE implemented in something like pytorch/torchtune or other frameworks that does the actual training.

I've submitted a pull request to huggingface/nanotron on their suggestion but I've heard nothing back since.


Configured debug type 'cppdbg' is not supported.

I get this error when I do not have the proprietary C++ extension installed. I looked and the relevant files are cmake.js and common.js
Could you please fix this so that the add on is more usable without relying on proprietary add ons?

I can look into this. There are a few changes I've been looking into making in the way the debugging works. I'll see what I can do.

Thank you, if there is anyway I can help (development wise) feel free to let me know. I am really eager to get this working.
It would also be really nice if I could run my program without a debugger at all.

I added a command cmake.debugTargetProgramPath that can be used in launch.json (see the latest release notes for more info).
It isn't as built-in as the current debug button, but it may be sufficient. What do you think?

I can already launch the program via the built in debugger in vscode; ideally you would have something like this bar

However I cannot get it working; you should document which version of the dependency works because it does not appear to work on all versions.

What version/platform are you working on? What does your launch.json look like?

I used your release on vscode 1.10, when I use your extension directly it seems to break with the other cmake addon you depend on
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "gdb",
      "request": "launch",
      "name": "Server",
      "target": "./build/dmux-server",
      "cwd": "${workspaceRoot}"
    },
    {
      "name": "Client",
      "type": "gdb",
      "request": "launch",
      "target": "./build/dmux",
      "cwd": "${workspaceRoot}"
    }
  ]
}

How does it break? What kind of errors are you seeing?

Configured debug type 'gdb' is not supported.
Keep in mind this is with the built in debugger; your cmake plugin broke due to incompatibility with the other cmake extension

What kind of incompatibility are you seeing? I'm unable to see anything wrong on my local install.

Are you using your most recent release? Could you tell me which version of both add ons you are using?

I have VSCode 1.10.2, CMake extension 0.0.17, CMake Tools 0.9.4

Tried it out on a fresh install and it seems to no longer be broken.
However, I do not see any option to debug anymore
How do you debug? I cannot seem to get any launch configuration going in the built in debugging GUI

The status-bar button is still hard-coded to use MS's cpptools ext, so I just hid it if that ext is missing.
The ${command:cmake.debugTargetProgramPath} is mostly there to help get the binary path and switch between executables without having too many launch.json entries.

I just gave a path to my project's binary and I get a
"Debug adapter process has terminated unexpectedly"
message. Here is my launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${workspaceRoot}/build/dmux",
            "args": [],
            "cwd": "${workspaceRoot}"
        }
    ]
}

Ideally it would be nice if the button was there and the extension did not depend at all on MS's tools; and if it gave me the option of whether or not to run my CMake target in a debugger that would be nice too. This is really the last thing I need out of vscode before I jump completely into using it

Odd... Is that executable built? I don't think that this case is related to CMake Tools specifically, though.

Yes the executable is indeed there
Would it be possible to not use launch.json at all and just use the CMake targets?

I'm still wanting to get more into better debugger support besides cpptools, but I just wanted to get a few issues cleared out of the way today. I'll definitely take a look at more debuggers in the future, and I'm hoping that better extensions that cpptools will become available going forward.
Launching a debugger requires generating the debugger config on-the-fly, which requires knowledge of the schema of a debugger's config options (what goes into the launch.json). At the moment, CMake Tools only generates cpptools' config object. Adding other extensions is definitely possible, just not something I've put much time into.

Mmhm, how difficult would it be to launch the project without any debugger at all?

That wouldn't be too difficult. It could even be launched using the terminal API to get proper TTY behavior. That's also something to look into.

Yeah ideally for me I would have the option to invoke the debugger or not, and would have the choice of which CMake target to launch. I dunno how this would tie into actually implementing it. I wish there was more I could do to help.

Should be able to launch without a debugger in next update.

There are also documentation improvements in CMake Tools 0.10.0. Shall this issue be closed?

Closed.
If this issues still persists in the current 0.11.0-beta4, feel free to reopen this one or create a new one.

Seems like the command is now ${command:cmake.launchTargetPath} that can be used in the launch.json file like so:
{
      "name": "Cmake Debug Target",
      "type": "lldb",
      "request": "launch",
      "program": "${command:cmake.launchTargetPath}",
      "args": [],
      "cwd": "${workspaceFolder}"
}

This can also be set in your workspace settings like so:
"cmake.debugConfig": {
      "name": "Cmake Debug Target",
      "type": "lldb",
      "request": "launch",
      "program": "${command:cmake.launchTargetPath}",
      "args": [],
      "cwd": "${workspaceFolder}"
    }


feat!: Add delete_automated_backups and update MSV of AWS provider to v5.26 to support

Description

Add delete_automated_backups to aws_rds_cluster.
Change default value for backup_retention_period from 7 to null

Motivation and Context

https://github.com/hashicorp/terraform-provider-aws/pull/34309
Closes #411 which has been pending, waiting for the next breaking change

Breaking Changes
Yes. AWS provider version upgrade to v5.
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 9.0.0 :tada:


sdk: checkPortListening: check tcp6/udp6 ports

ipv6 checks were missing.
This is from the Uptime Kuma container:
root@IMHWWUJCO33JPYQ5DBIF3N3B6PEVJBAE:~# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        <IP_ADDRESS>:*               LISTEN
tcp        0      0 localhost:domain        <IP_ADDRESS>:*               LISTEN
tcp        0      0 <IP_ADDRESS>:5355            <IP_ADDRESS>:*               LISTEN
tcp6       0      0 [::]:3001               [::]:*                  LISTEN
tcp6       0      0 [::]:5355               [::]:*                  LISTEN
udp        0      0 <IP_ADDRESS>:5355            <IP_ADDRESS>:*
udp        0      0 localhost:domain        <IP_ADDRESS>:*
udp        0      0 localhost:domain        <IP_ADDRESS>:*
udp        0      0 IMHWWUJCO33JPYQ5:bootpc <IP_ADDRESS>:*
udp6       0      0 [::]:5355               [::]:*
raw6       0      0 [::]:ipv6-icmp          [::]:*

notice that it only listens on a tcp6 port (3001).

my concern here is that the os does not support ipv6 networking to the containers rn. so a success via this metric would be misleading

not sure what's going on then. I packaged uptime kuma and the port healthcheck on 3001 was failing, but I can visit the ui fine and netstat shows only listening on tcp6 [::]:3001, so it does seem to work.


Decompiler data test generates a valgrind invalid read

Describe the bug
Valgrind reports Invalid read in decompiler data tests.  This access violation does not appear to cause a user-visible problem.
To Reproduce
Steps to reproduce the behavior:

Build ghidra from source
cd Ghidra/Features/Decompiler/src/decompile/cpp
make test
valgrind ghidra_test_dbg datatests enum.xml

==1817856== Invalid read of size 8
==1817856==    at 0x544F71: ghidra::TypePartialEnum::compareDependency(ghidra::Datatype const&) const (type.cc:2304)
==1817856==    by 0x54F1FE: ghidra::DatatypeCompare::operator()(ghidra::Datatype const*, ghidra::Datatype const*) const (type.hh:308)
==1817856==    by 0x555BE4: std::_Rb_tree_iterator<ghidra::Datatype*>
...
==1817856==    by 0x548B1E: ghidra::TypeFactory::insert(ghidra::Datatype*) (type.cc:3390)

The problem code appears to be the access of  tp->parent  when op is not in fact a TypePartialEnum.
TypePartialEnum *tp = (TypePartialEnum *) &op;	// Both must be partial
if (parent != tp->parent) return (parent < tp->parent) ? -1 : 1;	// Compare absolute pointers

Ref  commit 55a026b3bac 2024-11-01

Expected behavior
Verify that op is a true partial before invoking ghidra::TypePartialEnum::compareDependency and forcing the cast.
valgrind ghidra_test_dbg  should show no errors.
Environment (please complete the following information):

OS: Fedora 41
Java Version: 21.02
Ghidra Version: 11.3 DEV
Ghidra Origin: GitHub distro, locally built

The invalid access was apparently already fixed in a commit - that's my mistake for not rebasing my snapshot from master and checking before generating the Issue.  Valgrind reports no current problems in decompiler unit or data tests.


FEA-3357 - Fixed title attribute display

Made title safe for both tab content and title attribute
Fixed attribute title when title has entities
Didn't run gulp build to build all up
not sure about the procedure of bumping up versions
or if we bulk update at the end of the sprint
If anything needed, ill gladly update it

Related task: https://barchartsolutions.atlassian.net/browse/FEA-3357

@djelovic do you want to review and approve PRs submitted by @goranurukalo in the beginning as he is getting acquainted with the cmdtyView code base?  Additionally, do you know if we merge this PR if it gets picked up by the main cmdtyView branch?

This one too @djelovic as a friendly reminder.  Thanks.


fix(eks-cluster-example): Add eks_worker_ami_name_filter variable to the example

Unfortunately, most_recent variable does not work as expected.
Enforce usage of eks_worker_ami_name_filter variable to set the right kubernetes version for EKS workers,
otherwise will be used the first version of Kubernetes supported by AWS (v1.11) for EKS workers but
EKS control plane will use the version specified by kubernetes_version variable.
+ kubectl version --short
Client Version: v1.16.0
Server Version: v1.14.6-eks-5047ed

+ kubectl get nodes
NAME                                              STATUS   ROLES    AGE   VERSION
ip-172-16-109-48.eu-central-1.compute.internal    Ready    <none>   12m   v1.11.10-eks-17cd81
ip-172-16-116-136.eu-central-1.compute.internal   Ready    <none>   99m   v1.11.10-eks-17cd81
ip-172-16-143-206.eu-central-1.compute.internal   Ready    <none>   99m   v1.11.10-eks-17cd81
ip-172-16-157-119.eu-central-1.compute.internal   Ready    <none>   12m   v1.11.10-eks-17cd81

Also I've updated readme with copy-paste to avoid the differences with an example 😄

/codefresh run test

/codefresh run test

@aknysh done

/codefresh run test


New feature "Preview Changes" slows down updates

Hello. Thank you for this awesome database management software. Recently, in the last update, a new function "Preview Changes" was added. This makes updates much slower, especially when one has to make thousands of updates. Having to click on the save button with the mouse every single time is annoying and not needed at all.
Is there a way to make this "Preview Changes" in the SQL Editor optional or can we remote it all together?
It doesn't seem much but for those who do a lot of database changes, it's a pain to have to handle the prompt every time, and also to have to get the hands of the keyboards to handle the mouse.

Hello Elizabeth,
Thank you for looking into this:
The Dialog looks like this:
The steps are two folds.

I do a query from one of my databases.
I change a couple of values, or part of values.
I either do a CTRL-S or press the button "Save."
I get the above "Preview Changes" prompt, which requires me to confirm the save using the mouse. Best would be to work as it used to be--meaning without this new prompt. Could be an option to have it either way.

As a note, I use the Linux version 24.2.0.
Robert
From: "Elizabeth" @.>
To: "dbeaver/dbeaver" @.>
Cc: "Robert Lemoine" @.>, "Author" @.>
Sent: Thursday, September 26, 2024 12:02:17 PM
Subject: Re: [dbeaver/dbeaver] New feature "Preview Changes" slows down updates (Issue #35664)
I appreciate your request. Could you tell me if you're talking about this dialog?
[ https://github.com/user-attachments/assets/0ea95f56-026e-42b1-b579-677ce4003b68 | image.png (view on web) ]
Could you provide me with steps to reproduce the behavior when you get this dialog unintentionally? It doesn't show up for me when I press Ctrl+S or the Save button.
—
Reply to this email directly, [ https://github.com/dbeaver/dbeaver/issues/35664#issuecomment-2377717251 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/AMOKUAOLMYQI2UJVL7EEVFTZYRK3TAVCNFSM6AAAAABORDSX2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZXG4YTOMRVGE | unsubscribe ] .
You are receiving this because you authored the thread. Message ID: @.*** ub.com> [ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/dbeaver/dbeaver/issues/35664#issuecomment-2377717251", "url": "https://github.com/dbeaver/dbeaver/issues/35664#issuecomment-2377717251", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Unfortunately, GitHub can't attach files when you answer by email, so I don't see the files you sent. Can you please go to GitHub and attach them there?

Got it. Here is the snapshot of the prompt.

No problem. I just did this.
From: "Elizabeth" @.>
To: "dbeaver/dbeaver" @.>
Cc: "Robert Lemoine" @.>, "Author" @.>
Sent: Friday, September 27, 2024 3:58:01 AM
Subject: Re: [dbeaver/dbeaver] New feature "Preview Changes" slows down updates (Issue #35664)
Unfortunately, GitHub can't attach files when you answer by email, so I don't see the files you sent. Can you please go to GitHub and attach them there?
—
Reply to this email directly, [ https://github.com/dbeaver/dbeaver/issues/35664#issuecomment-2379008958 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/AMOKUALV75B5ZWIX34XYXNLZYU23TAVCNFSM6AAAAABORDSX2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZZGAYDQOJVHA | unsubscribe ] .
You are receiving this because you authored the thread. Message ID: @.*** ub.com> [ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/dbeaver/dbeaver/issues/35664#issuecomment-2379008958", "url": "https://github.com/dbeaver/dbeaver/issues/35664#issuecomment-2379008958", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

You can change it in the Connection type properties. This dialog is switched off by Confirm data changes setting


Plots not updating when entries are de-selected.

When the user deselects a row in the data table, the plot does not remove that point either in the current plot or if a new plot is instantiated.

Fixed as of #426


Fix migration

Fix migration to support generated columns across SQLite, PostgreSQL, and MySQL

Could someone take a look at this please?

Thanks for the PR.

 :)


fix 数据量大时，array可能为空，可能会crash

fix 数据量大时，array可能为空，可能会crash

This is a workaround instead of fix. For such a POC project, it is supposed to crash that way before we can handle all kinds of data properly.


Make hash searches case-insensitive

Describe the bug
When submitting hashes with upper case characters to the /api/v4/hash_search/ endpoint, AL responds with 'Invalid Hash'. But submitting with lower case characters works.
To Reproduce
Steps to reproduce the behavior:

Submit hash with upper case characters to /api/v4/hash_search/

Expected behavior
Hashes with upper case characters are not invalid and should get a response.
Screenshots
N/A
Environment (please complete the following information if pertinent):
N/A
Additional context
N/A

This feature should included in <IP_ADDRESS>.


What is the offset in the input of the model?

Hi, could you tell me what offset is in the input of the model？
Hope to receive your reply soon.
Thanks!

Hi, thanks for your interest.
Could you provide more detail in your question? E.g. referring to the line of the code.

Hi, thanks for your reply.
I mean the word "offset" in line 98 of the pointtransformer_seg.py file.
What is the data in "Offset" refers to？

Hi,
Since we have multiple point clouds of different sizes in the same batch, we stack them along the 1st axis and thus need to remember the index that starts a new point cloud.
The offset is precisely for this use. You could also check the original point-transformer repo for a better understanding :)


pointerof an instance variable in an initialiser does not return the final pointer

struct Test
    def initialize()
      @test = StaticArray(UInt32, 4)
      p pointerof(@test)
    end

    def array_ptr()
      p pointerof(@test)
    end
end

test = Test.new
test.array_ptr

results in
Pointer(StaticArray(UInt32, 4):Class)@0xbfa6b750
Pointer(StaticArray(UInt32, 4):Class)@0xbfa6b8c8

From what I can see from the LL dump, this is a result of the struct being constructed in one memory location, and then relocated elsewhere. My current workaround for this is calling a function after the initialiser, which works as expected.
Fixing this may require changes in how variables are constructed, and thus may not be feasible. I suggest that a warning be emitted for the use of pointerof on an instance variable in a constructor; this would expose any latent issues.

This also happens with self (just got bit by this bug):
class Foo
  def initialize
    self2 = self
    puts "pointerof(self) = #{pointerof(self2)}"
  end
end

foo = Foo.new
puts "pointerof(foo)  = #{pointerof(foo)}"

prints:
pointerof(self) = Pointer(Foo)@0x7fff5d3114c8
pointerof(foo)  = Pointer(Foo)@0x7fff5d311748

…14c8 ≠ …1748.

The first might be a bug, but it would be interesting to know your use case. Since a struct is passed by value, I wouldn't rely on pointers to it, because they can quickly become invalid.
The second case is not a bug: self and self2 are two different variables, their memory address is different.

My actual code looks something like
struct Test
    def initialize()
      @test = StaticArray(UInt32, 4)
<EMAIL_ADDRESS>    end
end

struct Test2
    def initialize()
      @test = Test.new
    end
end

test2 = Test2.new

which I would expect to produce a consistent memory address (as the array is a member variable of another member variable)
For comparison, the equivalent C++ works as expected:
#include <cstdio>
#include <cstdint>

struct Test
{
  uint32_t test[4];
  Test()
  {
    printf("%x\n", test);
  }
};

struct Test2
{
  Test test;
};

int main()
{
  Test2 test;
  printf("%x\n", test.test.test);
  return 0;
}

results in
bfab0e40
bfab0e40

Sounds a bit strange that structures of any kind should be "inited in one place" and then copied - if that happens for every type instantiation it would be a performance drag.

As of 0.24.2 this use-case is not valid. We now enforce the type of the instance variable when initializing.
Error in test.cr:12: instantiating 'Test:Class#new()'

test = Test.new
            ^~~

in test.cr:3: Can't infer the type of instance variable '@test' of Test

The type of a instance variable, if not declared explicitly with
`@test : Type`, is inferred from assignments to it across
the whole program.

The assignments must look like this:

  1. `@test = 1` (or other literals), inferred to the literal's type
  2. `@test = Type.new`, type is inferred to be Type
  3. `@test = Type.method`, where `method` has a return type
     annotation, type is inferred from it
  4. `@test = arg`, with 'arg' being a method argument with a
     type restriction 'Type', type is inferred to be Type
  5. `@test = arg`, with 'arg' being a method argument with a
     default value, type is inferred using rules 1, 2 and 3 from it
  6. `@test = uninitialized Type`, type is inferred to be Type
  7. `@test = LibSome.func`, and `LibSome` is a `lib`, type
     is inferred from that fun.
  8. `LibSome.func(out @test)`, and `LibSome` is a `lib`, type
     is inferred from that fun argument.

Other assignments have no effect on its type.

Can't infer the type of instance variable '@test' of Test

      @test = StaticArray(UInt32, 4)
      ^~~~~

@sdogruyol Issue is still valid, see code below:
struct Test
  def initialize
    @test = StaticArray(UInt32, 4).new(10_u32)
    p pointerof(@test)
  end

  def array_ptr
    p pointerof(@test)
  end
end

test = Test.new
test.array_ptr

I would change this from bug to feature.

agreed, this isn't entirely unexpected given struct semantics

I don't understand why copy is required at returning from #new. I think it should be able to handle #new like following on generating code because #initialize guarantees that all instance variables are set in some way.
struct A
  @foo : Int32
  @bar : Pointer(Int32)

  def initialize(@foo)
    @bar = pointerof(@foo)
  end
end

a = uninitialized A
a.initialize(100)

Which extra process is there before or after calling #initialize?
Which kind of #initialize process does need a copy?
Is it just because there is =?
I'm worrying that a struct is (implicitly) copied.
I would like to have an option to disallow any copy operation to a defined struct, like C++ can do this with putting the specific constructor declaration into private.
I (and some people) expect that struct is fixed location and fixed duration of lifetime. This semantic is useful to generate efficient code and sometimes required to call underlying C library, without loosing the experience of the user of wrapped library. For example, considering that the author of C library suggests to their function foo to pass local resource:
void user_func(...)
{
  struct X data;
  Y *ptr;
  ptr = foo(&data, ...);

  /* play with `ptr`, but actually read or write to `data` */
  bar(ptr, ...);
  baz(ptr, ...);
}

Although the content of data is public, no C programmer wants to copy data because it does not make sense.
To implement this in Crystal we need to write:
lib LibFoo
  struct X
     # omit
  end
  alias Y = Void

  fun foo(X*, ...) : Y*
  fun bar(Y*, ...) : Void
  fun baz(Y*, ...) : Void
end

def user_func(...)
  data = uninitialized LibFoo::X
  ptr = LibFoo.foo(pointerof(data), ...)

  # play with `ptr`
  LibFoo.bar(ptr, ...)
  LibFoo.baz(ptr, ...)

  # Is it guaranteed to `data` exists until here?
end

Developers who use Crystal consider this is unsafe and unwant to do. So I have to put this safe without loosing flexibility on calling bar, baz and so on.
About preferable usage of pointerof to use a C library
Before putting data into a struct, considering this:
struct Y
  @ptr : Pointer(LibFoo::Y)

  def initialize(@ptr)
  end

  def bar(...)
    LibFoo.bar(@ptr, ...)
  end

  def baz(...)
    LibFoo.baz(@ptr, ...)
  end
end

def bind_to_Y(..., &)
  data = uninitialized LibFoo::X
  ptr = Y.new(LibFoo.foo(pointerof(data), ...)
  ret = yield ptr
  data
  ret
end

# with this, a user can:

def user_func(...)
   bind_to_Y(...) do |y|
     # play with `y`.
     y.bar(...)
     y.baz(...)
   end
end

This looks safe but actually not safe.

Operation
Safety

Passing to an argument of another method
Safe if the calling method does not do any of followings

Copying to another local variable in the block
Safe

Passing to nested block
Unsafe unless executed inside this "scope"

Copying to a captured variable
Can be Unsafe

Returning y from block
Can be Unsafe

Passing to raise
Unsafe (because one can implement this with longjmp)

...
...

Moreover, we have to nest to use multiple objects at once. This is inconvenient.
def user_func(...)
  bind_to_Y(...) do |y|
    bind_to_Y(...) do |z|
      # play with `y` and `z`, `y` gets copied (right?).
      y.bar(...)
      z.baz(...)
      y.baz(...)
    end
  end
end

Putting data to an instance variable of struct to manage in pair
Because data and ptr is paired together, I may put it to a single struct:
struct Y
  @data : LibFoo::X
  @ptr : Pointer(LibFoo::Y)
  @refdata : ...

  def initialize(@refdata)
    @data = uninitialized LibFoo::X
    @ptr = LibFoo.foo(pointerof(@data), @refdata)
  end

  def bar(...)
    LibFoo.bar(@ptr, ...)
  end

  def baz(...)
    LibFoo.baz(@ptr, ...)
  end
end

# with this, a user can:

def user_func(...)
   y = Y.new(...)
   # play with `y`.
   y.bar(...)
   y.baz(...)
end

This is not work as expected because it is copied when return from #new.
This is the best semantic of providing the experience of LibFoo, however, it is still unsafe:

Operation
Safety

Passing to an argument of another method
Safe but the passed value still points the original variable

Copying to another local variable in the block
Safe but it still points the original variable

Passing to nested block
Unsafe unless executed inside this "scope", also it still points the original variable

Copying to a captured variable
Can be Unsafe, also it still points the original variable

Returning y from method
Unsafe

Passing to raise
Unsafe (because one can implement this with longjmp)

...
...

Workaround of above one
Since above does not work, we can make it to do delayed initialization:
struct Y
  @data : LibFoo::X
  @ptr : Pointer(LibFoo::Y)
  @refdata : ...

  def initialize(@refdata)
    @data = uninitialized LibFoo::X
    @ptr = Pointer(LibFoo::Y).null
  end

  def bar(...)
    LibFoo.bar(self, ...)
  end

  def baz(...)
    LibFoo.baz(self, ...)
  end

  def to_unsafe
    if @ptr.null?
      @ptr = LibFoo.foo(pointerof(@data), @refdata)
    end
    @ptr
  end
end

# with this, a user can:

def user_func(...)
   y = Y.new(...)
   # play with `y`.
   y.bar(...)
   y.baz(...)
end

In this case, LibFoo.foo will be called multiple times, if it has been copied before the calling one of these method.
  y = Y.new(...)
  z = y
  z.bar(...) # LibFoo.foo will be called for `z`
  y.baz(...) # LibFoo.foo will be called for `y`

Any copying before calling its methods is safe, but copying after calling any of its methods is possibly unsafe in same condition described above. This is too complicated.
Conclusion
We need a temporary object to bridge the user of binding library and underlying C library, but we don't want to fill the sea of heap memory with the garbage of temporary object, which can be used many many times. However, currently we can not handle a pointer from C library with a struct gracefully. Because it is freely and implicitly copied one to another. Disallowing copy can let the user of binding library to use the struct only in safe way, without loosing efficiency.
If you want a real world use case, here it is.
I have ideas of the methods to disallow copying:

Having protected or private #dup

Same to do with Reference. (see below)
Value#dup becomes an "special method" which makes a copy
a = b where b is a Value should be interpreted as a = b.dup
a = A.new where A is a Struct class can be interpreted as a = A.new.dup

Having protected or private #initialize(another : self)

Same as C++.
a = b where b is a Value should be interpreted as a = b.class.new(b)
a = A.new where A is a Struct class never involves copy.

Special annotation to a struct

The user of an annotated struct can never "monkey patch" to reenable copy operation of the struct.

N.B.
To protect Reference from copying is easy. Because it requires #dup to make a copy, so just put #dup to protected or private:
class A
  protected def dup
    self
  end
end

a = A.new
b = a.dup

Showing last frame. Use --error-trace for full trace.

error in line 8
Error: protected method 'dup' called for A

@asterite suggested to disallow to use pointerof to instance variable of struct in #9700. The language reference says using pointerof is (always) unsafe. If so, just disallowing it does not make sense, I think. Any invalid usage of pointerof should not be responsible to Crystal's developers, however you should provide the detailed specification such as "when returned pointer goes invalid". This should be guaranteed by language in some way.
(ex.)

Source of pointer
Guaranteed Lifetime

Any Reference type
Until no variable references it

Any instance variables of Value type in Reference (class)
Until no variable references the container of it

Any instance variables of Value type in #initialize of Value (struct)
Until return from the method

Any instance variables of Value type in any other method of Value (struct)
Until return from the caller's scope

Any local variable of Value type
Until return from the current scope

Any captured variable of Value type
Until return from the block

Any constant variable of Value type
Forever

(Non Interpolated) String literal
Forever

(This table is not true. This depends how the language guarantees (i.e., decided by Crystal's developer))

It works like that because of how new is defined, and how structs are passed by value.
@waj was working on improving this situation but it's probably something hard to change


onPointerEnter/onPointerLeave handlers are not reset on change if I use domTarget instead of bind()

Describe the bug
If I use useGesture callback, provide in config reference to element (domTarget), handlers for onPointerEnter/onPointerLeave, which use some variables from component's function scope for example, I want those handlers to be reset in case some of those variables change, but it does not happen. On the other hand, if I use just bind() instead of setting domTarget, everything works as expected.
Sandbox or Video
Here is reproduction of bug: https://codesandbox.io/s/usegesturepointerbug-8f4ir?file=/src/index.js
If you hover mouse over the red element, in console you will see counter value. After click on "Increment" button, the next hovers should print new value, but instead, they print the first one (when component was initilized).
Information:

React Use Gesture version: 9.0.0

Hi @tokarchyn good catch! Just published v9.0.3 which should fix this. Thanks for reporting this.

Yes, I've tried it and can confirm that bug is fixed. @dbismut thank you for your contribution to this awesome library 😉


enhancement: auto mobile search

Hi I'm wondering if it possible to add a function of simulate mobile search by use a mobile browser user-agent?
And thank u for your program. Its really easy to use.

Hi, @Bakuteria-Ocha. Thanks!
Unfortunately I don't think so, the Bing page takes other factors besides the user-agent to present the mobile version and there is also no control to change it directly in the loaded Bing structure (via iframe/JS).
The only functional way to do this would be to emulate a mobile browser through the developer tools (F12) on the PC or use your smartphone to run it, this way, the loaded structure will be the mobile one and it works perfectly.


Rename bin/concrete to bin/ccm, fix Window bin

Close #6
Close #7

I think this makes sense to do, but not coupled with renaming. Renaming is going to be a bit of a bikeshed and take a few days to resolve whereas this pull request can be merged otherwise


Not enough depth precision to render solar view?

This Sandcastle renders the sun.  One issue at this scale is that depth testing starts to fail. The line should be behind the globe here and not show through:

If you reduce the radius you can see it depth testing correctly. Another issue here is zooming out a bit makes the globe and entities disappear. But you can work around that by shifting the near and far planes:
camera.frustum.near =<PHONE_NUMBER>;
camera.frustum.far =<PHONE_NUMBER>0;

But that seems to be not enough to fix the line behind the globe.
Came up in this forum thread, same as this issue https://github.com/CesiumGS/cesium/issues/8683.

@OmarShehata I'm not able to reproduce this anymore. The line is correctly depth-tested on my machine:

Do you still see a problem? If not, we can close the issue.


Input widgets for class attributes  with type declarations as in magicgui?

Dear @hanjinliu ,
thanks, this looks great.
One question: is it also possible to keep input widgets for numbers, data, etc. as in magicgui
or is it currently restricted to generating buttons that trigger method calls?
Maybe these could be class attributes with a magicgu-like wrapper?
If we can set properties of the class that could be quite useful.

Thanks for your feedback, @VolkerH !
Yes, actually I've also thought about setting class attributes via other type of widgets.
However, I'm pending the feature for a few reasons:

You can define a kind of "setter" method to do this, like:

@magicclass
class C:
    data = 0
    def set_class_attr(self, data:int):
        self.__class__.data = data

I think the main reason why you want to set class attributes is to share same variants when you open multiple GUIs (otherwise you should prefer non-class attributes). In that case, you'll not often change their values so they should be set as shown in the example above.

Are there any other use cases you suppose? I know I should add some actions for class attributes, so I would be great if you have some suggestions.

Just as an example of a use case. This is something we did with magic gui:

It allows stitching in 3 steps.

the user selects input files and a few other parameters and presses "Generate Preview"
once the previews have been generated, the user can select the correct preview from a layer drop-down list
the user can then trigger fusion at full resolution or generation of a Big Stitcher project.

We had to do some very hacky things to generate 3 buttons and to keep the state (which sourece tiles were loaded in the first step etc.). It is not very clean code.
magic-class would offer a clean way to keep the state (i.e. file names of tiles, chosen symmetry transformation) and trigger different actions with different buttons. I just don't see how I can create the widgets for input such as filenames and integer with magic class.
This is just to give you an idea for a possible use case, I don't know how feasible it would be.

Thanks for sharing! I understood your goals.
The point is not how to make class attribute accessible. What you want may be how to keep some functions interfaces (path reader, choose layer etc. in your widget) always displayed on the main widget, while convert other functions into buttons. This feature is definitely useful in many cases! I'll consider how to make it in the later versions.
Here I can show you a temporal solution that works with v0.1.0.
Since classes created by @magicclass inherits Container widget, you can append/insert widgets. Magic-class supports __post_init__ method that will be called after __init__ (just like dataclass), so the simplest way is to define the loader and parameter setter with @magicgui and add it to magic-class (of course you can add magicgui by yourself afterword instead of defining __post_init__).
from magicgui import magicgui
from magicclass import magicclass
from pathlib import Path

@magicclass
class C:
    def __post_init__(self):
        @magicgui(auto_call=True) # auto_call is True because we don't want to push call button every time!
        def loader(path:Path, param:int):
            self.path = path
            self.param = param
        self.insert(0, loader)

    def show_path(self):
        print(self.path)

    def show_param(self):
        print(self.param)

c = C()
c.show()

Thanks for this example. This looks great, I will give it a try !


Ac fixlistsearch

Docs Build status updates of commit 18fef4e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/includes/landing-page.html
:white_check_mark:Succeeded

msteams-platform/samples/app-templates.md
:white_check_mark:Succeeded

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.


21x — 64x slowdown from #11323 "Always vectorize LinAlg ops for VMVX backend" now that we have fast ukernels

#11323 has been a great work-around for the hard-to-debug issue #10859 (thanks!!). The downside was to make VMVX even slower, but that understandably wasn't a major concern as long as VMVX was very slow anyway.
Now that we have good microkernels on ARM64, VMVX can in some cases (for now, matmuls) approach peak performance. As VMVX's arithmetic performance gets bumped by 3 or 4 orders of magnitude (that is the gap from interpreting scalar arithmetic ops to calling a good microkernel), the performance trade-offs in work-arounds such as #11323 need to be reevaluated.
To illustrate this, here are 2 simple matmul testcases, both dynamic shape, one f32 and one i8.
Compile like this,
tools/iree-compile --iree-hal-target-backends=vmvx --iree-flow-enable-data-tiling --iree-vmvx-enable-microkernels ~/matmul_f32.mlir -o /tmp/matmul_f32.vmfb

Push to device and benchmark like this --- here on the big core of a Moto Edge X30:
adb shell taskset 80 /data/local/tmp/iree-benchmark-module --device=local-task --module=/data/local/tmp/matmul_f32.vmfb --function=matmul_f32 --input=1000x1000xf32 --input=1000x1000xf32 --input=1000x1000xf32 --task_topology_group_count=1 --benchmark_min_time=3

Results:

Testcase
main branch
With #11323 reverted
Speedup from reverting #11323

matmul_f32
1.50 items/s
31.5 items/s
21x

matmul_i8
1.55 items/s
99.1 items/s
64x

To put this into perspective (since one question that we need to answer here is, does VMVX performance matter?), let's translate this into Gop/s, easy as the matmul size means that each item in this benchmark is 2 billion ops, so we just multiply these figures by 2 to get Gop/s:

Testcase
main branch
With #11323 reverted

matmul_f32
3.0 Gop/s
63 Gop/s

matmul_i8
3.1 Gop/s
198.2 Gop/s

And now let's compare this to peak for this CPU core. It's clocked at 3.0 GHz, does 4 128-bit SIMD arithmetic instructions per cycle. For f32, it's vector mul-adds = 8 ops per instruction. For i8, it's 2x8x2 matmuls = 64 ops per instruction. So peak is 96 Gop/s for f32 and 768 Gop/s for i8. Dividing the above table by that, we get:

Testcase
main branch
With #11323 reverted

matmul_f32
3.1% of peak
66% of peak

matmul_i8
0.4% of peak
26% of peak

#12061 is a draft PR essentially reverting #11323. However, #12060 has an e2e testcase that is broken by that --- inadvertently producing a minimized testcase for the originally motivating issue #10859.

Update: once #12099 is merged, we should be able to actually just revert #11323 without inviting back the alloca errors that it allowed us to avoid.

Exciting! When it lands we should get some traces of the models hitting the alloca path to see if it's worth optimizing that in the runtime.

Tentative fix is #12061: Instead of just reverting #11323, this keeps and adapts the useful unit test that #11323 introduced, and adds e2e regression tests from the testcases from issues #12060, #10859.


Native Image with GraalVM

Update the build files, and change the engine (Netty is not supported for GraalVM) such that a docker image can be build with a native image.
Check out:

ktor-samples
Ktor documentation

I have the server running as a native image, but there are some gotchas with GraalVM metadata and serialization.
Ktor's content negotiation still uses reflection as described here and the workaround kinda defeats its purpose entirely. So invoking either call.receive() or call.respond() will lead to runtime exceptions, unless you include every reflectable class in reflect-config.json.
Another thing I ran into is kjwt using kotlinx-serialization internally:
kotlinx.serialization.SerializationException: Serializer for class 'JsonObject' is not found.
Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied.


Default Client Options

I used Kiota to generate a customized Go client library targeting the Graph API and have added the Graph Go core library to my project.
When creating a new GraphRequestAdapter the clientOptions is required, forcing users to creating their own clientOptions what might be a strange scenario since the clientOption is used to inject telemetry data around SDK versioning.

Expected:
We should have a default client option where we set up the core library values as default, so when creating a new adapter, the core version will be sent to out telemetry.
authProvider, _ := auth.NewAzureIdentityAuthenticationProviderWithScopes(credential, scopes)

adapterV1, _ := msgraphcore.NewGraphRequestAdapterBase(authProvider)

client := gosdk.NewGraphBaseServiceClient(adapterV1, store.BackingStoreFactoryInstance)

Thanks for starting the conversation on this one. Ideally self-serve consumers would get the same initialization experience as pre-packaged ones, while keeping a similar experience for the Tasks and other benefits from Graph core.
This takes a couple of pre-requisites:

The dependencies kiota tells them to add should be graph core and not kiota libraries
They'll need the handcrafted request adapter so telemetry and additional middleware handlers are configured for them
They'll need the handcrafted graph client so they can initialize valid hosts and scopes (auth), map Me if they desire to do so, and add a getter for the request adapter.

While I've created an issue for the first part, I believe the last 2 items should be part of public documentation (like a tutorial to get their own client in any language, as well as a topic that explain the value of doing so).
Lastly we'll need to decide: do we want to enable backing store for self-served clients? What telemetry values do we want to set for self-served clients?

CC @sebastienlevert since this is something we'll need to drive across languages

Linking https://github.com/microsoftgraph/msgraph-sdk-dotnet-core/issues/712 as well to bring to the surface parallel issue on C#.

So my thoughts on this one.
Self-serve should act as the "smaller" version of any of our SDK. That means that we should have the EXACT same experience, just without all the API surface.
Any "core" libraries should be part of kiota info and probably be documented as part of the OpenAPI description (any API could document where and how to use these core libraries). The kiota info should offer both scenarios (full Kiota, or with the core sidecar). I'm wondering if we should have some sort of "light" version of our SDK just without the paths, and Kiota would generate the rest (I don't know if the word "sidecar" is the right one, but it's the one that came to mind).
That way the experience is the following:

Generate a self-serve SDK with just a few endpoints
Install the required libraries (graph-core + light SDK)
Documentation helps the user with creating their client

This should also work in the plain Kiota world if developers want to handle everything themselves.

light SDK: do you mean just the two classes we've handcrafted in the service libs? Or do you mean that + all the models?

Just the classes we handcrafted in the SDKs. And identify how we could "plug-in" the rest of the generated code to this "light" version of the SDK?

At least for one of them we can't as it derives from the generated client
The other one is just a place holder to get the information version.
Everything that could be moved from the service lib to core has been. And I'm not sure publishing a new library for a single class will improve the developer experience.

So we leave this to the developer to build both the request adapters and the clients? Is this what I understand from this?

this is where having examples or even snippets (dotnet templates, yoman generators, etc...) would help close the loop. But in essence yes.

This is going to be an area where we really need to excel in documenting this. We can't leave that to the developer without any hand holding.


OCPBUGS-11389: Use PlatformStatus instead of PlatformSpec to determine platform

When determining the current platform, we should use PlatformStatus instead of PlatformSpec.

/jira refresh

/retest

/lgtm
Thanks @cblecker, great catch 😅

/cherry-pick release-4.13

/test unit

/retest

/retest-required

/retest

/retest

/retest


VS Code Speech does not warn when no chat providers are found.

Testing #202926
I do not have copilot-chat  installed. Should we notify the user that the Hey Code command needs a chat provider to work?

Good point, I wonder how we deal with this in other contexts. @roblourens is there an example of commands or settings that impact chat that would tell the user to install an extension for a chat provider?
One thing we could do is to not show the setting when no chat provider is registered.

There isn't any API for you to probe whether chat providers are registered, but any UX would be owned by vscode and just not show up, right? I think the extension shouldn't have to know whether there are chat providers.

@roblourens but I can call IChatService.getProviderInfos() to see if any provider is registered, no?

Yeah, internally you can do that.

Yeah this is all internal, the extension knows nothing about the UI.

Verification: install ms-vscode.vscode-speech speech extension but not copilot chat and verify you do not see accessibility.voice.keywordActivation setting. Once you install copilot chat, you see accessibility.voice.keywordActivation setting.


[Improvement] All autoplaylists are stored in one mongo document

Glad I now understand how nosql databases work.

Fixed in 2.0


Something went wrong while installing Python libraries and cannot continue."

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
24
What happened?
I cant get it to install on my 2nd system. I had it installed perfictly on my laptop running on RTX 3070 and now when I try installing on my main PC with RTX 4090 I cant install as I get this error message:
"Something went wrong while installing Python libraries and cannot continue."
Screenshots
    1 file(s) copied.

Collecting package metadata (repodata.json): failed
CondaSSLError: OpenSSL appears to be unavailable on this machine. OpenSSL is required to
download and install packages.
Exception: HTTPSConnectionPool(host='conda.anaconda.org', port=443): Max retries exceeded with url: /pytorch/win-64/repodata.json (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))
""
"Something went wrong while installing Python libraries and cannot continue."
"See https://invoke-ai.github.io/InvokeAI/INSTALL_SOURCE#troubleshooting for troubleshooting"
"tips, or visit https://invoke-ai.github.io/InvokeAI/#installation for alternative"
"installation methods"
Press any key to continue . . .
Additional context
I belive we need to see what are the prerequisites for the installation to be successful as I belive my both systems are identical accept the GPU
Contact Details
No response

This error usually occurs when the OpenSSL library is not installed or is not accessible on your machine. To fix this issue, you should install the OpenSSL library on your machine and make sure it is accessible. Additionally, you should check that the correct version of OpenSSL is installed and that it is properly configured.
Alternatively, you can try other installation methods, such as using a pre-built Python distribution package or downloading the source code and building it yourself.

Thanks @53jk1 so I installed openssl and it it move further without any warning about ssl, howveer now I stuck on:
To initialize your shell, run
$ conda init <SHELL_NAME>

Currently supported shells are:

bash
cmd.exe
fish
tcsh
xonsh
zsh
powershell

See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
Loading Python libraries...
Traceback (most recent call last):
File "D:\InvokeAI\scripts\configure_invokeai.py", line 18, in
from omegaconf import OmegaConf
ModuleNotFoundError: No module named 'omegaconf'
""
"The configure script crashed or was cancelled."
"InvokeAI is not ready to run. To run preload_models.py again,"
"run the command 'update.bat' in this directory."
"Press any key to continue"
Press any key to continue . . .

This error message indicates that the module omegaconf is not installed. To fix this, you need to install the omegaconf module. You can do this by running the command 'pip install omegaconf' in the terminal. Once the module is installed, you can run the preload_models.py script again by running the command 'update.bat' in the directory.

Thanks again @53jk1
Now I have this error:
D:_anaconda3_\lib\site-packages\numpy_init_.py:143: UserWarning: mkl-service package failed to import, therefore Intel(R) MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package, see http://github.com/IntelPython/mkl-service
from . import distributor_init
Traceback (most recent call last):
File "D:\anaconda3\lib\site-packages\numpy\core_init_.py", line 22, in
from . import multiarray
File "D:\anaconda3_\lib\site-packages\numpy\core\multiarray.py", line 12, in
from . import overrides
File "D:\anaconda3_\lib\site-packages\numpy\core\overrides.py", line 7, in
from numpy.core._multiarray_umath import (
ImportError: DLL load failed while importing _multiarray_umath: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\InvokeAI\scripts\preload_models.py", line 8, in
import configure_invokeai
File "D:\stable-diffusion_InvokeAI\scripts\configure_invokeai.py", line 23, in
from transformers import CLIPTokenizer, CLIPTextModel
File "D:\anaconda3_\lib\site-packages\transformers_init_.py", line 30, in
from . import dependency_versions_check
File "D:\anaconda3_\lib\site-packages\transformers\dependency_versions_check.py", line 17, in
from .utils.versions import require_version, require_version_core
File "D:\anaconda3_\lib\site-packages\transformers\utils_init_.py", line 34, in
from .generic import (
File "D:\anaconda3_\lib\site-packages\transformers\utils\generic.py", line 27, in
import numpy as np
File "D:\anaconda3_\lib\site-packages\numpy_init_.py", line 145, in
from . import core
File "D:\anaconda3_\lib\site-packages\numpy\core_init_.py", line 48, in
raise ImportError(msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

The Python version is: Python3.9 from "D:\Ai__Project_anaconda3_\python.exe"
The NumPy version is: "1.20.3"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: DLL load failed while importing _multiarray_umath: The specified module could not be found.
"Press any key to continue"
Press any key to continue . . .

@Tobe2d the error you are seeing is likely due to an incompatibility between the version of Python you are using and the version of NumPy you have installed. It is recommended that you check the versions of both Python and NumPy to make sure they are compatible. Additionally, you can refer to the NumPy documentation for troubleshooting tips and advice on how to solve this issue: https://numpy.org/devdocs/user/troubleshooting-importerror.html.

Besides, I don't think it is a bug, you should change the title of Issue

I have the same issues.. is their a good conda manual install link that walks you though the conda env, python version, requirements.txt etc?

@gateway, try doing what I wrote above


JAX philosophy, or "culture and values" doc

What's JAX all about, what are the principles guiding its development? Could replace any JAX-hosted comparisons with other frameworks/libraries.

Is this still in scope to be open-sourced? 🙂

Closing as stale.


Training is terminated.

Hello, thank you for making ChainerCV. It is a very useful framework.
I tried to train SSD network, but training is terminated unexpectedly on the training.
I have no idea about this error. So, please help me.

terminate called after throwing an instance of 'thrust::system::system_error'
  what():  merge_sort: failed to synchronize: unspecified launch failure
Aborted (core dumped)

Hi. thrust is probably not recognied by cupy.
merge_sort is needed for cupy.sort.
Can you check if CuPy is installed properly?

@yuyu2172
Thank you for helping, but I think cupy is correctly installed.

In [1]: import cupy

In [2]: cupy.sort
Out[2]:

I find this error emerge only with my own dataset. So, I will check my dataset.

Can you actually call cupy.sort?

I find the cause is bug in my dataset.
The order of bbox coordinates is incorrect.
I'm sory and thank you for helping.


Link latest documentation from old documentation

Documentation Is:

[ ] Missing or needed
[x] Confusing
[ ] Not Sure?

Please Explain in Detail...
When I google for Chart.js documentation Google sometimes returns old documentation, which is particularly sneaky because Google hides the URL, for example:

leads to https://www.chartjs.org/docs/2.9.4/configuration/tooltip.html which doesn't at all say that this isn't the latest version.
Your Proposal for Changes
I think it would be nice to do something like the Rust docs.rs which displays  when viewing out of date documentation.

I think a couple of things can be done to mitigate this:

update the dropdown menu with a stale versions warning
add the robots.txt file

Stale version varning. We can show a visible warning for all numbered versions that will suggest checking the lastest version of the docs. IDK if a 5-word warning is too ugly—I think it might be okay since is should attract the attention.
We can also add a dedicated link to the latest version alongside the link to the development version.
Please see how it works:

robots.txt file. We can add the robots.txt file to discourage Google from indexing all versions of the documentation pages except for the "latest" and "master".
It doesn't prevent these pages from being indexed completely—Google will still index them if there are any links to these pages (which is a good thing); however, this should remove most of the "stale" documentation pages from the index.
It will also remove the "most recent numeric version" pages from the index (as of this moment, it's https://www.chartjs.org/docs/3.8.0/); it seems to be okay since the same content is available as the "latest" versions (https://www.chartjs.org/docs/latest/).
I've submitted a PR with these changes:
I've also tested them with a robots.txt checker. Please see screenshots:

https://www.chartjs.org/ — allowed ✅

https://www.chartjs.org/docs/ — allowed ✅

https://www.chartjs.org/docs/latest/ — allowed ✅

https://www.chartjs.org/docs/latest/getting-started/installation.html — allowed ✅

https://www.chartjs.org/docs/3.8.0/ — disallowed ❌

https://www.chartjs.org/docs/3.7.1/ — disallowed ❌

link latest docs in previous versions

add robots.txt

add slugs on SERP

I think a couple of things can be done to mitigate this:

update the dropdown menu with a stale versions warning
add the robots.txt file

Stale version varning
We can show a visible warning for all numbered versions that will suggest checking the lastest version of the docs. IDK if a 5-word warning is too ugly—I think it might be okay since is should attract the attention.
We can also add a dedicated link to the latest version alongside the link to the development version.
I've submitted a PR with these changes:
Please see how it works:

robots.txt file
We can add the robots.txt file to discourage Google from indexing all versions of the documentation pages except for the "latest" and "master".
It doesn't prevent these pages from being indexed completely—Google will still index them if there are any links to these pages (which is a good thing); however, this should remove most of the "stale" documentation pages from the index.
It will also remove the "most recent numeric version" pages from the index (as of this moment, it's https://www.chartjs.org/docs/3.8.0/); it seems to be okay since the same content is available as the "latest" versions (https://www.chartjs.org/docs/latest/).
I've submitted a PR with these changes:
I've also tested them with a robots.txt checker. Please see screenshots:

https://www.chartjs.org/ — allowed ✅

https://www.chartjs.org/docs/ — allowed ✅

https://www.chartjs.org/docs/latest/ — allowed ✅

https://www.chartjs.org/docs/latest/getting-started/installation.html — allowed ✅

https://www.chartjs.org/docs/3.8.0/ — disallowed ❌

https://www.chartjs.org/docs/3.7.1/ — disallowed ❌

link latest docs in previous versions

add robots.txt

add slugs on SERP


Implemented remediation service to only provide next actions

closes #3682
Signed-off-by: warber<EMAIL_ADDRESS>

PR to be merged once the related issues are completed:
https://github.com/keptn/keptn/issues/3698
https://github.com/keptn/keptn/issues/3991
https://github.com/keptn/keptn/issues/3683
https://github.com/keptn/examples/issues/165


[Docs][Format] Update ADBC spec version to 1.1.0 in Arrow spec docs

Describe the enhancement requested
The ADBC pages in the Arrow specifications docs need to be updated to refer to ADBC spec version 1.1.0:
https://github.com/apache/arrow/blob/main/docs/source/format/ADBC.rst
https://github.com/apache/arrow/tree/main/docs/source/format/ADBC
The content on these pages could also be pared down somewhat and replaced with links to ADBC docs pages such as https://arrow.apache.org/adbc/current/format/specification.html
Component(s)
Documentation

@lidavidm is this something you can do, or nominate someone to do? Thanks

Issue resolved by pull request 44313
https://github.com/apache/arrow/pull/44313


(PUP-9405) Mark resources as failed if prefetch fails

Previously, if prefetch raised LoadError or Puppet::MissingCommand, then it never marked the resources associated with the providers' type as failed. Similarly, if prefetch raised StandardError, then it never marked the resources as failed when Puppet[:future_features] was false (default). As a result, the overall transaction status would be "failure", but there wouldn't be any resource status events in the report for what the failure was.
Now we consistently mark resources as failed if LoadError or StandardError are raised. As a result of this change, if a provider's prefetch raises LoadError or Puppet::MissingCommand, then the provider will not be called later to create resources, since those exceptions indicate a provider dependency is missing, so there's no point in having the provider enforce desired state.

I ran into order dependent spec failures (I think due to a new facter 4 gem). I submitted https://github.com/puppetlabs/puppet/pull/8288 targeting master, which will need to be merged up to main.


Document how to deploy Influx to AWS using Terraform

we have this: https://registry.terraform.io/modules/influxdata/influxdb/aws/1.0.4
We should create some documentation around how to set up OSS and Enterprise on AWS using this.

Closing in favor of https://github.com/influxdata/docs.influxdata.com/issues/2063.


Prepare4.2

Fixes #1316
Merges PR #1309, but all credits go to @fanchuo
Merges PR #1307, but all credits go to @YunLemon
List all changes since 4.1 in the readme.md

Coverage increased (+0.007%) to 88.837% when pulling 59f07ef464928d5549ae4ac656bd3fc12b2aa98b on manticore-projects:Prepare4.2 into cf0d74f6572d6aa195103bdf8a759223e46d3691 on JSQLParser:master.


Duplicate nested columns keys fix

If there are several NestedData table columns, the value is duplicated because the keys are always children and it's impossible to overwrite them

Thanks @yamaha252 ! @joyceverheije ran into this issue recently and had the intention to PR as well, but let's go with yours since you opened it first. If you can bring in her docs updates though, that'd be great.

@ifox done, thanks!


Add a way to save document

My use case: I'm scraping the Azure portal in order to download my monthly invoice as a pdf. When my script gets to the download link, it would be nice to be able to right-click/save as or click the link and when the PDF page shows up (Chrome), save the current document from the script, with its suggested filename in a given path.

This worked for me.
Let me know if this does not work for you.  You just need to start chrome differently to disable the PDF viewer and auto download files and then you can just click the link and it will save to the directory you set.
open canopy
open runner
let options = OpenQA.Selenium.Chrome.ChromeOptions()
//Set to your pref dir
options.AddUserProfilePreference("download.default_directory", @"C:\Users\TEMP")
options.AddUserProfilePreference("profile.default_content_settings.popups", 0)
options.AddUserProfilePreference("download.prompt_for_download", false)
options.AddUserProfilePreference("plugins.plugins_disabled", [| "Chrome PDF Viewer" |] )
start (ChromeWithOptions options)
url "http://www.pdfpdf.com/samples.html"
click "a[href='samples/Sample1.PDF']"

Worked like a charm! Thanks for being so helpful!

Great! No problem!

@lefthandedgoat Sorry to bother you again, but this approach seems to not work since Chrome 57.
This is what I've been able to find: https://productforums.google.com/forum/#!topic/chrome/ZQJFOB3o3EQ
Any ideas?

Remove this 4th option
options.AddUserProfilePreference("plugins.plugins_disabled", [| "Chrome PDF Viewer" |] )
and replace with
 options.AddUserProfilePreference("plugins.always_open_pdf_externally", true)
Found here: http://stackoverflow.com/a/42927095/697586