one-to-many (Reverse Lookups)

I am learning how to build subgraphs and reading through the docs,  and quite confusing the second paragraph on the one-to-many reverse lookups topic which is
"For one-to-many relationships, the relationship should always be stored on the 'one' side, and the 'many' side should always be derived."
Should it be the other way around? As the given example below, a Token can have many TokenBalances, while a TokenBalance can belong to a single Token, so the 'one' side (Token) is "derived", and the 'many' side (TokenBalance) stores the relationship.
type Token @entity(immutable: true) {
  id: Bytes!
  tokenBalances: [TokenBalance!]! @derivedFrom(field: "token")
}

type TokenBalance @entity {
  id: Bytes!
  amount: Int!
  token: Token!
}

thanks @autsada! I think in this case it's saying that the derived field is on the one side, so the many side can be derived from that. But I agree that the wording isn't clear. Do you have a wording in mind that you think would be clearer?

Thanks @azf20 for the clarification, I revisited the docs, and yes you are right, your explanation is clear enough.
Thank you for your time.


Chain selector issues and clean up

Currently we show a duplicated ETH in the trade chain selection dropdown.  Additionally we show wrapped assets here for some reason.  I think these are both bugs (cc @shapeshift/product ). wrapped assets should be treated like all other ERC20 assets and shouldn't be mixed in with the chain selection process.  I can see an argument for potentially allowing this for chain that don't have a native representation of ETH, but for chains like arbitrum that do, this just seems overly
confusing.

I think @woodenfurniture was working on a fix for this.


GHA Job Selection

Summary

RFCs:  $\emptyset$.
Categories:  cicd

Introduces the following labels for GHA job selection:

cicd:suzuka-containers: for all Suzuka Container builds and tests.
cicd:suzuka-full-node: for Suzuka e2e node tests (not in containers).
cicd:mcr: for MCR tests.

Jobs will run if the label matches or if it is a job running on main.

Testing

Workflows testing manually against GHA. Has been run through to main.

Outstanding issues

Changes occurred in workflows in main that need to be reconciled.

Needs to pick up changes from the checks-all workflow in the base branch.


Set level: max in phpstan.neon.dist

NOTE: This repository is no longer supported or updated by @gomzyakov . If you wish to continue to develop this code yourself, we recommend you fork it.


Fix typos and formatting.

Fixed some capitalization and missing full-stops.  I also remade a list according to what I think the original intent was, otherwise the "Do one of the following:" leads to no list.

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


Expected behavior of clims range slider

❓ Questions and Help
I'm making this issue to discuss expected behavior of the clims range slider.
I think the slider should only interact with the top most selected visible image layer. If no image layers are selected and visible then the slider should be functionally disabled and visually greyedout. If multiple image layers are selected and visible changes of the slider will only affect the topmost one.
One question is when an image layer is selected what should the min value and the max value of the range slider should be pegged to? Options are

[0, 1] if the image is a float
[0, 255] if the image is uint8
[0, 65,535] for uint16
[0, 4,294,967,295] for unit32

As was pointed out in the meeting, little data uses that full range. Many cameras are 12-bit or 14-bit. So another option is to look at the max value of the image and set it to say the biggest power of 2 that is greater? Another option is to only use these values as defaults and instead allow the limits to be set in the meta data field when the image layer is created.
The clims slider can be then initialized to the min and max value of the image passed, but are then adjustable up to the ranges described above.
Thoughts @jni @royerloic @AhmetCanSolak ?

I think the slider should only interact with the top most selected visible image layer. If no image layers are selected and visible then the slider should be functionally disabled and visually greyedout. If multiple image layers are selected and visible changes of the slider will only affect the topmost one.

i think disabling such slider is a production level concern. Other than that it could affect only the top most selected image layer, no problem with that.

One question is when an image layer is selected what should the min value and the max value of the range slider should be pegged to? Options are

[0, 1] if the image is a float
[0, 255] if the image is uint8
[0, 65,535] for uint16
[0, 4,294,967,295] for unit32

As was pointed out in the meeting, little data uses that full range. Many cameras are 12-bit or 14-bit. So another option is to look at the max value of the image and set it to say the biggest power of 2 that is greater? Another option is to only use these values as defaults and instead allow the limits to be set in the meta data field when the image layer is created.

I think this questions deservers a complicated solution in the long run. I would be happy to hear more about what we want to see initally.

To start the clim should be applied to all image layers using the common min and max.
If the images are not comparable because on completely different ranges, we can have
a checkbox that let's one normalise all image layers between [0,1]. I instructed @AhmetCanSolak
to start with that and we will see later how we refine this based on how it looks and feels...

@royerloic I disagree with pegging the range of the clims to the max and min. I haven't found that useful personally, and seems unlikely to be sufficient. I often like to put the top clim value larger than the image max as otherwise the images appear almost saturated to me. I am currently doing this in a notebook when using Napari now :-)
I also disagree with applying the clim to all layers simultaneously -- am specifically concerned about the case of different channels of data acquired with dyes of different brightness.
Would love to hear more about where you're coming from on this one!

What we are planning to do with @AhmetCanSolak is to use:
[min-0.2*(max-min), max+0.2*(max-min)] where min and max are the min and max of all channels.
This assumes that the images are comparable (similar ranges).
If the images have completely different ranges we can toggle a switch to normalise
them all to a common range. We could have a 'brightness' slider per image layer to tune
individual layers brightness. But I still want to have a global setting that always applied.
We will start with this and see how it goes.

for saturation, gamma is what you want...
(remember, there is always a gamma because of screens,
so adjusting gamma is always desirable)

Using a some function of the max/min seems like a reasonable place to start.
I don't like the idea of per image sliders / normalization.
Agreed adding gamma changes the game!
But agreed - we'll see how this feels and take it from there!!

I think @royerloic 's will provide same functionality in the long run and can be preferable. With a normalization button on layers, all images can be mapped [0, 1]. Also without implementing the global clim, there are so many different corner cases handle. I love to decide on this matter after getting more feedback from various users and use cases. Currently we have global implementation in #82

Agreed, this issue seems complex enough that getting a couple different implementations working and seeing what feels right seems like a good idea. With just one image in the viewer in #82 the range limits are working ok for me right now, though I'd still like to be able to set them myself, and I havn't played around with enough different types of images yet to get a good sense of them yet. Sometimes I feel like I using just a little bit of the slider range, sometimes a lot. Does anyone know what imageJ does as they have to solve this problem too?
Let me try and explain in a little more detail though why I don't like the global / normalizing option.
One reason is that I would not want to be forced to normalize or copy raw data that I may want to preserve in it's original form for operations by other algorithms. i.e. if as a user I have an algo that expects a 0-255, I don't want to have to be forced to add a conversion back step or have a duplicated copy of the raw data.
A more fundamental reason why i don't like only the global option is that often we may be looking at images that have the same field of view but radically different interpretations. For example it was very common for the community of scientists I was working with to generate a set of uint16 images corresponding to signal from some sample then do analysis on these images to get an r^2 value for each pixel that was between 0-1. We would then want to overlay the two signals on top of each other as they correspond to the same object in space, but there's no way for me to reason about how a global clims should be that simultaneously apply to the r^2 value and the raw signal measurement or what normalization could be done to bring them onto the same axis. Going even further we would sometimes make z-score calculations from the same data that would live in a range of [-2 to 2] say. Now I want to use a zero-meaned diverging colormap for this layer, again I don't see how a global clims can be used in concert with both the r^2 value and the original raw image which have very different colormaps.
For those users that are always looking at the same types of image a checkbox like "apply to all" or "apply to all selected" seems like a reasonable option that can meet all their needs and reproduce the global functionality. I'd propose that if the box is unchecked having the clims apply only to the top most selected visible layer. The examples juan gave above with different opacity values need to be considered, but they are addressable.
I'm happy to provide an example implementation of this if people want and then we can get a feel for the different behaviors and see what more people are interested in. How does this sound to everyone? Curious about @kevinyamauchi experience with this is too.

I did some digging into imageJ and how they set look-up-table limits and deal with multiple channels.
Here’s some info from the docs
https://imagej.nih.gov/ij/docs/guide/146-28.html
For a single grayscale image they set the limits of the range to be the min and max of the image. Maybe this will work for most users and we should copy it. I guess I was wrong on this one above ;-)
The auto-button then sets the actual clim values based on a routine that allows a few pixels to be saturated. I’ve always thought it did a reasonable starting job. Also the set button allows users to type in values that may exceed the range of the current sliders (in which case they adjust appropriately), so you maintain a lot of flexibility if you need it.
By default adjusting the sliders effect only the “selected / visible” channel. Adjusting while holding shift causes the changes to apply to all channels. We could copy this behavior with a checkbox or hotkey (or both).

For a single grayscale image they set the limits of the range to be the min and max of the image.

Wait, what? I've opened plenty of uint8 images with values in {0, 1} that looked totally black in Fiji. Indeed I just tested it and got the same result:
In [1]: image = (np.random.random((512, 512)) * 4095).astype(np.uint16)
In [2]: io.imsave('test-16.png', image)
In [3]: image2 = (np.random.random((512, 512)) > 0.5).astype(np.uint8)
In [4]: io.imsave('test-8.png', image2)

image indeed displays correctly with the min and max, while image2 appears all black. So it seems it only uses the image min and max for data types other than uint8.

Just to weigh in here... took a look at the PR in https://github.com/Napari/napari-gui/pull/82 , and played around, super fun to see this functionality starting to take shape!
I actually strongly agree with @sofroniewn and @jni that the default should be to apply clims to the selected layer, rather than apply them globally. Totally appreciate that the normalize button per layer helps, but even with that, it still would not be possible to separately adjust the clims for different layers, i.e. adjusting the background image differently relative to some feature or statistical map overlaid on top, which is incredibly common!
Making it a per-layer setting as default and making global adjustment an option, exactly as @jni suggests, seems much more natural to me.
Maybe this is a good topic for our next sync up meeting?

We discussed this issue during our meeting. The conclusion was that we would support a clims slider that applied only to the layers selected, so if only one layer is selected it applies to only that layer, if multiple layers are selected it applies to all the layers forcing them to use the same clims. This may lead to some undesirable behaviours if the multiple selected layers are very different from each other, but that is on the user as they chose to have them all selected.
one thing to note though is this does not support a global operation that keeps the relative clims intact - i.e. an operation like make everything 10% brighter. A feature like this could be highly desirable, but it was not immediately clear how to implement. The decision was made to hold back on it for now, and that in the future it could be enabled with a checkbox / hotkey and we'd need to decide exactly how to do it. Maybe adjusting things according to percentile.
In order to proceed we decided the best option was to merge the global clims PR #82 and that I would then make a layer selection modification on top of this.

We have now implemented a first pass at a clims rangebar including layer specific and global modifications. We're still missing the ability to make global changes that respect the relative intensities of different layers, but this behavior could be supported in future PRs if desired.


Allow to use custom request matcher

This adds an option to allow the use of a custom request matcher, e.g. to exclude certain paths.
This fixes #206 partially.

I need this feature urgently at the moment, please merge.

This would need to be added to the docs still, and ideally it should be made clear that using this renders the hosts option useless/unused.

@Seldaek, can you take another look at this?

Yeah, sorry we're not as responsive as we could be here.. But anyway the PR looks good to me now I think! Thanks


Deprecated API in Node.js 22+

Is your feature request related to a problem? Please describe.
When I updated my Node.js to 22.0.0, I have now received a deprecation warning for util._extend,
as this is something they deprecated several versions back but only seen the warning in Node22 and not the versions below it like Node21 doesn't seem to display it.
(node:35) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

Describe the solution you'd like
Replace the util._extend usage with Object.assign(), this is located in lib/util.js for 3 lines containing this.
Describe alternatives you've considered
I have not thought of an alternative solution nor have I allocated my spare time to solve this myself.
Additional context
N/A.

@toast-ts Ok, I will have a look at it ... I have to check also if the alternative would work back also in Node 4.0 as this is the oldest supported version of this library. Otherwise it would be a breaking change witch would then require a major version change ... I am already working intensively on a fully rewritten version 6.0 (written in TypeScript).

@toast-ts ... Ok I fixed it ... version 5.22.8 just published. Can you check it on your side?

Yes, it is fixed, no deprecation warning in console.
Thank you.


[#1675][FOLLOWUP] fix(test): Fix various flaky tests

What changes were proposed in this pull request?
Fix various flaky tests:

After using SimpleClusterManager, release resources at once, which might cause tests to fail sometimes.
The compiler machine may not necessarily have a valid broadcast address (maybe in a pod created by K8S, and the broadcast address could be <IP_ADDRESS>). Unit tests should running successfully on such machines. We need to support this scenario.
Refactor the URI.create logic in SimpleClusterManagerTest to support cross-platform operation, such as running tests on Windows.
Use IntegrationTestBase#shutdownServers to reduce duplicated codes.

Why are the changes needed?
For https://github.com/apache/incubator-uniffle/issues/1675.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Unnecessary.

Maybe this should be committed to 0.9 as well.

We can merge this.

Merged to master & branch 0.9.


Make behavior of overlapping linkifiers clear and consistent

To make the behavior of overlapping linkifiers clear, consistent and predictable, we should:

[ ] Add an order_by on  linkifier ID, so that linkifiers shown higher in the settings list take priority over overlapping linkfiers that are lower on the list.
[ ] Document the above behavior on https://zulip.com/help/add-a-custom-linkifier
[ ] Make linkifiers in topics work like linkifiers in messages. Currently, if multiple linkifiers match, multiple links are show in the topic bar, which causes confusion.

The third point can be addressed independently from the first two.
Follow-up issue to make the system more flexible: #23716
CZO discussion

@zulipbot claim


Improve the ComputerAI algorithm

The Computer AI is very rudimentary. Its moves are decided from a series of if else statements and it’s very easy to figure out to make the computer forfeit every time with enough plays through the game. Improve the Algorithm, maybe by having the computer base its decisions on not just what the human player does, but also on the cards the AI possesses.
~EST 150 pts

F16 OK (200 pts)

If the AI is improved substantially and structured well, then this is worth the 200 points

F17 OK (200 pts)

A good way to do this would be to figure out the probability, based on your cards and the cards currently shown, that you will have better cards than your opponent once the rest of the cards are shown, then make bets based on how confident you are that you will win (maybe throwing in an occasional bluff). This is very hard, but it is the sort of thing you should strive for. Credit for this one will be given based on how much it is improved. Taking into account the cards that the AI possesses is a good start.

W18 OK (300 pts)


Modsecurity + nginx "proxy_buffering off" directive == segfault

I've been beating my head against these segfaults for several days and I finally found the issue. We had a "proxy_buffering off" directive. As soon as I comment that out in the nginx location config, the signal 11s stop.
I've tried compiling various versions of nginx from vanilla 1.4/1.5 sources to Ubuntu package sources, and various versions of modsecurity from the latest release tar.gz to git head and git trunk. All versions exhibited this behavior.
My setup is a reverse proxy. Here's the relevant config snippet:
server{
listen 443 ssl;
server_name xxxxxxx;
    location / {
            ModSecurityEnabled on;
            ModSecurityConfig /usr/local/modsecurity/etc/modsecurity.conf;
            proxy_pass http://xxxxxx;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_redirect off;
            proxy_buffering off;
            proxy_set_header        Host            $http_host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }

}
I see this in nginx error log when "proxy_buffering off" and "ModSecurityEnabled on" and accessing the site in a browser:
2013/10/25 10:50:28 [alert] 11873#0: worker process 11875 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11879 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11881 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11884 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11883 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11888 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11887 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11891 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11892 exited on signal 11 (core dumped)
2013/10/25 10:50:28 [alert] 11873#0: worker process 11895 exited on signal 11 (core dumped)

No longer a concern in libModSecurity. Marking it as won't fix for 2.x. Further information about libModSecurity available here:
https://github.com/SpiderLabs/ModSecurity/tree/v3/master


settings: Deprecate Base64 in fs backed settings

New feature that allows dropping support for Base64 encoding of settings
while being able to read data that already has been written with that
encoding. Settings that have already been encoded with Base64 will
raw written on next write.
GH Issue #18927
Signed-off-by: Dominik Ermel<EMAIL_ADDRESS>

@nvlsianpu please re-review

Patch looks good although still need to add deprecation BASE64 write encoding. I see two possible way:

remove CONFIG_SETTINGS_USE_BASE64 now and ensure backward compatibility using CONFIG_SETTINGS_DEPRECATE_USE_BASE64.
deprecate base64 write encoding (so SETTINGS_USE_BASE64 Kconfig) flowing https://docs.zephyrproject.org/latest/development_process/api_lifecycle.html#deprecated
CONFIG_SETTINGS_DEPRECATE_USE_BASE64 will ensure backward compatibility after CONFIG_SETTINGS_USE_BASE64 will disappear.

I have doubt on what to chose because this patch deprecates internal feature behavior - not the API.


CAMEL-10431: camel-elslq Fix lookup for named parameter from headers

Thanks for the PR it has been merged. Do you mind closing this?


About the dimensionality of the residual matrix

Hi,
Thanks for sharing this nice work. I am trying to use the adaptive loss for regularizing my conditional GAN model instead of using the L1 norm. However, I  cannot get reliable performance.
I think the description of the dimensionality of the residual input x is a bit unclear. What I have understood is: the input to the function lossfun should be a 2d matrix with number of rows equals the batch size and number of columns equals the flattened feature map, so that if I have a tensor of dimensionality [batch,channel,squence or map] then I should reshape it to be [batch, channels * sequence or map] ... is this correct?
If so, does this mean that the member variable self.num_dims should also equal channels * sequence or map?
Many thanks in advance

Yes, the input to general.lossfun() adaptive.lossfun() must be a 2d matrix, of size [num_batches, num_dims]. It sounds like in your case, you should reshape to "channels * sequence or map" and set self.num_dims to that as well.


Breaking change in sveltekit

An update has been made to sveltekit (not 100% sure which version it came with) that breaks the library. This is the breaking PR: https://github.com/sveltejs/kit/pull/3384
The error message is event.headers has been replaced by event.request.headers. See https://github.com/sveltejs/kit/pull/3384 for details pointing to this chunk of code:
this.getSession = async ({ headers }) => {
      const token = await this.getToken(headers);
      if (token) {
        if (this.config?.callbacks?.session) {
          return await this.config.callbacks.session(token, { user: token.user });
        }
        return { user: token.user };
      }
      return {};
    };

I believe that instead of { headers } it should be { request }, and then request.headers.
I tried modifying the library to make a PR, but having issues building the library in a way that the app will accept it.

endpoints also need updating

looks like this commit from @landongn carries all the required fixes. can't wait for it to be merged.
https://github.com/landongn/sk-auth/commit/dfcd60768a938717eb33aec2d034d919e52e70cd

#69 was now merged with main and I'll be creating a release soon to address these breaking changes. Thanks to the help by @landongn!


improve some user-facing strings

A very small collection of minor textual fixes I saved up over the past few weeks, for user-facing string that I found needed clarification or fixing, to be updated prior to string freeze

improves conciseness of tips displayed in Qt
makes the function of the reset button on the importkeydialog describe reality
describe -alertnotify to match the new reality after 565280f4
make sure that "koinu" is not expressed as "koinus"
fix typo in advanced send screen

Got some additional feedback from a shibe working on translations - included these

I want to run a quick build before I merge this, but I'll get to it before the end of the day unless another maintainer besides Patrick does so first.

((( [Merge pull request] ))) <-- that's the force field I put in place around that tease of a merge button on my end 😂


Prove gateway service

fixes #60
This PR implements Prove gateway service.

It will prove gateway for interested gateway.
It will only prove gateway if there are pending messages
Generates proof and makes a transaction.

Starting to review 👁


Accessible JSON editor

The JSON editor isn't currently accessible to screen readers. Switch to an accessible editor, probably monaco-editor see https://github.com/Microsoft/monaco-editor/wiki/Accessibility-Guide-for-Integrators for details.
I gave this a try and it seems the monaco-editor-webpack-plugin only supports webpack 4. So probably best complete/merge #316 first

We can also switch to codemirror v6

The project is at a point where the core code is in good shape, but the documentation is incomplete and several essential extensions have not been implemented yet.
From the codemirror 6 website

I think it's worth giving codemirror a try, because
a. codemirror is really nice to use
b. its been around for a long time now, and I feel like codemirror has a greater likelihood of being around 3 years from now and still maintained

This requires a bit more investigation from me, I need to understand the trade offs as there seems to be bugs with both codemirror-v6 and monaco-editor. I need to understand a little more first though about screen readers, so pushing this back to v1.9.0


Not setting cookies on latest version of ionic

This plugin was very useful, however it has recently stopped working after updating ionic and ios dependencies on the ios emulator.
When debugging using safari:

no cookies are visible in the storage tab after calling injectCookie
After injectCookie, and making a session call: although the set-cookie header is returned in the response, no cookies are stored
All future calls that require cookie are blocked (as needed for session authentication)

Environment
Ionic:
Ionic CLI         : 5.4.13 (/Users/zeer/Documents/KitchenMate/kitchenmate/node_modules/ionic)
Ionic Framework   : unknown
@ionic/v1-toolkit : 2.0.18
Cordova:
Cordova CLI       : 9.0.0<EMAIL_ADDRESS>Cordova Platforms : ios 5.1.1
Cordova Plugins   : cordova-plugin-ionic 5.4.6, cordova-plugin-ionic-webview 4.1.3, (and 7 other plugins)
Utility:
cordova-res : 0.8.1
native-run  : 0.3.0
System:
Android SDK Tools : 26.1.1 (/Users/zeer/Library/Android/sdk)
ios-deploy        : 1.10.0
ios-sim           : 8.0.2
NodeJS            : v10.15.3 (/Users/zeer/.nvm/versions/node/v10.15.3/bin/node)
npm               : 6.4.1
OS                : macOS Mojave
Xcode             : Xcode 11.3 Build version 11C29
Plugins
cordova-plugin-android-permissions 1.0.2 "Permissions"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-ionic 5.4.6 "cordova-plugin-ionic"
cordova-plugin-ionic-webview 4.1.3 "cordova-plugin-ionic-webview"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-wkwebview-inject-cookie 1.0.2 "WKWebViewInjectCookie"
ionic-plugin-deeplinks 1.0.20 "Ionic Deeplink Plugin"
onesignal-cordova-plugin 2.8.1 "OneSignal Push Notifications"

Are there any plugins or solutions for cookie syncing for Ionic 5?

@juliannehalversen it's works, but not on iOS 13.3


CLOUDP-60028: Implement index creation in atlas client

@andreaangiolillo fixed some copy/pasta

@themantissa ready for you and your team

@marinsalinas @PacoDw @coderGo93 - can one of you give a sanity check review?   Sadly it's unlikely we'll use this w/ Terraform as the post with no response won't work well with the Terraform way.


Version compatibility issues

Hello nartc! I have been looking forward to the release of 2.0.0, but it is not compatible with version 1.10.7, such as NgtStore. Although some features can be replaced with NgtSignalStore, NgtSignalStore does not provide a set method. NgtsGizmoHelper also did not appear in 2.0.0, so the previous projects cannot use 2.0.0 directly. I hope these will be compatible in future versions.  Thank you！

Hi @yywf77,
I've written up a page for the migration information. As mentioned in the release post (https://angularthree.org/blog/v2), there is no migration path provided due to various reasons; and partly it's me losing track of migration path while working on signals.
Migration: https://angularthree.org/core/migrate-v2/
For NgtsGizmoHelper, please track #53


TestsetGenerator fails with "AttributeError: 'str' object has no attribute 'generator_llm'"

[X] I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
Hi,
I tried to generate a test dataset with TestsetGenerator from both LangChain and LlamaIndex documents and I'm hitting the same issue. It looks like it is due to a bad attribute transfer across classes where the generator LLM object gets replaced by a str. Please f ind the details below.
Thanks very much!
Ragas version: 0.1.4
Python version: 3.10
Code to Reproduce
from llama_index.core import SimpleDirectoryReader
from llama_index.readers.file import PyMuPDFReader
from langchain_community.llms import VLLMOpenAI
from langchain_community.embeddings import HuggingFaceEmbeddings
from ragas.testset import TestsetGenerator

PDF_FILES_PATH = "../../doc_collections"

EMBEDDING_MODEL = "BAAI/bge-base-en-v1.5"
model_kwargs = {'device': 'cuda:0'}
encode_kwargs = {'normalize_embeddings': False}
langchain_emb = HuggingFaceEmbeddings(
    model_name=EMBEDDING_MODEL,
    model_kwargs=model_kwargs,
    encode_kwargs=encode_kwargs
)

langchain_llm = VLLMOpenAI(
    openai_api_base="localhost/api/v1",
    model_name="WizardLM/WizardLM-70B-V1.0",
    temperature=0.1,
    max_tokens=512,
)

%%time
# Lamda function to add the file name as metadata at loading time
filename_fn = lambda filename: {"file_name": filename.split("/")[-1]}

reader = SimpleDirectoryReader(
    input_dir=PDF_FILES_PATH,
    required_exts=[".pdf"],
    file_extractor={".pdf":PyMuPDFReader()},
    file_metadata=filename_fn,
    num_files_limit=10,
)
documents = reader.load_data()

dataset_distribution = {
    "simple": 0.4,
    "reasoning": 0.25,
    "multi_context": 0.1,
    "conditional": 0.25,
}

dataset_generator = TestsetGenerator.from_langchain(
    generator_llm=langchain_llm,
    critic_llm=langchain_llm,
    embeddings=langchain_emb,
    #docstore=doc_store,
)

dataset = dataset_generator.generate_with_llamaindex_docs(
    documents=documents[:25],
    test_size=10,
    distributions=dataset_distribution,
)

Error trace
Filename and doc_id are the same for all nodes.

--------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[4], line 15
      1 dataset_distribution = {
      2     "simple": 0.4,
      3     "reasoning": 0.25,
      4     "multi_context": 0.1,
      5     "conditional": 0.25,
      6 }
      8 dataset_generator = TestsetGenerator.from_langchain(
      9     generator_llm=langchain_llm,
     10     critic_llm=langchain_llm,
     11     embeddings=langchain_emb,
     12     #docstore=doc_store,
     13 )
---> 15 dataset = dataset_generator.generate_with_llamaindex_docs(
     16     documents=documents[:25],
     17     test_size=10,
     18     distributions=dataset_distribution,
     19 )

File ~/miniconda3/envs/llm-env4/lib/python3.10/site-packages/ragas/testset/generator.py:152, in TestsetGenerator.generate_with_llamaindex_docs(self, documents, test_size, distributions, with_debugging_logs, is_async, raise_exceptions, run_config)
    147 # chunk documents and add to docstore
    148 self.docstore.add_documents(
    149     [Document.from_llamaindex_document(doc) for doc in documents]
    150 )
--> 152 return self.generate(
    153     test_size=test_size,
    154     distributions=distributions,
    155     with_debugging_logs=with_debugging_logs,
    156     is_async=is_async,
    157     run_config=run_config,
    158     raise_exceptions=raise_exceptions,
    159 )

File ~/miniconda3/envs/llm-env4/lib/python3.10/site-packages/ragas/testset/generator.py:227, in TestsetGenerator.generate(self, test_size, distributions, with_debugging_logs, is_async, raise_exceptions, run_config)
    225 # init filters and evolutions
    226 for evolution in distributions:
--> 227     self.init_evolution(evolution)
    228     evolution.init(is_async=is_async, run_config=run_config)
    230 if with_debugging_logs:

File ~/miniconda3/envs/llm-env4/lib/python3.10/site-packages/ragas/testset/generator.py:189, in TestsetGenerator.init_evolution(self, evolution)
    188 def init_evolution(self, evolution: Evolution) -> None:
--> 189     if evolution.generator_llm is None:
    190         evolution.generator_llm = self.generator_llm
    191         if evolution.docstore is None:

AttributeError: 'str' object has no attribute 'generator_llm'

Expected behavior
I expected a successful generation of the dataset
Additional context
The same error occurs when I try to generate from langchain or llamaindex docs.

Hey @vecorro , there is a mistake in your code
from ragas.testset.evolutions import simple, reasoning, multi_context
distributions={simple: 0.5, reasoning: 0.25, multi_context: 0.25}

evolutions are objects and not strings.
Which documentation did you follow? It could be an older one which we forgot to update.

Also a recommendation, it would be better to use mixtral 7*8 than models from wizard ml (derivatives of llama-2) @vecorro

Many thanks @shahules786 you are right. I took the example from another user commenting on other issues. I re-checked the existing online document on Generate a Synthetic Test Set and looks like the code block you shared with me. The error went away although the generation process has over 2hr running. I requested a 'test_size=10' over a 100 documents corpus. I still don't get the exact meaning of the 'test_size' parameter but the documentation does not provide an explanation about it. Anyways I'm closing this issue as the error I reported was due to a misconfiguration from my side.

BTW, you were right. The Wizard LLM was causing errors in the generation process. I switched to Zephyr which is derived from Mistral 7b and seems to be working, or at least not generation execution errors :)


added two templates under issue #357 vegan-store and read-me

Description
I have added two more cool frontend templates one for vegan store and other for a book website named Read-Me.
Fixes # (issue no. #357 )

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Explain the Testing instructions
Test Configuration:

Operating system: Windows
Version: 11
Text-editors used: Visual Studio Code

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

merge conflicts @Nitya-S27

https://mobirise.com/extensions/organicamp/demo3.html

https://vegan-store-web.netlify.app/

@Nitya-S27 did  u copy it ?

@Nitya-S27 did u copy it ?

No I made the vegan store landing page under a course.

@Nitya-S27 did u copy it ?

Actually I made the vegan store landing page under a course. This might have caused plagiarism. I'm sorry and didn't realise.

make changes in that template then only we can accept that
plus always create seperate PRs for 2 templates


Fix API extraction of inherited classes

Refactor ClassLike and add ClassLikeDef
This change refactors definition.json to make ClassLike a non-recursive type. Before the introduction of class-based dependency tracking, an api of a nested class has been stored as a member of the enclosing class so a class could have other class as a member. This was expressed by the fact that ClassLike was recursive: its Structure had a collection of Definition to represents the members and ClassLike was a subtype of Definition.
With introduction of class-based dependency tracking, each class has been extracted and stored separately. The inner class would still be stored as a member of outer class but members of inner classes were skipped.
An empty inner class was stored just to mark the fact that there's a member with a given name which is important for name hashing correctness when there's no dependency on a class directly but a rename could introduce one.
Storing an empty class was a hack and this commit fixes the type hierarchy by introducing the following changes:

introduce ClassDefinition that is a subtype of Definition; all members
of a class are subtypes of ClassDefinition (ClassLike is not a subtype
of ClassDefinition)
change Structure to refer to ClassDefinition instead of Definition for
members
move ClassLike higher up in type hierarchy so its a direct subtype of
Definition
introduce ClassLikeDef which represents an inner class as a member of
the outer class; ClassLikeDef carries only information about class
declaration itself but not about its members and that is enforced
statically

NameHashing has been simplified because it doesn't have to keep track of the entire path for definitions it hashes. Hashes of names are tracked individually per class so location is simply name of the class and it's type (we want to distinguish between objects and classes).
NameHashingSpecification has been refactored to not rely on nested classes for testing the desired scenarios. The semantics of tests has been preserved even if a different API structure is used in tests.

Fix naming of inherited classes in ExtractAPI
For an inherited class, ExtractAPI would form a (source) class name by calling Symbol.className on the inherited class. However, that created a name of a class as seen at declaration site and not at inheritance site. Let's consider an example:
class A { class AA }
class B extends A

Before this change, ExtractAPI would create an API representation of AA twice: once seen from A, and then the second time seen from B as an inherited member. However, in both cases it would use A.AA as a name. This commit fixes naming so an inherited representation of AA has a name B.AA.
This commit also clarifies how classes declared in package objects are named. If you have:
package pkg1.pkg2
package object pkg3 {
  class Foo
}

then the fully qualified name of the class corresponding to pkg3 package object is pkg1.pkg2.pkg3.package. The full name of the Foo class is pkg2.pkg2.pkg3.Foo.

Review by @smarter or @eed3si9n

This does affect source-dependencies/as-seen-from-b?


chore: adjust run condition for dependabot auto merge/approve

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Forward compatibility with react/event-loop 1.0 and 0.5 while still supporting 0.4

We've just released react/event-loop 0.5 which will be our last BC breaking release before 1.0. And aside from two changes bunny/bunny is fully compatible :tada: .

Merged, thank you!

You're welcome, and thank you for the quick tag :+1:


[BNF] catalog names replaced by instrument labels

In the triple store, for some works of the BNF (I'm not sure for the works of the PP), the catalog name is replaced by the prefLabel of an instrument.
Here, some examples:

[ ] Tantum ergo
Where the catalog name "D" is replaced by the prefLabel of the instrument in mop-diabolo vocabulary.

[ ] Another work
Where the catalog name "D" is replaced by the prefLabel of the instrument in mop-diabolo vocabulary.

[ ] Another work
Where the catalog name "D" is replaced by the prefLabel of the instrument in mop-diabolo vocabulary.

It seems that the converter matches the name of the catalog with the altLabel of the instrument.

...and a lot more, see the list

Can we also get rid off the blank nodes by creating a URI for the value of the mus:U40_has_catalogue_name property?

I already realized what are you describing in this issue.
The problem is currently solved in marc2rdf and next release of data will not show this problem.
Thank you anyway for this report :)

Can we also get rid off the blank nodes by creating a URI for the value of the mus:U40_has_catalogue_name property?

Also this is already in the code :) I also working for removing blank nodes at all.


Fails on language keywords

If you have a language keyword as one of your model names (e.g. break) it will fail, because its reserved.

Hi @kassim,
If it's language reserved then it's the expected behavior because you would not be able to use that name because the IDE and compiler would complain about it anyway. You must change that name in order to be able to generate that code.
On the other side, if the plugin crashes after that maybe it should not crash and show a warning message about that.

the way the https://github.com/swagger-api/swagger-codegen project works with Java code generation is it renames it to ModelBreak

🤔 I'm not quite happy applying this criteria but if swagger-codegen is doing it I'll patch it with that.

@kassim new version 1.0.1 have just been submitted to JetBrains. Includes the fix for this issue. Soon will be available for download.
I'll ping you as soon is available.

@kassim New version 1.0.1 available for download. If you still have issues related to this please reopen the issue.
Many thanks for your help!


WindowsDriver and CursesDriver's MainLoops use an Action incorrectly

The right fix is to change both Windows and Curses' MainLoop implementations to do this:

IOW, get rid of the ProcessInput Action alltogether and just have them call ProcessInput on the driver directly.
I tested it and it appears to work fine. Am I missing something (I probably am).
Originally posted by @tig in https://github.com/gui-cs/Terminal.Gui/pull/2911#discussion_r1363668470

I tested it and it appears to work fine. Am I missing something (I probably am).

Yes you are missing. You can also do it for the NetDriver.
CursesDriverhandles differently, because it use file descriptor that will check forrevents. If exist a revent then it will call the event attached by the Watch` instance.

I tested it and it appears to work fine. Am I missing something (I probably am).

Yes you are missing. You can also do it for the NetDriver. CursesDriver handles differently, because it use file descriptor that will check for revents. If exist a revent then it will call the event attached by the Watch instance.

I applied the same change to CursesDriver and it seems fine.

I made ProcessInput internal on
I removed the WinChange Action
I added a private reference to CursesDriver to UnixMainLoop
I now call _cursesDrivder.ProcessInput (); instead of invoking WinChange?.Invoke()

See #2922

Related, the file descriptor watching in the CursesDriver is unnecessary functionality. I don't think any apps use it, and even if they do, they can just use native unix APIs or the .NET file system watcher classes instead.
I think we should remove it.

Related, the file descriptor watching in the CursesDriver is unnecessary functionality. I don't think any apps use it, and even if they do, they can just use native unix APIs or the .NET file system watcher classes instead.

I'm curious to see what you'll do. Only to remember that ncurses isn't compatible with .NET. Don't confuse the NetDriver with CursesDriver. Descriptors are native unix APIs.

I think we should remove it.

If you intend to use Console.ReadKey and remove ncurses at all, then is better to remove CursesDriver too.

Related, the file descriptor watching in the CursesDriver is unnecessary functionality. I don't think any apps use it, and even if they do, they can just use native unix APIs or the .NET file system watcher classes instead.

I'm curious to see what you'll do. Only to remember that ncurses isn't compatible with .NET. Don't confuse the NetDriver with CursesDriver. Descriptors are native unix APIs.

I really mean just making AddWatch/RemoveWatch internal.

I think we should remove it.

If you intend to use Console.ReadKey and remove ncurses at all, then is better to remove CursesDriver too.

That is not my intent at this point.
Can you help me understand what the two AddWatch calls each do?
This one's obvious: It's watching for input:

But what is this one doing?

Yes the prior is for input and the second is reading for any writing done on the _wakeUpPipes. The later is useful for cancelation or from a post of the threading synchronization, normally by calling the Wakeup method which will interrupt the poll function and thus ensuring a new run loop.

Please review changes now in this PR. More to do, but this is a massive simplifier... I think.


Support Rider EAP 203

I get a plugin warning that MoqComplete doesn't support builds over 202.*. Can you support the EAP channel for Rider, which is at 203.*?

We don't support EAP in general because it requires time I don't have 😀 (as the sdk is changing)
I will do the update for 203 once its stable

Sadly I have to use the EAP version due to nuget issues in the stable channel. Thanks for your reply!


rule update: add exception for write below etc

Add exception for write below etc:
etcd-manager will consistently updates dns: /etc/hosts file. This happens when k8s cluster created by kops
add new rule: create symlinks over sensitive files and directories

The approach looks good, but I wanted to make sure that you only want to cover symlinks of the whole directory and not paths below it, right?

Yes @mstemm, for now the target would either be a list of sensitive files or directories (directory name only, not sub directories or files under it)


Add GitHub Issues Label for "Needs Confirmation"

A label that we can apply to issues that need to be reviewed to see if the problems still exist.  With going to meanio 0.9 and mean 0.6 and up, a lot of the issues here may not even be relevant anymore.
@liorkesos

https://github.com/linnovate/meanio/labels/needs-confirmation


Added minor styling changes to make the site look more visually pleasing

I felt the current design of the Zulip site lacked proper padding and the content seemed too congested. This is how the site looks now:

After changes:

Thanks for working on this @ajayns!
This looks nicer, though we're actually planning to remove this older site soon in favor of just doing everything via the zulipchat.com site styling (which looks nicer).

Oh alright then. @timabbott


Quit Issues: Keyboard Shortcut to Quit, etc.

Thanks for this.
1) Keyboard Shortcut to Quit:
In Tomboy original we can CAN QUIT FROM ANY PANEL (note, search etc) by:
CTRL + Q
This, keyboard shortcut to quit/exit (CTRL+Q or ALT+F4) is really needed for many: coders, pro writers etc.
________________________________________________________
2) ALT + F4 only quits current Panel, instead of possibility to exit the whole app:
There needs to be an option in settings so this quits the whole app and exits all panels.
Not just sending it to system tray, but an option in settings to totally exit the app and close all panels.
CTRL + Q is better to eit the whole app because:
similar to Tomboy Original
easier reach for fingers than ALT+F4
________________________________________________________
3): CTRL + W:
This is the norm for closing only the current panel (Note, search) but not the whole app
________________________________________________________

Again,should be easy. But why would you want to keep exiting the app ?
I have it set to auto start at boot and running non stop ?
(gee, if I knew people would be stopping and restarting all the time, I would not not have worried so much about memory leaks.   -  Joking ....)
Any way, to summarise -
Ctrl Q is quit whole app.
Alt - f4 is close current window ?
Davo

Hi David,
Thanks for your reply.
There are many reasons for quitting depending on scenarios. Security, workplace environments, restrictions on shared computers etc etc. I can go on.
Basically the classic steps are:

Option in settings, default can be checkbox to keep running:

Quitting sends app to system tray [X]
This is the norm in most apps using sys-tray.
Then if someone wants quit to completely shutdown the app, they can uncheck the checkbox. This is standard.

CTRL+q
Should be shutdown as in original tomboy, help users migrate.
Also faster & more convenient than the far F4 button (Alt+F4)

Close Current Panel (note our search) only:
This should not be Alt+F4 add that's usually app exit standard.
Ctrl+w is a standard for closing a window/page/panel but not apps.
Most coders Peter it too, instead of Ctrl+F4

I am not sure I want to make this a config option, we already have a mass of config going on and I would like to reduce it if possible. (No, I don't subscribe to the minimalist interface, I assume my users can cope with some complexity but its still nice to make things easy if possible).
So, its a case of defining one keystroke that closes the current window (one of a note, search form, setting form) and another that closes the whole application (without an "are you sure?"). Washere mentions Ctrl-F4, Alt-F4, Ctrl-Q. I've spent too much time at command line to have fixed ideas about this so, discuss !
https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
Ctrl-F4 and Alt-F4 are vaguely recommended for quit application on Windows, Cmd-Q is widely used on Mac (Cmd often being a metaphor for Alt) and no input from Linux GUI users. (Ctrl-F4 is a Linux command for closing a browser tab but IMHO, that's irreverent here.)
The wikipedia page does not mention Ctrl-Q. But, by a process of elimination  seems a possibility for quitting the whole application. Ah, and washere says it was the Tomboy way, thats a nice link.
Decision - Ctrl-Q will close tomboy-ng down on Windows and Linux and Cmd-Q on Mac
Alt-F4 is also recommended for "Close the focused window " and listed as doing so for Windows and Linux.
Ctrl-W (or Cmd-F11 Cmd-W) are also choice.  In practice, Alt-F4 does close a note window in current release of tomboy-ng (at least on Linux). But washere suggests it should not be used as such, its about application exit ??  The wikipedia page does not conclusively agree IMHO.
When time permits, will seek other sources ....
Davo

Thanks for the report.
CTRL+Q to exit the app COMPLETELY, not just send to tray, is the main feature, as in Tomboy orig for migrating users.
The rest, closing individual panels, are secondary.
Thanks again.

I attache an image of Keyboard Shortcuts for:
Microsoft Sticky Notes
Some of these shortcuts and features might be food for thought for future development of TomBoy-ng as a reference, some can be useful:

Next release, soon, will have a main menu and Ctrl-Q ability on Search, Settings and any open note.
Davo


Pick an idea for the project

Package name: twitterpersona
Assess whether a twitter user is positive or negative based on the user's recent tweets

I think we should focus the scope further into evaluating the "character" of users to determine if they are "worth" engaging with (ie not trolls). There are many examples of packages that simply provide sentiment analysis.

I think we should focus the scope further into evaluating the "character" of users to determine if they are "worth" engaging with (ie not trolls). There are many examples of packages that simply provide sentiment analysis.

Sounds like a good idea. I am willing to work on the function sentiment_analysis.py and I will probably use NLTK to get the sentiment of the user.


Subtitles video

Hey!
Just wondering, how did you turn the .ass file into the mp4 where each word gets highlighted as it is spoken? like in the readme examples?

Example in https://github.com/jianfch/stable-ts/discussions/72#discussioncomment-4760999

amazing thanks!


WIP chore(unit-tests): refactor and add unit tests for util functions

Issue
https://github.com/sasjs/adapter/issues/80
Intent
Improve unit test coverage for util functions.
Implementation

Refactored and added unit tests for convertToCSV.

Checks

[x] Code is formatted correctly (npm run lint:fix).
[x] All unit tests are passing (npm test).
[ ] All sasjs-tests are passing (instructions available here).

Closing as this branch is now too out of date.


[WIP] Add homeassistant-supervisor container to improve Home Assistant Voice Assistant stack onboarding on Jetson devices

homeassistant-supervisor
Hi @dusty-nv 👋
To keep Home Assistant on Jetson project progressing, I'm revisiting the experiments with the Home Assistant Supervisor container. My aim is to simplify the onboarding process for Home Assistant and Wyoming add-ons on Jetson devices based on our experiences during the latest Jetson AI Research Group meeting.
While I'm not sure whether containerizing Supervisor and making it work with all its system dependencies is feasible, I'm willing to give it a shot. Below is what I tried yesterday and what should be done or fixed based on the homeassistant-supervisor logs.
All questions and advice are warmly welcomed!
Updates:
May 8, 2024

[x] Added the homeassistant-supervisor container.
[x] Migrated common Home Assistant container dependencies (ciso8601 and psutil-home-assistant) to standalone, reusable containers in the smart-home/dependencies directory.
[x] Added the homeassistant-supervisor dependency eudev in the smart-home/dependencies directory.
[x] Resolved the 403 errors when fetching RAW files from GitHub in jetson_containers/utils.js. This was achieved by switching from urllib.request (which still uses HTTP/1.1) to the requests library, enabling the use of HTTP/2 requests.
[x] Introduced new container versioning helper methods in jetson_containers/utils.py: handle_json_request, handle_text_request, github_latest_tag, and get_json_value_from_url.
[x] Improved versioning in all Home Assistant containers in config.py.
[x] Adjusted the homeassistant-core container's build.sh script.
[x] [WIP] Added the experimental homeassistant-supervised container.

TODO
Based on homeassistant-supervisor logs

[ ] Make the required dependencies work inside container or work on easy onboarding using install.sh script for host machine if conterization is impossible
[ ] Ensure that homeassistant-core can detect the homeassistant-supervisor container and vice versa
[ ] Sort out the homeassistant-supervisor container docker volumes & paths
[ ] Refactor eudev dependency container to support independent build & install stages to allow dpkg upload
[ ] Fix the SUPERVISOR_MACHINE value to properly configure coresys (generic-aarch64 is used for now) to enable OTA updates:

INFO (MainThread) [supervisor.bootstrap] Setting up coresys for machine: generic-aarch64
WARNING (MainThread) [supervisor.updater] Can't process version data: 'generic-aarch64'

[ ] Fix the docker availability:

WARNING (MainThread) [supervisor.resolution.evaluations.base] The configuration of Docker is not supported (more-info: https://www.home-assistant.io/more-info/unsupported/docker_configuration)
CRITICAL (MainThread) [supervisor.supervisor] Can't setup Supervisor Docker container!
WARNING (SyncWorker_0) [supervisor.docker.manager] Can't get None for cleanup

[ ] Configure the docker deamon on host machine to support required method of logging (or find an easy way of doing that for users):

WARNING (MainThread) [supervisor.resolution.evaluations.docker_configuration] Docker logging driver json-file is not supported!

[ ] Introduce AppArmor (but where? in container or on host?):

WARNING (MainThread) [supervisor.host.apparmor] AppArmor is not enabled on host
WARNING (MainThread) [supervisor.resolution.evaluations.base] AppArmor is required for Home Assistant. (more-info: https://www.home-assistant.io/more-info/unsupported/apparmor)

[ ] Run container in priviliged mode:

WARNING (MainThread) [supervisor.resolution.evaluations.base] Supervisor does not run in Privileged mode. (more-info: https://www.home-assistant.io/more-info/unsupported/privileged)
CRITICAL (MainThread) [supervisor.hardware.monitor] Not privileged to run udev monitor!

[ ] Sort out trusted content security:

WARNING (MainThread) [supervisor.resolution.evaluations.base] System run with disabled trusted content security. (more-info: https://www.home-assistant.io/more-info/unsupported/content_trust)
WARNING (MainThread) [supervisor.security.module] Disabled content-trust, skip validation

[ ] Sort this out (could be because of use SUPERVISOR_DEV: 1):

0.00s - Debugger warning: It seems that frozen modules are being used, which may make the debugger miss breakpoints. Please pass -Xfrozen_modules=off to python to disable frozen modules. Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.

[ ] Fix the missing cli docker plugin in container:

INFO (MainThread) [supervisor.plugins.base] No cli plugin Docker image None found.
WARNING (MainThread) [supervisor.plugins.base] Error on installing cli plugin, retrying in 30sec

[ ] Unknown issue: INFO (MainThread) [supervisor.docker.interface] Found None versions: [<AwesomeVersion CalVer '22.04'>, <AwesomeVersion SpecialContainer 'latest'>, <AwesomeVersion SpecialContainer 'latest'>, <AwesomeVersion SpecialContainer 'latest'>, <AwesomeVersion SpecialContainer 'latest'>, <AwesomeVersion SemVer '2.19.4'>, <AwesomeVersion SpecialContainer 'latest'>]

docker-compose example:
x-shared-properties: &shared-properties
  init: false                     # Do not use init process
  restart: unless-stopped         # Restart policy
  network_mode: host              # Use host network mode, to auto-detect devices in network
  devices:
    - /dev/snd:/dev/snd           # to share audio devices
    - /dev/bus/usb                # to share usb devices

name: home-assistant-jetson
version: "3.9"
services:
  homeassistant:
    image: ms1design/homeassistant-core:latest-r36.2.0-cu122-cp312
    <<: *shared-properties
    container_name: homeassistant
    hostname: homeassistant
    ports:
      - "8123:8123"
    volumes:
      - ha-config:/config
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro

  homeassistant-supervisor:
    image: ms1design/homeassistant-supervisor:latest-r36.2.0-cu122-cp312
    <<: *shared-properties
    container_name: homeassistant-supervisor
    hostname: homeassistant-supervisor
    privileged: true
    security_opt:
      - seccomp=unconfined
      - apparmor=unconfined
    volumes:
      - /run/docker.sock:/run/docker.sock
      - /run/dbus:/run/dbus
      - ha-supervisor:/data
      - ha-supervisor-share:/tmp/supervisor/data
      - /etc/machine-id:/etc/machine-id:ro
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    environment:
      SUPERVISOR_DEV: 1
      SUPERVISOR_NAME: hassio_supervisor
      SUPERVISOR_SHARE: /tmp/supervisor/data
      SUPERVISOR_MACHINE: generic-aarch64

volumes:
  ha-config:
    name: ha-config
  ha-supervisor:
    name: ha-supervisor
  ha-supervisor-share:
    name: ha-supervisor-share

Logs
_homeassistant-supervisor_logs.txt

This is awesome @ms1design, good luck in your mission!  🙏
The crew from Seeed Studio would also probably be interested to help you with this if you didn't already show it to them.

It's funny—I discussed it with Elaine, but back then, I advised against using supervisor because I found it too complicated to support or use. 🙈 Welcome to my world 😆

May 15, 2024 update
Logs: _hassio_supervisor_logs.txt

[x] homeassistant-supervisor container is not immediately restarting anymore due to many issues
[x] homeassistant-supervisor is able to detect homeassistant-core container running in same docker network
[x] fixed homeassistant-supervisor installation script
[x] fixed docker availability inside homeassistant-supervisor container
[x] fixed the SUPERVISOR_MACHINE value to properly configure coresys using git patch
[x] fixed homeassistant-supervisor docker image labels required for proper system and machine detection
[x] fixed debugger warnings (SUPERVISOR_DEV: 1)
[x] fixed the missing cli docker plugin in container
[x] fixed homeassistant-supervisor and other HA related docker image labels required for proper versions detection
[x] no more trusted content security issues

May 16, 2024 Update
I'm happy to share a significant breakthrough: the successful setup of the homeassistant-supervisor with homeassistant container on my Jetson device 🎉
This bringing us one step closer to harnessing the power of edge computing for AI/ML Home Assistant solutions 🦾 🤖

How it Works
The journey to this milestone has been marked by quirks and challenges, but overall idea was to:

Dockerize everything, ensuring efficient containerization
Leverage native hardware capabilities from the Jetson host machine.
Docker within Docker, where currently it utilizes the host machine's Docker installation (experimental but promising).

Quick Start Guide

Note: This is a work-in-progress version, so instructions may evolve.

Note: hassio_supervisor autonomously manages all containers prefixed with hassio_ and homeassistant container. Manual intervention is not recommended.

Logs
homeassistant-supervisor logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/udev.sh
[13:55:20] INFO: Using udev information from host
cont-init: info: /etc/cont-init.d/udev.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun supervisor (no readiness notification)
services-up: info: copying legacy longrun watchdog (no readiness notification)
s6-rc: info: service legacy-services successfully started
[13:55:20] INFO: Starting local supervisor watchdog...
2024-05-16 13:55:20.994 INFO (MainThread) [__main__] Initializing Supervisor setup
2024-05-16 13:55:21.052 INFO (MainThread) [supervisor.bootstrap] Setting up coresys for machine: qemuarm-64
2024-05-16 13:55:21.058 INFO (MainThread) [supervisor.docker.supervisor] Attaching to Supervisor ms1design/homeassistant-supervisor with version 2024.05.1
2024-05-16 13:55:21.058 INFO (MainThread) [supervisor.docker.supervisor] Connecting Supervisor to hassio-network
2024-05-16 13:55:21.263 WARNING (SyncWorker_0) [supervisor.docker.manager] ms1design/homeassistant-supervisor not found for cleanup
2024-05-16 13:55:21.264 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state initialize
2024-05-16 13:55:21.265 WARNING (MainThread) [supervisor.resolution.evaluations.docker_configuration] Docker logging driver json-file is not supported!
2024-05-16 13:55:21.265 WARNING (MainThread) [supervisor.resolution.evaluations.base] The configuration of Docker is not supported (more-info: https://www.home-assistant.io/more-info/unsupported/docker_configuration)
2024-05-16 13:55:21.266 WARNING (MainThread) [supervisor.resolution.evaluations.base] AppArmor is required for Home Assistant. (more-info: https://www.home-assistant.io/more-info/unsupported/apparmor)
2024-05-16 13:55:21.267 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2024-05-16 13:55:21.268 INFO (MainThread) [__main__] Setting up Supervisor
2024-05-16 13:55:21.432 INFO (MainThread) [supervisor.api] Starting API on <IP_ADDRESS>
2024-05-16 13:55:21.830 CRITICAL (MainThread) [supervisor.hardware.monitor] Not privileged to run udev monitor!
2024-05-16 13:55:21.832 INFO (MainThread) [supervisor.dbus.manager] Connected to system D-Bus.
2024-05-16 13:55:21.832 INFO (MainThread) [supervisor.dbus.agent] Load dbus interface io.hass.os
2024-05-16 13:55:21.832 INFO (MainThread) [supervisor.dbus.hostname] Load dbus interface org.freedesktop.hostname1
2024-05-16 13:55:21.833 INFO (MainThread) [supervisor.dbus.logind] Load dbus interface org.freedesktop.login1
2024-05-16 13:55:21.833 INFO (MainThread) [supervisor.dbus.network] Load dbus interface org.freedesktop.NetworkManager
2024-05-16 13:55:21.833 INFO (MainThread) [supervisor.dbus.rauc] Load dbus interface de.pengutronix.rauc
2024-05-16 13:55:21.833 INFO (MainThread) [supervisor.dbus.resolved] Load dbus interface org.freedesktop.resolve1
2024-05-16 13:55:21.834 INFO (MainThread) [supervisor.dbus.systemd] Load dbus interface org.freedesktop.systemd1
2024-05-16 13:55:21.834 INFO (MainThread) [supervisor.dbus.timedate] Load dbus interface org.freedesktop.timedate1
2024-05-16 13:55:21.834 WARNING (MainThread) [supervisor.dbus.agent] No OS-Agent support on the host. Some Host functions have been disabled.
2024-05-16 13:55:21.834 WARNING (MainThread) [supervisor.dbus.rauc] Host has no rauc support. OTA updates have been disabled.
2024-05-16 13:55:22.088 INFO (MainThread) [supervisor.host.services] Updating service information
2024-05-16 13:55:22.097 INFO (MainThread) [supervisor.host.sound] Updating PulseAudio information
2024-05-16 13:55:22.101 WARNING (SyncWorker_0) [supervisor.host.sound] Can't update PulseAudio data: Failed to connect to pulseaudio server
2024-05-16 13:55:22.373 INFO (MainThread) [supervisor.host.network] Updating local network information
2024-05-16 13:55:22.610 INFO (MainThread) [supervisor.host.apparmor] Loading AppArmor Profiles: set()
2024-05-16 13:55:22.611 WARNING (MainThread) [supervisor.host.apparmor] AppArmor is not enabled on host
2024-05-16 13:55:22.617 INFO (MainThread) [supervisor.docker.monitor] Started docker events monitor
2024-05-16 13:55:22.618 INFO (MainThread) [supervisor.updater] Fetching update data from https://version.home-assistant.io/stable.json
2024-05-16 13:55:22.929 INFO (MainThread) [supervisor.docker.interface] Found ghcr.io/home-assistant/aarch64-hassio-cli versions: [<AwesomeVersion CalVer '2024.05.0'>]
2024-05-16 13:55:22.939 INFO (MainThread) [supervisor.docker.interface] Attaching to ghcr.io/home-assistant/aarch64-hassio-cli with version 2024.05.0
2024-05-16 13:55:22.985 INFO (MainThread) [supervisor.plugins.cli] Starting CLI plugin
2024-05-16 13:55:23.664 INFO (MainThread) [supervisor.docker.cli] Starting CLI ghcr.io/home-assistant/aarch64-hassio-cli with version 2024.05.0 - <IP_ADDRESS>
2024-05-16 13:55:23.856 INFO (MainThread) [supervisor.docker.interface] Found ghcr.io/home-assistant/aarch64-hassio-dns versions: [<AwesomeVersion CalVer '2024.04.0'>]
2024-05-16 13:55:23.865 INFO (MainThread) [supervisor.docker.interface] Attaching to ghcr.io/home-assistant/aarch64-hassio-dns with version 2024.04.0
2024-05-16 13:55:23.901 INFO (MainThread) [supervisor.plugins.dns] Starting CoreDNS plugin
2024-05-16 13:55:24.565 INFO (MainThread) [supervisor.docker.dns] Starting DNS ghcr.io/home-assistant/aarch64-hassio-dns with version 2024.04.0 - <IP_ADDRESS>
2024-05-16 13:55:24.567 INFO (MainThread) [supervisor.plugins.dns] Updated /etc/resolv.conf
2024-05-16 13:55:24.736 INFO (MainThread) [supervisor.docker.interface] Found ghcr.io/home-assistant/aarch64-hassio-audio versions: [<AwesomeVersion CalVer '2023.12.0'>]
2024-05-16 13:55:24.743 INFO (MainThread) [supervisor.docker.interface] Attaching to ghcr.io/home-assistant/aarch64-hassio-audio with version 2023.12.0
2024-05-16 13:55:24.765 INFO (MainThread) [supervisor.plugins.audio] Starting Audio plugin
2024-05-16 13:55:25.425 INFO (MainThread) [supervisor.docker.audio] Starting Audio ghcr.io/home-assistant/aarch64-hassio-audio with version 2023.12.0 - <IP_ADDRESS>
2024-05-16 13:55:25.532 INFO (MainThread) [supervisor.docker.interface] Found ghcr.io/home-assistant/aarch64-hassio-observer versions: [<AwesomeVersion CalVer '2023.06.0'>]
2024-05-16 13:55:25.537 INFO (MainThread) [supervisor.docker.interface] Attaching to ghcr.io/home-assistant/aarch64-hassio-observer with version 2023.06.0
2024-05-16 13:55:25.569 INFO (MainThread) [supervisor.plugins.observer] Starting observer plugin
2024-05-16 13:55:26.227 INFO (MainThread) [supervisor.docker.observer] Starting Observer ghcr.io/home-assistant/aarch64-hassio-observer with version 2023.06.0 - <IP_ADDRESS>
2024-05-16 13:55:26.366 INFO (MainThread) [supervisor.docker.interface] Found ghcr.io/home-assistant/aarch64-hassio-multicast versions: [<AwesomeVersion CalVer '2024.03.0'>]
2024-05-16 13:55:26.375 INFO (MainThread) [supervisor.docker.interface] Attaching to ghcr.io/home-assistant/aarch64-hassio-multicast with version 2024.03.0
2024-05-16 13:55:26.405 INFO (MainThread) [supervisor.plugins.multicast] Starting Multicast plugin
2024-05-16 13:55:26.827 INFO (MainThread) [supervisor.docker.multicast] Starting Multicast ghcr.io/home-assistant/aarch64-hassio-multicast with version 2024.03.0 - Host
2024-05-16 13:55:26.829 INFO (MainThread) [supervisor.homeassistant.secrets] Loaded 0 Home Assistant secrets
2024-05-16 13:55:26.971 INFO (MainThread) [supervisor.docker.interface] Found ghcr.io/home-assistant/qemuarm-64-homeassistant versions: [<AwesomeVersion CalVer '2024.5.3'>]
2024-05-16 13:55:26.976 INFO (MainThread) [supervisor.docker.interface] Attaching to ghcr.io/home-assistant/qemuarm-64-homeassistant with version 2024.5.3
2024-05-16 13:55:26.995 INFO (MainThread) [supervisor.os.manager] No Home Assistant Operating System found
2024-05-16 13:55:26.998 INFO (MainThread) [supervisor.store.git] Cloning add-on https://github.com/esphome/home-assistant-addon repository
2024-05-16 13:55:27.999 INFO (MainThread) [supervisor.store.git] Cloning add-on https://github.com/hassio-addons/repository repository
2024-05-16 13:55:27.001 INFO (MainThread) [supervisor.store.git] Cloning add-on https://github.com/home-assistant/addons repository
2024-05-16 13:55:28.356 INFO (MainThread) [supervisor.store] Loading add-ons from store: 77 all - 77 new - 0 remove
2024-05-16 13:55:28.390 INFO (MainThread) [supervisor.addons.manager] Found 0 installed add-ons
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.backups.manager] Found 0 backup files
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.discovery] Loaded 0 messages
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.ingress] Loaded 0 ingress sessions
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state setup
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disabled_data_disk/system
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.resolution.checks.base] Run check for multiple_data_disks/system
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.resolution.check] System checks complete
2024-05-16 13:55:28.406 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state setup
2024-05-16 13:55:28.407 WARNING (MainThread) [supervisor.resolution.evaluations.base] OS-Agent is not correctly working (more-info: https://www.home-assistant.io/more-info/unsupported/os_agent)
2024-05-16 13:55:28.407 WARNING (MainThread) [supervisor.resolution.evaluations.base] Detected unsupported OS: Ubuntu 22.04.3 LTS (more-info: https://www.home-assistant.io/more-info/unsupported/os)
2024-05-16 13:55:28.407 WARNING (MainThread) [supervisor.resolution.evaluations.base] Systemd journal is not working correctly or inaccessible (more-info: https://www.home-assistant.io/more-info/unsupported/systemd_journal)
2024-05-16 13:55:28.407 WARNING (MainThread) [supervisor.resolution.evaluations.base] Docker cgroup version 2 is not supported! {'1'} (more-info: https://www.home-assistant.io/more-info/unsupported/cgroup_version)
2024-05-16 13:55:28.407 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2024-05-16 13:55:28.407 INFO (MainThread) [supervisor.jobs] 'ResolutionFixup.run_autofix' blocked from execution, system is not healthy - privileged
2024-05-16 13:55:28.408 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state setup
2024-05-16 13:55:28.408 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2024-05-16 13:55:28.408 INFO (MainThread) [__main__] Running Supervisor
2024-05-16 13:55:28.410 WARNING (MainThread) [supervisor.core] System running in a unsupported environment!
2024-05-16 13:55:28.410 CRITICAL (MainThread) [supervisor.core] System is running in an unhealthy state and needs manual intervention!
2024-05-16 13:55:28.410 INFO (MainThread) [supervisor.jobs] 'OSManager.mark_healthy' blocked from execution, no Home Assistant OS available
2024-05-16 13:55:28.410 INFO (MainThread) [supervisor.addons.manager] Phase 'initialize' starting 0 add-ons
2024-05-16 13:55:28.434 INFO (MainThread) [supervisor.addons.manager] Phase 'system' starting 0 add-ons
2024-05-16 13:55:28.434 INFO (MainThread) [supervisor.addons.manager] Phase 'services' starting 0 add-ons
2024-05-16 13:55:28.439 INFO (MainThread) [supervisor.core] Start Home Assistant Core
2024-05-16 13:55:28.460 INFO (MainThread) [supervisor.homeassistant.module] Update pulse/client.config: /data/tmp/homeassistant_pulse
2024-05-16 13:55:28.978 INFO (MainThread) [supervisor.docker.homeassistant] Starting Home Assistant ghcr.io/home-assistant/qemuarm-64-homeassistant with version 2024.5.3
2024-05-16 13:55:28.978 INFO (MainThread) [supervisor.homeassistant.core] Wait until Home Assistant is ready
2024-05-16 13:55:33.746 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state startup
2024-05-16 13:55:33.746 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2024-05-16 13:55:33.994 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
2024-05-16 13:55:34.001 INFO (MainThread) [supervisor.homeassistant.core] Home Assistant Core state changed to NOT_RUNNING
2024-05-16 13:55:39.013 INFO (MainThread) [supervisor.homeassistant.core] Home Assistant Core state changed to RUNNING
2024-05-16 13:55:39.014 INFO (MainThread) [supervisor.homeassistant.core] Detect a running Home Assistant instance
2024-05-16 13:55:39.014 INFO (MainThread) [supervisor.addons.manager] Phase 'application' starting 0 add-ons
2024-05-16 13:55:39.039 INFO (MainThread) [supervisor.misc.tasks] All core tasks are scheduled
2024-05-16 13:55:39.040 INFO (MainThread) [supervisor.core] Supervisor is up and running
2024-05-16 13:55:39.041 INFO (MainThread) [supervisor.host.info] Updating local host information
2024-05-16 13:55:39.042 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state running
2024-05-16 13:55:39.042 INFO (MainThread) [supervisor.resolution.checks.base] Run check for trust/supervisor
2024-05-16 13:55:39.047 INFO (MainThread) [supervisor.resolution.checks.base] Run check for no_current_backup/system
2024-05-16 13:55:39.047 INFO (MainThread) [supervisor.resolution.module] Create new suggestion create_full_backup - system / None
2024-05-16 13:55:39.047 INFO (MainThread) [supervisor.resolution.module] Create new issue no_current_backup - system / None
2024-05-16 13:55:39.047 INFO (MainThread) [supervisor.resolution.checks.base] Run check for pwned/addon
2024-05-16 13:55:39.048 INFO (MainThread) [supervisor.resolution.checks.base] Run check for ipv4_connection_problem/system
2024-05-16 13:55:39.048 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disabled_data_disk/system
2024-05-16 13:55:39.048 INFO (MainThread) [supervisor.resolution.checks.base] Run check for security/core
2024-05-16 13:55:39.049 INFO (MainThread) [supervisor.resolution.checks.base] Run check for docker_config/system
2024-05-16 13:55:39.049 INFO (MainThread) [supervisor.resolution.checks.base] Run check for multiple_data_disks/system
2024-05-16 13:55:39.049 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_ipv6_error/dns_server
2024-05-16 13:55:39.080 INFO (MainThread) [supervisor.resolution.checks.base] Run check for free_space/system
2024-05-16 13:55:39.081 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_failed/dns_server
2024-05-16 13:55:39.082 INFO (MainThread) [supervisor.jobs] 'OSManager.reload' blocked from execution, no Home Assistant OS available
2024-05-16 13:55:39.082 INFO (MainThread) [supervisor.host.services] Updating service information
2024-05-16 13:55:39.098 INFO (MainThread) [supervisor.host.network] Updating local network information
2024-05-16 13:55:39.104 INFO (MainThread) [supervisor.resolution.check] System checks complete
2024-05-16 13:55:39.105 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state running
2024-05-16 13:55:39.449 WARNING (MainThread) [supervisor.resolution.evaluations.base] Found unsupported images: {'1dev/agent', 'ms1design/text-generation-webui', 'docker.n8n.io/n8nio/n8n', 'portainer/agent', 'redis', 'ghcr.io/getzep/postgres', 'ghcr.io/tecnativa/docker-socket-proxy', 'ghcr.io/getzep/zep'} (more-info: https://www.home-assistant.io/more-info/unsupported/software)
2024-05-16 13:55:39.450 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2024-05-16 13:55:39.450 INFO (MainThread) [supervisor.jobs] 'ResolutionFixup.run_autofix' blocked from execution, system is not healthy - privileged
2024-05-16 13:55:39.537 INFO (MainThread) [supervisor.host.sound] Updating PulseAudio information
2024-05-16 13:55:39.540 WARNING (SyncWorker_12) [supervisor.host.sound] Can't update PulseAudio data: Failed to connect to pulseaudio server
2024-05-16 13:55:39.541 INFO (MainThread) [supervisor.host.manager] Host information reload completed

hassio_audio logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/filesystem.sh
cont-init: info: /etc/cont-init.d/filesystem.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service alsa: starting
s6-rc: info: service alsa successfully started
s6-rc: info: service alsa-init: starting
[13:55:25] INFO: Adjust ALSA mixer settings for /dev/snd/controlC0
[13:55:26] INFO: Adjust ALSA mixer settings for /dev/snd/controlC1
[13:55:26] INFO: Adjust ALSA mixer settings for /dev/snd/controlC2
s6-rc: info: service alsa-init successfully started
s6-rc: info: service pulseaudio: starting
[13:55:58] WARNING: No supervisor configuration found
W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set.
W: [pulseaudio] main.c: Home directory of user 'root' is not '/var/run/pulse', ignoring.
W: [pulseaudio] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
W: [pulseaudio] main.c: OK, so you are running PA in system mode. Please make sure that you actually do want to do that.
W: [pulseaudio] main.c: Please read http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/ for an explanation why system mode is usually a bad idea.
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card1: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card2: No such file or directory
s6-rc: info: service pulseaudio successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
E: [pulseaudio] main.c: Failed to acquire org.pulseaudio.Server: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.6842" is not allowed to own the service "org.pulseaudio.Server" due to security policies in the configuration file
N: [pulseaudio] bluez5-util.c: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features enabled (-E flag)?
W: [pulseaudio] bluez5-util.c: org.bluez.Media1.RegisterApplication() failed: org.freedesktop.DBus.Error.UnknownMethod: Method "RegisterApplication" with signature "oa{sv}" on interface "org.bluez.Media1" doesn't exist
W: [pulseaudio] bluez5-util.c: Couldn't register media application for adapter /org/bluez/hci0
W: [pulseaudio] bluez5-util.c: Only SBC codec is available for A2DP profiles
E: [pulseaudio] bluez5-util.c: org.bluez.Media1.RegisterEndpoint() failed: org.freedesktop.DBus.Error.UnknownMethod: Method "RegisterEndpoint" with signature "oa{sv}" on interface "org.bluez.Media1" doesn't exist
E: [pulseaudio] bluez5-util.c: org.bluez.Media1.RegisterEndpoint() failed: org.freedesktop.DBus.Error.UnknownMethod: Method "RegisterEndpoint" with signature "oa{sv}" on interface "org.bluez.Media1" doesn't exist

hassio_cli logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started

hassio_dns logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/corefile.sh
2024/05/16 13:55:24 open /config/coredns.json: no such file or directory
[13:55:24] ERROR: Corefile fails to generate. Use fallback corefile!
cont-init: info: /etc/cont-init.d/corefile.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun coredns (no readiness notification)
[WARNING] plugin/hosts: File does not exist: /config/hosts
.:53
.:5553
CoreDNS-1.8.7
linux/arm64, go1.22.2, a9adfd5-dirty
s6-rc: info: service legacy-services successfully started

hassio_multicast logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun mdns (no readiness notification)
mdns-repeater (6): dev hassio addr <IP_ADDRESS> mask <IP_ADDRESS> net <IP_ADDRESS>
s6-rc: info: service legacy-services successfully started

hassio_observer logs

2024/05/16 11:55:26 Start webserver on http://<IP_ADDRESS>:80

homeassistant logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun home-assistant (no readiness notification)
s6-rc: info: service legacy-services successfully started
2024-05-16 13:59:31.011 ERROR (MainThread) [homeassistant.components.hassio.handler] Client error on /supervisor/options request 0, message='Attempt to decode JSON with unexpected mimetype: text/plain; charset=utf-8', url=URL('http://<IP_ADDRESS>/supervisor/options')

Wow, okay!  This is awesome @ms1design !  Hopefully this makes things a lot easier for everyone 🙏
That docker run command 🤣
If making those /usr/share/hassio directories on the host is the only host-side changes required, that's not too bad at all.  Or perhaps you were alluding to something bigger?

@dusty-nv, I’m rolling hard on this docker run  command too 😂 it's a huge roll forward 🤣 especially when we realise how complicated it is to port all HA repositories and integrate them together.
I was trying to make it work with almost no changes to the host machine, which leaves us with one critical warning regarding udev permissions, among many other warnings as shown in the previous screenshots.
These are not the best results from a user perspective. I’m tempted to extend the jetson-containers API to support installation and uninstallation scripts, which would essentially make the Dockerfile unnecessary for this container. We can tackle that with a little reorganisation:

Create a new repository for HA-supervisor install/uninstall scripts for the Jetson host machine, along with a registry for HA Jetson Add-ons (Wyoming or other).
CUDA-related containers will stay in the jetson-containers repository.

My ideal plan is for the user to issue just one command on the host machine, which will install HA Supervisor with all system dependencies and optionally the full Wyoming Voice Assistant pipeline from jetson-containers. This might take some time :)

Sounds like a good plan @ms1design.  Thank you for looking into this - that's okay if it takes time, I appreciate you wanting to go about it the right way that is easiest for users.  My guess/hope is this will all come together nicely around the time we have the more advanced agents operating and hopefully the new AI API's defined by HA.  I have been working with the NousResearch/Hermes-2-Pro-Llama-3-8B model for controller LLM and been getting some encouraging initial results from that, way better than what Llama3 could do for function calling.
Anyways, yea - your HA Supervisor repo could include jetson-containers as a submodule if that aids in the one-click/one-command scripted setup.  Others in the group have been using jetson-containers as a submodule in their projects and that design seems to be working well for them.


Blocks deleting devices using partial uuids

Change-type: patch

release.get should probably also throw if you pass an empty string

Oh and device.get could similarly fail w/  an InvalidParameter error when providing an empty string


[WGDashboard] wg2 Error: '[Peer]' is not in list

This error:
------------------------------------------------------------
[WGDashboard] Starting WGDashboard with Gunicorn in the background.
[WGDashboard] wg2 Error: '[Peer]' is not in list
[WGDashboard] wg1 Error: '[Peer]' is not in list
[WGDashboard] WGDashboard w/ Gunicorn will be running on <IP_ADDRESS>:10086
[WGDashboard] Access log file is at ./log/access_2024_08_22_11_18_53.log
[WGDashboard] Error log file is at ./log/error_2024_08_22_11_18_53.log
[WGDashboard] Checking if WGDashboard w/ Gunicorn started successfully
[WGDashboard] WGDashboard w/ Gunicorn started successfully
------------------------------------------------------------

Gets thrown for a configuration file like these:
root@61ac0ba87325:/etc/wireguard# cat wg2.conf
[Interface]
PrivateKey = gDKd1e1QLxQyfUr+5YT6haE0Rig7wBE4kfox1NToT3c=
Address = <IP_ADDRESS>/24
ListenPort = 51822
PreUp =
PreDown =
PostUp =
PostDown =
SaveConfig = true

But this is just a newly created or added interface so why is there an error reporting for the peers? An empty interface could also exist. Right?

Hi Daan, this is intended for debugging use.. I threw this error so that we know which one is empty :) and this error won't crash the dashboard.

True.

I just noticed because of this:
==> /opt/wireguarddashboard/src/log/error_2024_08_22_12_48_42.log <==
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list
[WGDashboard] wg0 Error: '[Peer]' is not in list

Is there a way you can remove this from wgd.sh start and put it into wgd.sh debug?

Yes, I can just have it to check if the flask app is ran in __main__, if not that means Gunicorn is running it.

Thanks! Love to hear it when you have an update.

Fixed :)