haskellPackages.gi-gtk_4: Build fixes

This is for merging into the haskell-updates branch (PR #279413).
The dependencies for gi-gtk-4.0.8 are fixed with overrides and a workaround is added for the command-line length limit being exceeded due to an enormous list of pkg-config dependencies.
The __onlyPropagateKnownPkgConfigModules workaround used here depends on PR #285125 being completed and merged to master. Without the relevant meta.pkgConfigModules changes, this PR fails to build.
Tested with:
nix build .#haskellPackages.gi-adwaita

LGTM.
The gi-gtk_4 alias is unconventional but I think it makes sense.
I am confused about the pkgconfig workaround. Didn’t we enable that workaround by default? Are the overrides actually needed? \cc @sternenseemann

The gi-gtk_4 alias is unconventional but I think it makes sense.

With the alias I'm trying to provide a stable name for users of gi-gtk >=4.
However, this solution isn't fully satisfactory to me, because:

user overlays may override the alias attribute gi-gtk_4 instead of the real attribute gi-gtk_4_0_8, leading to unexpected results.
in configuration-*.nix, build fix overrides are applied to the real attribute gi-gtk_4_0_8, not the alias gi-gtk_4. If there is a new hackage version released, e.g. gi-gtk_4_0_9, all references anyway to gi-gtk_4_0_8 need to be changed, otherwise there are eval errors.

Perhaps the configuration-*.nix overlays could rename instead of alias? i.e. remove the gi-gtk_4_0_8 attribute leaving only gi-gtk_4. It would help with the above 2 problems, though would be even more unconventional.

I am confused about the pkgconfig workaround. Didn’t we enable that workaround by default? Are the overrides actually needed? \cc @sternenseemann

I was a bit unclear about which workaround...
There is the __propagatePkgConfigDepends workaround which is applied globally for all affected ghc versions. This thing works, but introduces an excessively large list of allPkgconfigDepends. For some packages, the list of pkg-config packages is so large that the gcc command line becomes too long ⇒ build failure!
Enter the second workaround, __onlyPropagateKnownPkgConfigModules (disabled by default), which limits dependency propagation to packages which have a meta.pkgConfigModules attribute. This works a little better, but relies on library packages having meta.pkgConfigModules, otherwise Cabal will report "missing" pkg-config dependencies. (NB. Those "missing" dependencies aren't actually necessary for a non-static build, but Cabal doesn't know that).

Thanks for your explanation. I agree that the aliasing situation is not great, but it’s also not terrible.


[BUG]: CUPS ratios options does nothing

Describe the bug
The printed image is slightly scaled (3mm), or the margins are negatives.
On the source jpg, the margins are the same as the middle ones (see attached photo).
Steps to reproduce the behavior
Using a printer (DNP DS620) to print 4x6 paper, 300x300 dpi.
Tested with 1500x1000 and 1524x1016, 300 dpi collage.
The ratio options  'Shrink', 'Crop' or 'Expand' in CUPS does nothing.
Expected behavior
Options to 'Shrink', 'Crop' or 'Expand' the collage in CUPS.
Photobooth Version
v4.5.1
Browser and browser version
Firefox up to date
Operating System
Ubuntu 24.04
Did it work before?
No
Latest working version
No response
Additional context
Some topics talk about Gutenprint options. Maybe this option has to be passed by Photobooth to CUPS ?

Please report to CUPS / Gutenprint devs, it's nothing Photobooth can change. Photobooth only uses the OS command line for printing.

To use latest Gutenprint you can follow the tutorial/instructions here:
https://www.peachyphotos.com/blog/stories/building-modern-gutenprint/
Example usage of print command via Photbooth Adminpanel on how to pass supported options:
from a Mitsubishi
lp -o orientation-requested=3 -o PageSize=w288h432-div2 -o fit-to-page -o StpColorPrecision=Best -o StpLaminate=Matte -o StpPrintSpeed=UltraFine %s

For Canon Selphy
lp -o media=Postcard.fullbleed -o landscape -o fit-to-page %s

https://www.cups.org/doc/options.html

Thank you @andi34!
I tried a looooooot of options (scaling, natural-scaling, margins, fill, etc. ) but it seem the printer force to fit (to much) the page.
Looks like it's not possible to have an image smaller than the paper size...

Printer-specific options are also available and can be listed using the lpoptions command:

I tried to change the values *ImageableArea w288h432/4x6: "0.000 9.120 297.600 451.680" on the PPD file but nothing.

Via command line you can define the options and use them independently of your settings via CUPS. There's nothing more you can do Photobooth side.


[Issue] Missing Output when using --format '{{jsonPretty .}}'

Current Behavior
I am trying to compare the Image (specific to a given Platform) between what is on Docker Hub / docker.io and what I have on my Local Registry Mirror.
I am seeing a weird inconsistency between the JSON Output and the "Normal" / Default Output.
Expected Behavior
The two Output Formats should return the same Values, just in a Different Format.
As it is right now, the Most Important Information (besides the Manifest Digest which can be checked using regctl manifest head) and which can be compared on Docker Hub Website is missing (as mentioned above):

Steps To Reproduce
JSON Output:
root@80c71a2c3a98:/opt/app# regctl image manifest --host docker.io "alpine:latest" --platform linux/amd64 --format '{{jsonPretty .}}'  | jq .
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
  "config": {
    "mediaType": "application/vnd.docker.container.image.v1+json",
    "size": 1472,
    "digest": "sha256:1d34ffeaf190be23d3de5a8de0a436676b758f48f835c3a2d4768b798c15a7f1"
  },
  "layers": [
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 3622094,
      "digest": "sha256:d25f557d7f31bf7acfac935859b5153da41d13c41f2b468d16f729a5b883634f"
    }
  ]
}

"Normal" / Default Output:
root@80c71a2c3a98:/opt/app# regctl image manifest --host docker.io "alpine:latest" --platform linux/amd64
Name:        alpine:latest
MediaType:   application/vnd.docker.distribution.manifest.v2+json
Digest:      sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b
Total Size:  3.622MB

Config:
  Digest:    sha256:1d34ffeaf190be23d3de5a8de0a436676b758f48f835c3a2d4768b798c15a7f1
  MediaType: application/vnd.docker.container.image.v1+json
  Size:      1472B

Layers:

  Digest:    sha256:d25f557d7f31bf7acfac935859b5153da41d13c41f2b468d16f729a5b883634f
  MediaType: application/vnd.docker.image.rootfs.diff.tar.gzip
  Size:      3.622MB

As can be seen, the first Elements are ignored when outputting in JSON Format.
Missing are:

Name:        alpine:latest
Digest:      sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b
Total Size:  3.622MB

And for some Reason the JSON has one EXTRA field:

"schemaVersion": 2,

Version
VCSTag:     v0.6.1
VCSRef:     766ee6291f882778207ff42207f9ca8b1da54e57
VCSCommit:  766ee6291f882778207ff42207f9ca8b1da54e57
VCSState:   clean
VCSDate:    2024-05-14T13:18:19Z
Platform:   linux/amd64
GoVer:      go1.22.3
GoCompiler: gc

(using the official AMD64 Binaries provided by you on https://github.com/regclient/regclient/ running inside a custom Docker/Podman Container based on Debian Testing - https://github.com/luckylinux/container-registry-tools and https://github.com/luckylinux/docker-sync-registries)
For what it's worth, I also tested (on my Desktop, i.e. running on "Baremetal" Ubuntu 24.04 AMD64), an older Release built from Source (IIRC it was built on Ubuntu 23.10 AMD64 though), but that yields the same Issue:
VCSTag:     (devel)
VCSRef:     aeb6854d17bb72e3e3e6522484d81d36057f30a8
VCSCommit:  aeb6854d17bb72e3e3e6522484d81d36057f30a8
VCSState:   clean
VCSDate:    2024-03-31T19:51:05Z
Platform:   linux/amd64
GoVer:      go1.21.1
GoCompiler: gc

Environment

Running as binary or container: running your Official AMD64 Binary into my own Container (https://github.com/luckylinux/container-registry-tools and https://github.com/luckylinux/docker-sync-registries)
Host platform: AMD64 (KVM Virtual Machine)
Registry description: Unsure

Anything else

In headers Format I am getting this:
root@80c71a2c3a98:/opt/app# regctl image manifest --host docker.io "alpine:latest" --platform linux/amd64 --format headers
Content-Length: 528
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Date: Sun, 02 Jun 2024 09:58:49 GMT
Docker-Content-Digest: sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b
Docker-Distribution-Api-Version: registry/2.0
Docker-Ratelimit-Source: <IP_ADDRESS>
Etag: "sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b"
Ratelimit-Limit: 100;w=21600
Ratelimit-Remaining: 94;w=21600
Strict-Transport-Security: max-age=31536000

I could do a quick Fix / Hack on my side and try to parse either of these, but I guess the proper Solution would be to get this fixed ...
Headers:
regctl image manifest --host docker.io "alpine:latest" --platform linux/amd64 --format headers | grep -i "Docker-Content-Digest" | sed -E "s|^Docker-Content-Digest:\s*?([0-9a-zA-Z\:]+?)$|\1|"
sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b

"Normal" / Default:
regctl image manifest --host docker.io "alpine:latest" --platform linux/amd64 | grep -Ei "^Digest:" | head -1  | sed -E "s|^Digest:\s*?([0-9a-zA-Z\:]+?)$|\1|"
sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b

Or did I forget to use some custom Option when running the Command ?
As discussed/briefed the previous time I opened an issue on your Project Issue Tracker, I am trying to either compare the Manifest using head (in case I have a lot of Disk Space available, I will just mirror ALL Architectures) or comparing the platform-specific digest between the Docker Registry and my Local Registry Mirror (in case Disk Space is more scarce).

The manifest output in jsonPretty is the original manifest, parsed into the known fields, and with whitespace to make it readable. You can see the specs for those manifests at:

https://github.com/distribution/distribution/blob/v2.8.3/docs/spec/manifest-v2-2.md
https://github.com/opencontainers/image-spec/blob/main/image-index.md
https://github.com/opencontainers/image-spec/blob/main/manifest.md

The printPretty output is specially formatted for human consumption, and it pulls in metadata like the digest, the name of the pulled image, and a sum of the bytes for each of the layers. Those pretty printers can be seen in the manifest package, e.g. https://github.com/regclient/regclient/blob/v0.6.1/types/manifest/oci1.go#L215-L271
It's not possible to include the digest of the manifest inside of the manifest, since that would be a hash of itself and require circular hash (a hash of content that contains the value of the output hash in the input).
If your goal is to know the size of each of the layers in the manifest, you'd need to pull the manifest to see each of the layer descriptors and sum up the size values. That cannot be done with a head request.
If you want to know the digest of a manifest, you can see that with regctl image digest or regctl manifest head --require-digest. It will attempt to use a HEAD request, but on registries that do not include the digest in the headers, it will fall back to a GET request and hash the content.
You can also get more complicated with Go templates to call multiple methods like listing the layers and getting the reference directly from the shell<EMAIL_ADDRESS>E.g.:
regctl manifest get ghcr.io/regclient/regctl --format 'Digest: {{.GetDescriptor.Digest}}{{print "\nJSON:\n"}}{{jsonPretty .}}'

If all you want to do is avoid copying all of the platforms, I'd recommend having a look at https://github.com/distribution/distribution/pull/3536. regctl image copy has an experimental/hidden --platforms (plural) flag that accepts a list of platforms to include. And regsync has a similar platforms field, also experimental. These have not be tested, and in use can result in errors if either the registry does not support sparse manifests (which is almost all of them, hence the feature being experimental and untested). It would also result in errors from clients if they attempt to pull a platform that does not exist on the registry, often a returning confusing 404 when pulling a tag (that is a manfiest list or index) that does exist.

Thank you for your quick Reply.
Isn't it just this the Command I was looking for ?
regctl manifest get docker.io/library/alpine:latest --format '{{.GetDescriptor.Digest}}' --platform linux/amd64
sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b

If you just want the digest, then regctl image digest or regctl manifest head --require-digest are the commands you want.

Indeed this also works :+1:
regctl image digest docker.io/library/alpine:latest --platform linux/amd64
sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b

Whether this does a GET or a HEAD request is not clear to me. Based on what we discussed last time, I recall this will perform a GET requests, since it's invoked with --platform XXX:
regctl manifest head --require-digest docker.io/library/alpine:latest --platform linux/amd64
sha256:216266c86fc4dcef5619930bd394245824c2af52fd21ba7c6fa0e618657d4c3b

To resolve a platform, it has to pull the manifest list or index, which is why you typically don't want that flag in automation. You can run with -v debug to see the GET and HEAD requests.


Place close button on description

Our demographic has very large viewports, and as a result we've noticed the Close button is overlooked.
We'd like to have the option to display the close button on the step itself. This is also common practice with the other guides I've seen. Something similar to the below screenshot:

Where close button will appear in the list of tutorials?

Good question, in our current situation we're not using the list of tutorials.
We should still address this though:
Setting it on the same line as Available Tutorials would seem best suited.

This is the look I got going for the step right now.

Nicely done!!

Thanks. I'm working on it on the close-btn branch, so would love to have some feedback.
Especially the main question I have is what property to use. I'm currently using SS.config.closePosition, with valid values being bottom-right or step.
From past experience we know that items in the bottom-right are most overlooked, esp. on large displays. It might be useful to expand this position property to allow other values like top-left, top-right and bottom-left.
As said though, I'm happy to hear other people's thoughts.

Though here in our company we didn't have this specific issue (to put the close button inside the description box), I consider this enhancement absolutely valid. My only suggestion is to change the acceptable values for this property to "description-box" and "screen-corner", and the property name itself to closeButtonPosition. What do you think?

Yeah sounds good, I'll make sure to update that once I have the chance.

Just pushed current work to develop.

Great work!

We are looking for this feature as well. Is this still being worked on, or is it ready to be released?

Hi @peteallen,
Sorry I've had to slow down a bit on the dev work, while an internal project has taken prescedence. I hope to get a release out by the end of this month.
We do have a working version, but it's not been thoroughly tested for a release. It currently lives on the develop branch if it's urgent.

@peteallen, as @DanielApt said, this feature is already done, and it will be released in our next official release. Coincidentally, Daniel and I are working on internal projects for the companies that each one of us work for. But, as soon as we can, this will be ready for production. If you really need this urgently, you can get the development version by using directly the distr folder in the develop branch, since we do not pack develop versions.
Cheers.

@DanielApt Now the close button also appears inside the wizard menu when its position is 'description-box'. The feature is complete. I'm closing this issue. =]

Great work, I was worried how to place the button, but it actually works fine imho!


Also highlight code blocks not at the top level

Seems some recent commits broke the types and tests so I fixed those issues before implementing the other bug fix. While I was developing I found it convenient to add some additional scripts so I've added those changes to the PR as well.
Closes #5

@TomerAberbach Thank you for the contribution. I review it in the near future 😀

Hey @leafac! Wondering if you have time to review this soon. Totally understand if you're busy :)


Introduce vulnerability in routes.py

Hi, this code introduces sql vulnerability. With that, I will not merge this pull request.


fix: span vs transaction guzzle

Counterpart to:
https://github.com/getsentry/sentry-laravel/pull/387#pullrequestreview-498279501
This makes it that the Guzzle Spans will be added to the span on the scope vs. always the transaction.
It makes a nicer tree view.
Before:

After:

thx @ste93cry


Auto-deploy sample of Open Tech Summit to Heroku

The sample of the OpenTechSummit has a lot of audio files, that are too big to deploy to Github without Large File Support. Therefore please auto-deploy the sample on pull request merges to Heroku.
The sample file is here: https://github.com/fossasia/open-event/tree/master/sample/OTS16

@mariobehling  Looks like the OTS16 sample is broken , i have implemented the solution using FOSSASIA16 sample right now. Please review #869

@shubham-padia Please open an issue here for the sample and describe what is the problem: https://github.com/fossasia/open-event
Would be great if you could help to solve it. Cheers.

@mariobehling I'll start working on the issues asap. Meanwhile closing #869 .

@mariobehling The max. slug size for heroku is 300MB which is exceeded by the current build if the OTS sample site is included.
-----> Compressing...
 !     Compiled slug size: 522.9M is too large (max is 300M).
 !     See: http://devcenter.heroku.com/articles/slug-size

 !     Push failed
       Done: 50.5M
-----> Launching...

Another solution is we can auto-deploy the OTS sample to website via FTP.
Your views?

Another solution is we can auto-deploy the OTS sample to a website via FTP

@shubh1m Yes, good idea. How could we hide the ftp login data?

Travis supports custom ftp deployments and the login data can be encrypted . For more refer https://docs.travis-ci.com/user/deployment/custom/#FTP

@mariobehling If the solution seems feasible, i can try out the solution with my domain, should i go ahead ?

@shubham-padia Can you please outline, how you are going to implement this ?


Move event listeners to cog

Currently FlandersBOT has many event listeners in the main bot.py file, this means changes to these event listeners cannot be hot reloaded. Moving them to a cog will allow you to make changes to these listeners without restarting the bot.

Added with: 3aaa566499567baee8802c13b25c2822a9fc7db6
Now supports hot reloading of significantly more functionality.

Added with: 3aaa566499567baee8802c13b25c2822a9fc7db6
Now supports hot reloading of significantly more functionality.


Dependency Updates and Fix swagger-ui uri

Your github repo doesn't seem to match with latest distributed contents.
Distributed<EMAIL_ADDRESS>depends<EMAIL_ADDRESS>but DocsController routes 3.2.0 as previous version. That was breaking, so I fixed that and updated other dependencies with latest library versions.
Also, setExample(String) in FinatraOperation was deprecated and recommended to use setExample(Object) so I changed that.

Raised an issue to fix this in a more general way perhaps? #33

@kimxogus Sorry I never saw this. I need to mess with my notification settings, somehow this is the only project I don't get email notifications for.
I would gladly accept any PRs you are using privately to help fix the project. I was hoping to get more time to work on this for my company as well, but focus has been elsewhere (as I should have expected :) )


[Identity] Missing Variants

we are missing Lama Variants and Trader Lama variants and the varent of the mooshroom when it gets struck by lightning
Original: https://github.com/Draylar/identity/issues/541

Implemented as of f1ac915b1cac28ea6c3fd897d5c9972f5ead7dc8


Player roles need to be set to having all traits

Players are missing traits, however traits respect the slot a player takes

Closing this in favor of https://github.com/StormCircuit/KP-Lib-Altis-Storm-Edits/issues/17 as it is a more apt description of the issue

Closing this in favor of https://github.com/StormCircuit/KP-Lib-Altis-Storm-Edits/issues/17 as it is a more apt description of the issue


reduce pod definition size

Summary
The pod spec for steps run from argo is quite large and can fill etcd. Wanting to trim this down, I imagine there will be 2 parts:

code changes
docs for configration of init vs main vs wait containers

thoughts/Qs:

is ARGO_TEMPLATE env variable needed on all 3 containers?
are volumeMounts needed on both main and wait containers?
do all 3 containers need environment variables for communicating with s3 ie via artifactRepository?
ARGO_TEMPLATE  is huge, is the ARGO_TEMPLATE env variable containing things it doesn't need? perhaps some containers need things within that other containers don't?
are ARGO_PROGRESS_PATCH_TICK_DURATION/ARGO_PROGRESS_FILE_TICK_DURATION/ARGO_INCLUDE_SCRIPT_OUTPUT/ARGO_PROGRESS_FILE env variables needed?
do the commands on all the containers need --loglevel/--log-format?

Use Cases
ensure etcd does not fill up

is ARGO_TEMPLATE env variable needed on all 3 containers?

ARGO_TEMPLATE may be huge, #12325 provides an optimization solution for EnvVarTemplate offload, perhaps it can be made the default logic. However, its lifecycle is aligned with the workflow, not the pod, considering delete it when pod gc?

are ARGO_PROGRESS_PATCH_TICK_DURATION/ARGO_PROGRESS_FILE_TICK_DURATION/ARGO_INCLUDE_SCRIPT_OUTPUT/ARGO_PROGRESS_FILE env variables needed?

ARGO_PROGRESS_PATCH_TICK_DURATION/ARGO_PROGRESS_FILE_TICK_DURATION/ARGO_PROGRESS_FILE are used to implement self reporting progress.
ARGO_INCLUDE_SCRIPT_OUTPUT is used to determine whether stdout needs to be saved.
I think optimizing the reuse of ARGO_TEMPLATE would be sufficient. The other aspects have minimal impact, there's no need to be overly demanding.

@jswxstw do u know what ARGO_TEMPLATE is for?

@jswxstw do u know what ARGO_TEMPLATE is for? and do all 3 containers need it?

All 3 containers need ARGO_TEMPLATE to prepare inputs or save outputs, and in some types of templates like Script/Resourct/ContainerSet, it serves other purposes as well.


templates in subdirectories not loaded via ATP, forward slashes stripped in request

Hi Giuseppe,
Firstly, thanks so much for this, it is awesome.
I've come across a slight issue with regards to loading template files that are in sub directories. get_template_part() allows you to pass a path as the first argument. i.e.
get_template_part( 'templates/tha_entry_top/entry', 'test' );

would load a file called entry-test.php in my theme's templates/tha_entry_top/ directory.
However, it appears that THA strips the forward slashes. I tried both
ajax_template_part( 'templates/tha_entry_top/entry', 'test' );

and
ajax_template_part( 'templates\/tha_entry_top\/entry', 'test' );

to see if I could manually unescape them, but both produced the following POST request form data;
action:ajaxtemplatepart
files_data[ajaxtemplate-templatestha_entry_topentry-test-1][]:templatestha_entry_topentry
files_data[ajaxtemplate-templatestha_entry_topentry-test-1][]:test
posts_data[ajaxtemplate-templatestha_entry_topentry-test-1]:1

Which, naturally, leads to the template not loading.
I'm a bit of a sucker for having a clean theme root directory, so I'd absolutely love ATP to allow templates to be loaded from sub directories. Again, thanks so much for writing this. It. Is. Awesome.

Thanks @richardtape
Yep, plugin should definitely support templates in subfolders. I'll surely handle this issue in the weekend. Thanks for reporting.

Amazing. Thanks, @Giuseppe-Mazzapica

@richardtape Found few minutes to solve the issue. Now it works with subfolders.

Thanks so much for working on this @Giuseppe-Mazzapica but sadly it doesn't seem to have quite worked.
add_action( 'tha_entry_top', 'tha_entry_top__loadTestEntry' );
function tha_entry_top__loadTestEntry() {
	// ajax_template_part( 'entry', 'test' );
	ajax_template_part( 'templates/tha_entry_top/entry', 'test' );
	// get_template_part( 'templates/tha_entry_top/entry', 'test' );
}

Is my loader. If I use ajax_template_part( 'entry', 'test' ); it works. If I use get_template_part( 'templates/tha_entry_top/entry', 'test' ); However, if I use ajax_template_part( 'templates/tha_entry_top/entry', 'test' ); it doesn't work. Here's the POST request and response;
action:ajaxtemplatepart
files_data%5Bajaxtemplate-templatestha_entry_topentry-test-1%5D%5B%5D:templatestha_entry_topentry
files_data%5Bajaxtemplate-templatestha_entry_topentry-test-1%5D%5B%5D:test
posts_data%5Bajaxtemplate-templatestha_entry_topentry-test-1%5D:1

{"success":true,"data":{"ajaxtemplate-templatestha_entry_topentry-test-1":""}}

The templates/tha_entry_top/entry-test.php file just contains plain text at the moment which says 'This is loaded via AJAX' so there's nothing in there that would be weird.
Maybe I'm doing something wrong? Let me know if you need any more info.

Have you updated via composer? If so, which is the version in your composer.json?
Can you confirm that these 2 lines in the file src/Templater.php appear like they are here on GitHub?

I actually just created a new project in my downloads folder as per your instructions in the readme. (To try and prevent any problems).
In that same directory, I've also just run a composer update and received the following:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating optimized autoload files
Warning: Ambiguous class resolution, "Stash\Session\SessionHandlerInterface" was found in both "/Users/richardtape/Downloads/ajax-template-part/vendor/tedivm/stash/src/Stash/Session/SessionHandlerInterface_Legacy.php" and "/Users/richardtape/Downloads/ajax-template-part/vendor/tedivm/stash/src/Stash/Session/SessionHandlerInterface_Modern.php", the first will be used.

Finally, to answer your question, no, I do not see those lines in src/Templater.php like they are on github.
However, if I download the zip from github and stick those files into the plugin (leaving the vendor directory which was installed via composer previously)... IT WORKS! Yay!
I guess it's just a composer update problem. Thanks so much @Giuseppe-Mazzapica

Glad it works. Yes, was a composer update problem.
In facts in the messages you posted it says "Nothing to install or update".
Next time you can force updated version by calling from plugins dir
composer create-project gmazzap/ajax-template-part ./ajax-template-part 1.1.* --no-dev


Add examples to readme

Readme should show an example how to configure the project.

Also, would be nice if we could add a description of the project.


Imports failure while building with Vite

When using Vite to build React app it says that<EMAIL_ADDRESS>has wrong definition of entry point.
Fix is simple - just remove "jsnext:main" key from package.json, since it's targeting src folder that is not present when install via npm. I think changing path there will be working too.
<EMAIL_ADDRESS><EMAIL_ADDRESS>

Fixed in #279


[UX] No visual cues on error from server (keeps saying loading...)

Have been using the app for a while. I must say the UX is pretty good but one thing bugs me.
When there is an error on response from server, it stays stuck on loading...
I think this is unexpected behavior.

@designabyss thanks for filing this. Do you mind helping out with this?

@mmahalwy certainly wouldn't mind but it would be a week till I get free from college and pull my coding keyboard!

Okay sounds good! Ping me here when ready :)

@mmahalwy hey!
I have forked and cloned the project locally, ran npm install (btw it gave some errors in the end about some dependencies whining due to unsupported webpack version). Just point me in the right direction for build now... :)

@m-adilshaikh sorry i didnt see your last comment. Would love some help on this :)


Create kunedo.netkan

The identifier should probably be FanRadiator rather than your user name, in case you decide to make another mod at some point, and to match the name property. Any objections?

The identifier should probably be FanRadiator rather than your user name, in case you decide to make another mod at some point, and to match the name property. Any objections?

ok changing indentifier to fanradiator , thx for warning :)

Is it possible to install it in gamedata/kunedo/fanradiator? for next mods install in same folder.

If you structure the ZIP file that way, yes. Currently you would have GameData/Kunedo/Parts/fanradiator as it is in the ZIP.

okey, 5 minutes im changing


Script for promoting high quality names/addresses

The Myanmar Centre for Responsible Business did a big piece of work where they went through our facilities in Myanmar, helped us resolve duplicates (complete), and then created standardized versions of names and addresses for many of the facilities, so we can have cleaner profiles for Myanmar. They've now uploaded that list of standardized names and addresses: https://openapparel.org/?contributors=1901
I'm working with them on resolving some errors and completing confirm/reject, but once their list is in a solid place, it would be great to run a script to automatically promote their contributions to the primary position on each of the facility profiles they contributed to, so we are making the most of those high quality names/addresses they created. Perhaps something that can be included in the next scheduled script run to resolve duplicates.
cc @mariel-oar and @vrwOAR

is this an existing script or would be new development? @jwalgran


Merge release/3.6

This is a simple merge from release/3.6 back to develop to pull in changes and fixes from the release branch.

Two minor comments: if the values are correct, please merge. LGTM.


Change the time of the Copyright in pkg/ddc/alluxio/transform_volumes.go

The year of the Copyright should be 2022, change it to 2022.

/lgtm


Increase usability API

Only terminal is nice now, require and using gaston is messy (specifiying callbacks, folders, etc.)

A REPL will be implemented in time...

i think he means making it easier to require gaston programatically in node e.g. for doing stuff like:
npm test runs - test.js
   var gaston = require('gaston')
   gaston.test({
      browser:'/test/browser/'
  })

in a node script


MallocArray of MallocMatrix

I would like to use StaticTools to compile a MallocArray on MallocMatrix. StaticTools is very great e.g. to represent Strings in a MallocMatrix. When initializing a MallocArray on MallocMatrix, I get an AssertionError:
MallocVector{MallocMatrix}(undef,3)
Then I get
AssertionError: Base.allocatedinline(T)
Stacktrace:
 [1] MallocArray
   @ StaticTools C:\Users\T460\.julia\packages\StaticTools\BAWnD\src\mallocarray.jl:112 [inlined]
 [2] MallocVector{MallocArray}(x::UndefInitializer, dims::Int64)
   @ StaticTools C:\Users\T460\.julia\packages\StaticTools\BAWnD\src\mallocarray.jl:131
 [3] top-level scope
   @ REPL[47]:1

How can I initilize a MallocVector in MallocMatrix?
There was already a similar issue. The solution was about redefining  Base.allocatedinline(T), or Base.unsafe_load and Base.unsafe_store (?)

The problem is that MallocMatrix is an abstract type; you need to fully specify the type.
julia> MallocMatrix
MallocMatrix (alias for MallocArray{T, 2} where T)

julia> MallocVector{MallocMatrix}(undef,3)
ERROR: AssertionError: Base.allocatedinline(T)
Stacktrace:
 [1] MallocArray
   @ ~/.julia/packages/StaticTools/PMqff/src/mallocarray.jl:112 [inlined]
 [2] MallocVector{MallocMatrix}(x::UndefInitializer, dims::Int64)
   @ StaticTools ~/.julia/packages/StaticTools/PMqff/src/mallocarray.jl:131
 [3] top-level scope
   @ REPL[3]:1

julia> MallocVector{MallocMatrix{Float64}}(undef,3)
3-element MallocVector{MallocMatrix{Float64}}:
 0×0 MallocMatrix{Float64}
 0×0 MallocMatrix{Float64}
 0×0 MallocMatrix{Float64}

Great! I understand. Thank you a lot!


Summary with embeddings

class TextCNN(nn.Module):
    def __init__(self, nb_words, embed_dim, embedding_matrix, max_seq_len, num_filters, num_classes):
        super(TextCNN, self).__init__()
        self.num_filters=num_filters
        self.embed = nn.Embedding(nb_words, embed_dim)
        self.dropout = nn.Dropout(0.3)
        self.conv = nn.Conv1d(embed_dim, num_filters, kernel_size=2, stride=1)
        self.fc1 = nn.Linear(num_filters, 32)
        self.fc2 = nn.Linear(32, num_classes)
        self.logsigmoid = nn.Sigmoid()

    def forward(self, x):
        x = self.embed(x)
        x = x.permute(0, 2, 1)
        x = self.dropout(x)
        x = self.conv(x).permute(0, 2, 1).max(1)[0]
        x = self.fc1(x)
        x = F.relu(x)
        x = self.dropout(x)
        x = self.fc2(x)
        return self.logsigmoid(x)

model = TextCNN(1000, 100, [], 10, 20, 3)
data = torch.from_numpy(np.array([[1,4,5], [7,7,9]]))
output = model(data)
print(output)
print(model)
print(data[0].shape)
print(summary(model, (1, 10)))

Gives error:

RuntimeError: Expected tensor for argument #1 'indices' to have scalar type Long; but got CPUFloatTensor instead (while checking arguments for embedding)

same problem

RuntimeErrorTraceback (most recent call last) ... RuntimeError: Expected tensor for argument #1 'indices' to have scalar type Long; but got CUDAFloatTensor instead (while checking arguments for embedding)

I also encountered this problem. Has anyone solved it？

One quick-fix is to change the dtype from FloatTensor to LongTensor, in the source file:
    if device == "cuda" and torch.cuda.is_available():
        # dtype = torch.cuda.FloatTensor
        dtype = torch.cuda.LongTensor
    else:
        # dtype = torch.FloatTensor
        dtype = torch.LongTensor

same problem and also changing the data types from floattensor to long is not workng

Not working is not satisfactory. What is the error message?

Hey I'm having the same issue

class BiLSTMBaseline(nn.Module):

    def __init__(self,hidden_dim,emb_dim=300,
                recurrent_dropout=0.1,num_linear=1):
        super().__init__()
        self.embedding = nn.Embedding(len(TEXT.vocab),emb_dim)
        self.encoder = nn.LSTM(emb_dim,hidden_dim,num_linear,dropout = recurrent_dropout)
        self.linear_layers = []
        for _ in range(num_linear - 1):
            self.linear_layers.append(nn.Linear(hidden_dim,hidden_dim))
        self.linear_layers = nn.ModuleList(self.linear_layers)
        self.predictor =   nn.Linear(hidden_dim,6)

    def forward(self,seq):
        embeddings = self.embedding(seq)
        hdn, _  = self.encoder(embeddings)
        feature = hdn[-1,:,:]
        for layer in self.linear_layers:
            feature = layer(feature)
        preds = self.predictor(feature)
        return preds

summary(model,input_size=(402, 64),device='cpu')

Error :

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-44-ad1f81b1c254> in <module>
----> 1 summary(model,input_size=(402, 64),device='cpu')

<ipython-input-43-4e60852cb827> in summary(model, input_size, batch_size, device)
     72 #     print(x.shape)
     73
---> 74     model(*x)
     75
     76     # remove these hooks

~/anaconda3/envs/sent-analy/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    487             result = self._slow_forward(*input, **kwargs)
    488         else:
--> 489             result = self.forward(*input, **kwargs)
    490         for hook in self._forward_hooks.values():
    491             hook_result = hook(self, input, result)

<ipython-input-12-e2f879788e90> in forward(self, seq)
     13
     14     def forward(self,seq):
---> 15         embeddings = self.embedding(seq)
     16         hdn, _  = self.encoder(embeddings)
     17         feature = hdn[-1,:,:]

~/anaconda3/envs/sent-analy/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    487             result = self._slow_forward(*input, **kwargs)
    488         else:
--> 489             result = self.forward(*input, **kwargs)
    490         for hook in self._forward_hooks.values():
    491             hook_result = hook(self, input, result)

~/anaconda3/envs/sent-analy/lib/python3.6/site-packages/torch/nn/modules/sparse.py in forward(self, input)
    116         return F.embedding(
    117             input, self.weight, self.padding_idx, self.max_norm,
--> 118             self.norm_type, self.scale_grad_by_freq, self.sparse)
    119
    120     def extra_repr(self):

~/anaconda3/envs/sent-analy/lib/python3.6/site-packages/torch/nn/functional.py in embedding(input, weight, padding_idx, max_norm, norm_type, scale_grad_by_freq, sparse)
   1452         # remove once script supports set_grad_enabled
   1453         _no_grad_embedding_renorm_(weight, input, max_norm, norm_type)
-> 1454     return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
   1455
   1456

RuntimeError: Expected tensor for argument #1 'indices' to have scalar type Long; but got torch.FloatTensor instead (while checking arguments for embedding)

Is there any fix for this? I'm still getting this error.

One quick-fix is to change the dtype from FloatTensor to LongTensor, in the source file where the package is installed:
    if device == "cuda" and torch.cuda.is_available():
        # dtype = torch.cuda.FloatTensor
        dtype = torch.cuda.LongTensor
    else:
        # dtype = torch.FloatTensor
        dtype = torch.LongTensor

I was having the same issue and this quick fix worked for me

somehow I also encountered this same problem when reproducing other's work.
`class FeedForwardNN(nn.Module):
def init(self, emb_dims, no_of_cont, lin_layer_sizes,
output_size, emb_dropout, lin_layer_dropouts):
super().init()
    self.emb_layers = nn.ModuleList([nn.Embedding(x, y) for x, y in emb_dims])

    no_of_embs = sum([y for x,y in emb_dims])
    self.no_of_embs = no_of_embs
    self.no_of_cont = no_of_cont

    first_lin_layer = nn.Linear(self.no_of_embs + self.no_of_cont,
                                lin_layer_sizes[0])

    self.lin_layers = nn.ModuleList([first_lin_layer] +
                                    [nn.Linear(lin_layer_sizes[i], lin_layer_sizes[i + 1])
                                     for i in range(len(lin_layer_sizes) - 1)])

    for lin_layer in self.lin_layers:
        nn.init.kaiming_normal_(lin_layer.weight.data)

    self.output_layer = nn.Linear(lin_layer_sizes[-1], output_size)
    nn.init.kaiming_normal_(self.output_layer.weight.data)

    self.first_bn_layer = nn.BatchNorm1d(self.no_of_cont)
    self.bn_layers = nn.ModuleList([nn.BatchNorm1d(size) for size in lin_layer_sizes])

    self.emb_dropout_layer = nn.Dropout(emb_dropout)
    self.dropout_layers = nn.ModuleList([nn.Dropout(size)
                                         for size in lin_layer_dropouts])

def forward(self, cont_data, cat_data):
    if self.no_of_embs != 0:
        x = [emb_layer(cat_data[:, i])
             for i, emb_layer in enumerate(self.emb_layers)]
        x = torch.cat(x, 1)
        x = self.emb_dropout_layer(x)
        #print('emb_layer', x.size())

    if self.no_of_cont != 0:
        normalized_cont_data = self.first_bn_layer(cont_data)

        if self.no_of_embs != 0:
            x = torch.cat([x, normalized_cont_data], 1)
        else:
            x = normalized_cont_data
        #print('continous', x.size())

    for lin_layer, dropout_layer, bn_layer in zip(self.lin_layers, self.dropout_layers, self.bn_layers):

        x = F.relu(lin_layer(x))
        x = bn_layer(x)
        x = dropout_layer(x)
    #print('linear, dropout, bn', x.size())

    x = self.output_layer(x)
    #print('output', x.size())

    return x`

Hey @siddBanPsu, thanks for starting this thread - I was wondering if you've fixed your issue - if yes, do you mind sharing how you fix it? thanks a lot!

to solve this I used the torchsummaryX package that allows you to specify a sample input tensor:
!pip install torchsummaryX

Example:
from torchsummaryX import summary as summaryx

# sample input tensor
input_size = (1, 80, 108)
x_sample = torch.zeros(input_size, dtype=torch.long, device=torch.device('cuda'))

print(summaryx(model, x_sample))


Errors and missing text on DRep detail page for Missing Data

Context & versions
staging.govtool.byron.network
Steps to reproduce

Connect wallet
Go to DRep directory
Choose a Drep with "Data Missing"
View DRep detail page

Actual behavior
You see a page like this:

Expected behavior
Page should look like this:

What's wrong:
Supporting text below "Data Missing" is missing
There should be no link to 'external data'
See Figma page:
https://www.figma.com/design/mJTBiUofLfb74Xc3W2U59o/Voltaire---GOV-TOOL?m=auto&node-id=9004-94366&t=xZOX8GTBbyFP9x2h-1

Supporting text seems to be there, example drep

Verified on Sancho and Preview, closing.


Use npm ci instead of npm install during setup

Scope
This should avoid conflicts and problems like it work on my computer.

Codecov Report

Merging #52 (679b596) into main (ed307c9) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #52   +/-   ##
=======================================
  Coverage   45.02%   45.03%
=======================================
  Files         220      220
  Lines       40002    40002
=======================================
+ Hits        18012    18013    +1
+ Misses      20023    20022    -1
  Partials     1967     1967

Impacted Files
Coverage Δ

badgerTrie/smt_merkle_proof.go
60.15% <0.00%> (-0.79%)
:arrow_down:

transport/brontide/listener.go
44.61% <0.00%> (+0.61%)
:arrow_up:

Continue to review full report at Codecov.

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


[AVM Module Issue]: Random Provider is constraint to "~> 3.5.0"

Check for previous/existing GitHub issues

[x] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
v0.6.1
(Optional) Correlation Id
No response
Description
Conflict in Provider Versions Between AVM Modules
Hello AVM Module Team,
Issue Description
I am currently integrating multiple AVM modules into a larger solution, but I've encountered a version conflict with the hashicorp/random provider that affects deployment. Specifically, the conflict occurs between:

terraform-azurerm-avm-res-compute-virtualmachine which requires hashicorp/random version ~> 3.6.
terraform-azurerm-avm-ptn-vnetgateway which uses hashicorp/random version ~> 3.5.0.

Error Message
╷ │ Error: Failed to query available provider packages │ │ Could not retrieve the list of available versions for provider hashicorp/random: no available releases match the given constraints >= 3.5.0, ~> 3.5.0, ~> 3.5, ~> 3.6 ╵
Ask:
Could the version constraints for the hashicorp/random provider in the involved modules to be more flexible? This would help prevent conflicts when the latest versions of other modules are used.
This issue impacts our ability to deploy updates and integrate solutions efficiently using these modules.
Thank you for all the work you've put into this framework. Your efforts greatly enhance our operational capabilities.
Best regards,
Jeremy

Hello,
We have the same issue on this specific module as we are switching on AzureRM v4.
Thank you for your efforts to maintain thoses modules.
Regards,
Julien

Should be resolved now as part of the v0.6.2 release. Sorry for any inconvenience.


chore(main): release 2.6.1

:robot: I have created a release beep boop
2.6.1 (2024-09-09)
Bug Fixes

allow all combinations of describe, it and test to skip modifier (#746) (c53f3e3)
canary: show correct version (#750) (6e8a583)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wellwelwel/poku/releases/tag/v2.6.1 :sunflower:


CB-15359 Extend EDH sync report with database type

Sync report is extended with database type in EDH report:

new member in StackDetails: databaseType
new member in usage proto: CDPSyncDetails.databaseType
values: ON_ROOT_VOLUME, ON_ATTACHED_DISK, EXTERNAL_DB, UNKNOWN
was tested on gcp, azure, aws; with root volume, attached disk and external db

Looks great!


[PE-D][Tester E] addfield and editfield are unknown commands

Description
When testing out the addfield and editfield commands, the "Unknown command" error were raised. This is not a expected behavior for users as addfield and editfield is documented in the User Guide

Labels: type.FunctionalityBug severity.Medium
original: shenyih0ng/ped#7

This is a documentation bug.
This correct syntax should be

field add<t|g|u>/<index><type> <value>

<selected item> field add <type> <value>

field edit<t|g|u>/<index><type> <value>

<selected item> field edit <type> <value>

Duplicate of #107


Add support for stripping host from metics!

I'm working on migration to sensu-go, and I'm using the legacy sensu, the older influxdb handler supports stripping the hostname from the metric. I have included my configs and a sample query I'm using on the older sensu install. this older format allows systems to be added and removed from my dashboards without changing the query.
{
  "influxdb": {
    "host": "sensu_influxdb",
    "port": 8086,
    "database": "sensu",
    "username": "sensu",
    "password": "sensu",
    "strip_metric": "host"
  }
}

q:"SELECT "value" FROM "memory_percent.usedWOBuffersCaches" WHERE ("host" =~ /^node/) AND time >= now() - 6h GROUP BY "host""

Thanks

@DoctorOgg can you provide me with the link to the repo or documentation for the InfluxDB handler you are referring to? I can not validate the strip_metric argument in the supported Sensu Enterprise InfluxDB integration.

Not OP, but I have to same request :-)
In our old Sensu Core installation, we used Telegraf (from Influx) to pick up metrics in the Graphite format. Telegraf then sent it to a Sensu handler (UDP, listens on a socket, only_check_output mutator attached).
That stripped the hostnames of the metric it self, allowing you to create queries like this:
SELECT mean("all_cpus") FROM "ipmi" WHERE ("host" = 'my_hostname') AND $timeFilter GROUP BY time($__interval) fill(null)

The new influxdb-handler already sets a entity_name-tag, with the entity name in it. Having it also in the metric name is redundant:
SELECT mean("ipmi.all_cpus") FROM "my_hostname" WHERE ("sensu_entity_name" = 'my_hostname') AND $timeFilter GROUP BY time($__interval) fill(null)

This also means that you can't create graphs on spanning multiple hosts (here I'm thinking Grafana's variable for entity_name), since the hostname is also the name of the series (instead of just the metric)
Being able to strip the hostnames of the metrics, allows the "Sensu Core metrics" to be compatible with Sensu Go :-)

@magnuslarsen Thanks for sharing your support of this issue. It sounds like this feature would be useful to a good number of users, so I'll do my best to keep https://github.com/sensu/sensu-influxdb-handler/pull/39 moving along.

sorry, just flowing up, I thought it was the official influx handler that was doing this for sensu core. this was a blocker for me moving to sensu go, however, in the long run, i ended up dropping the dataset, and rebuilding all my queries to get moving... so I haven't been using sensu core for a while now.


How to use?

This looks interesting, but there aren't any instructions on how to use.

I'm going to clean up the repo and add some documentation today 👍

I'm going to clean up the repo and add some documentation today 👍

Sorry for the delay. I've added some basic documentation in a notebook. Far from perfect but better than nothing for now 🙈

Sorry for the delay. I've added some basic documentation in a notebook. Far from perfect but better than nothing for now 🙈


fix gtk quit panic #505

#505 is a druid issue,
related gtk issue
I've tested, I cannot reproduce the crash after this change and app is closing now.

Thanks!


sipcreator - tell it like it is

So this should be renamed, along with documentation. This isn't rally a pre-ingest process dealing with a SIP - the SIP already exists and we are creating an AIP here as ingest has already begun. According to OAIS and @nkrabben https://twitter.com/NKrabben/status/935988904360062977

'tell it like it is' is the name of one of my favourite songs!
https://www.youtube.com/watch?v=ZE-2x8tIgsE
i'm for this
there are circumstances where we are creating sips though, - like in the loopline tape ingests, where we are still using oe numbers.
we can differentiate different functions (in the broader sense of the term) for the command.

Great tune!
Yeah, I like the way CUNY avoid this and their similar-ish script is just called INGESTFILE. I think even for those loopline tape packages that still have the old OE numbers, I think they are partial AIPs and the ingest process is half way begun there cos we have some Representation Information and some PDI in there too. I think they were only ever SIPs when that original MOV or MKV existed prior to any scripts being run..

'There are only two hard things in Computer Science: cache invalidation and naming things.' -Phil Karlton
Not sure that there's a single great solution to what to call scripts, in the context of OAIS. It's terms and the practical use of those terms are too often at odds.
To go further down the road of OAIS pedantry, ingest is a functional entity in OAIS that includes receiving a SIP, QA, AIP Generation, Description Generation, and Coordinating Updates between Data Management and Storage functional entities. INGESTFILE seems to be doing portions of AIP Generation and Coordinating Updates.

Good points on all fronts, thanks for chiming in @nkrabben  - we'll never hit the nail fully on the head here. littleBitOfIngest.py is now the frontrunner.


HOTT-2984:  Sanitise stop press titles and content titles

Jira link
https://transformuk.atlassian.net/browse/HOTT-2984
What?
I have added/removed/altered:

[x] Sanitised stop press titles and content titles

Why?
I am doing this because:

We want to escape dangerous html and allow safe html

Have you? (optional)

The issue with how Github was displaying commits has been resolved by their team.


Initial BCSC UI Stack

Shared Enter PIN screens/flow
Keep login state
Switch the main stack

Spike here for whoever takes this ticket: https://github.com/wadeking98/bc-wallet-mobile/tree/spike-alt-rootstack


Are GeneProducts DataObjects?

There is a suggestion that GeneProduct should be a subclass of DataObject. I am just starting to familiarize myself with GeneProduct and it's linked classes like GenomeFeature and FunctionalAnnotation, but I am inclined to say that GeneProduct is_a DataObject doesn't make sense.
DataObjects have lots of file-like characteristics: file_size_bytes, url (a path to the DataObject's contents), md5_checksum, data_object_type (taking FileTypeEnum values).
What is the path to a GeneProduct? What is it's content?

@turbomam can you link to the proposal/discussion? The only firm context I have here is what’s at https://w3id.org/nmdc/GeneProduct:

A molecule encoded by a gene that has an evolved function

Just wanted to drop a line here that Alicia and I are trying to track this down.
First point is the mapping of best_protein to GeneProduct is of course inappropriate and needs to be changed. Alicia and I are trying to make sure we know what the best thing actually is, but it would be something like the Name slot for the MetagenomeAnnotationActivity that denotes the translated amino acids from a gene/CDS. An example would be something LIKE nmdc_wfmgas-11_scf_745_c1_362_1546 (NOT LOOK FOR THAT, it's only an example based on gleanings from other work being done in the napacompliance threads). So, whatever that string is being called in the annotation activities, that is what best_protein should map to. Work in progress.
Second point is we are going to be refactoring a lot of this for Monterrey, including (hopefully) getting rid of PeptideQuantification and ProteinQuantification entirely, which can eliminate some of the profusion of this mistaken matching between best_protein and GeneProduct. More soon-ish.

Thanks @SamuelPurvine . I created some new tools for visualizing complex relationships like "everything related to GeneProduct, extended as far as desired in any direction"
Would you be interested in looking at that?

Ooh, that sounds fun! It might be a time investment on your part to get me up to speed with said tool, so we should schedule some time to wrestle with it, mayhap this thursday or friday (Dec 7 or 8) after noon? Or when we gather next week, either or. Altho I'm probably more interested in making certain we get best_protein associated with the right thing, I cannot imagine there will not be other cases where we need to track down erroneous/problemmatic data entity interrelationships and it would be good to have someone up here who has that ability. Many thanks for the offer!

From what I've looked w/Sam GeneProduct is populated as part of PeptideQuantification and ProteinQuantification so @turbomam  I'd be interested in anywhere in the schema where GeneProduct is the range for a slot from a class other than these two.
An example of what these values look like in mongo is
nmdc:wfmgas-11-vqgq2090.1_scf_1_c1_84_974
This is the header of an amino acid sequence. A file that contains this type of record will part of data_object_set (ie id nmdc:dobj-11-6k48ch31) and will be of data_object_type:'Annotation Amino Acid FASTA' that is an output of the MetagenomeAnnotationActivity
example record
>nmdc:wfmgas-11-vqgq2090.1_scf_1_c1_84_974 # Prodigal v2.6.3_patched # 84 # 974 # - # tt=11
MNRRLSFGAGDPFGERMRVVELEGAFPPGIVPADFVSAPPPSASPVQIIEPSNGWWNQAGAFGYRYQGPV
PDLAGTIIPLTEQIRLPGPPRLWWINWFRFSRDLATEVTNYGTWDLRGRVTYGVGGATNTVEVDVAAGIQ
MAVVANSLRVDLVTFAPEVDGLGRDVYDPGDVGVIAGAMFGDGAAGGVLPPSWSTQTFTAINIAGAGVLV
LDFPIPDFARKVVLHTTETDPAVLANSRLFFNNPGITIKALNLQQVYSQLTGEGVPIPSGTNQVRLQTAA
PVAPGTQFSLQFLLAL

JGI calls the files that contain these records *_proteins.faa


prometheus-zfs-exporter: Add version label to _build_info

Adds ldflags so the version label is added to the _build_info metric.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

There's nothing wrong with this, but I'd argue that we should instead fix buildGoModule to automatically inject this as every go-thing we build needs this.

There's a 1861 instances of buildGoModule in nixpkgs and of those only 70 in the prometheus/ directory.
Much easier to just do it on a per-package basis: https://sources.debian.org/src/prometheus-node-exporter/1.7.0-1/debian/rules/#L17-L23

This isn't about prometheus - we very often end up having to pass the same arguments to other go applications or we simply don't and the application doesn't show its version. We have the infrastructure to allow us to handle this properly.

This isn't about prometheus

Due to the prefix github.com/prometheus/common/version it is in this case.

but I'd argue that we should instead fix buildGoModule to automatically

I'd suggest to open an issue dedicated to that.
In the meantime I think this patch is OK to merge.


feat: port Data.Nat.ModEq

I'm not quite sure I understand why it is failing? I rebased on master and it is building locally for me.

bors r+


Full SNMP integration without having to setup a webhook

What kind of request is this (question/bug/enhancement/feature request):
feature request
Feature being requested:
What we´d like to see is an SNMP option here:

Here we'd just input our SNMP trap host and avoid the need to create the Prometheus webhook which creates more work filtering and cleaning up on our end.
SNMP is a standard for some companies' infrastructure monitoring, so though this may require the deployment of a MIB, it makes sense to add it as a notifier option.
gz#10958

The alerts recieved using the SUSE webhook (https://github.com/SUSE/prometheus-webhook-snmp) have the following format:
{\"alert_name\": \"A high number of leader changes within the etcd cluster are happening\", \"alert_type\": \"metric\", \"cluster_name\": \"prod01 (ID: c-tttll)\", \"comparison\": \"greater than\", \"duration\": \"3m\", \"endpoint\": \"metrics\", \"expression\": \"increase(etcd_server_leader_changes_seen_total[1h])>3\", \"group_id\": \"c-tttll:etcd-alert\", \"namespace\": \"cattle-prometheus\", \"node\": \"nbnslxrrama03\", \"prometheus\": \"cattle-prometheus/cluster-monitoring\", \"prometheus_from\": \"prod01\", \"rule_id\": \"c-tttll:etcd-alert_high-number-of-leader-changes\", \"service\": \"expose-kube-etcd-metrics\", \"threshold_value\": \"3\"} --- 174:15:31:06.32 --- {\"status\": \"firing\", \"labels\": {\"alert_name\": \"A high number of leader changes within the etcd cluster are happening\", \"alert_type\": \"metric\", \"cluster_name\": \"prod01 (ID: c-tttll)\", \"comparison\": \"great
It looks like it's splitting each element into strings in a list and sending this on.  If we can clean this up to an easy deploy and something legible on the receiving end, it would be a useable solution for the need for SNMP traps


Merge pull request #57 from Denys-Lytvynenko/master

merge changes form master to gallery route

Wrong pull request.


Adds no track annotation to example node-local-dns yaml

Support for no-track-port was added in PR #13805
Signed-off-by: Weilong Cui<EMAIL_ADDRESS>

Do we have CI tests consuming this file?

Do we have CI tests consuming this file?

I don't think we do, I'll send another PR to add a test for node-local-dns.


Multiple fixes

Fix the use case of calling with an explicit snapshot specification, i.e. not using snapshot auto-discovery from an existing RDS instance.

Code cleanup:

Remove a couple of unused exports
The dbms parameter to RdsSnapshotFinder wasn't being used - remove it

a1f328e, 63627d1 and 98a7301 look good. I'll have a deeper look at 63627d1 in a bit.


Upgrade to op-node 1.9.1

Upgrades op-node dependency to 1.9.1. This is required for mainnet activation of the Granite hard fork on September 10th. Also includes the corresponding op-geth release, and bumps reth to latest.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Pull a list of tools available in Canvas and configure from this rather than configuring manually.

So here is the list of Canvas External Tools
Does it meet the need of this issue? @jonespm

No, the idea of this was to pull from the Canvas API (or similar source) like /api/v1/accounts/1/external_tools and populate some details in the local database. Like the tool name, Canvas ID, description, placements, icons etc.
This could be done for just the root account initially but might be useful for sub accounts.
Currently everything has to be manually populated. This was created really early before any Canvas integration was available.
I'm thinking this would either be done when an admin clicks a button to refresh the tools available. They would have to still go in and "enable" them but it could save some effort.


[Fixes #326] Changed the logo, title and Favicon from OpenSDS to SODA.

Since the project has been migrated to SODA Foundation the logo of the dashboard needs to be changed. This PR changes the logo in the following places:

Login Page
Menu Footer

The PR also updates the favicon and the title.
Login Page

Home Page

Favicon and Title

Fixes #326


Add biik

Hello. Please add my institute "Buryat Institute of Info-communications of the Siberian State University of Telecommunications and Informatics"
Website: https://biik.ru
My study email<EMAIL_ADDRESS>

@lgnf lib/domains/ru/biik: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@lgnf Unfortunately, your request cannot be processed further because JetBrains doesn’t provide products or services to territories subject to applicable EU, UN, or US sanctions or under comprehensive export control restrictions due to legal, compliance, and other commercial risks.
I have to close the request. I appreciate your understanding.


How to start the miner

This might be the dumbest thing you have ever heard but how do i start equiminer on linux?? I already fillowed the instructions in the readme but how do i start? I am fairly new to these things.

  I am in the same position with Windows, since I have never done this before and only have used miners that come with built installers.  I decided to try to play around with this for fun, but did not get very far.


Update .NET SDK

Update to the latest .NET 5.0 SDK.

For some reason 5.0.202 isn't finding the NuGet packages without a NuGet.config file being present on Windows.
Happened to https://github.com/justeat/JustEat.StatsD/pull/328 too.


Removing constructor compilation warnings

Truffle throws compilation warnings when constructors with no parameters are called on child contracts. It seems that this calls are unnecessary. All tests pass.
Ref: https://github.com/0xcert/ethereum-erc721/issues/37

LGTM


'RestKit/Support/lcl_RK.h' file not found

RKHTTPRequestOperation.m and RKLog.m #import <RestKit/Support/lcl_RK.h>.
I'm trying to install RestKit (latest version of the development branch) as a framework with the latest CocoaPods master.
What happens is that CocoaPods doesn't install lcl_RK.h to $(PUBLIC_HEADERS_FOLDER_PATH)/Support like the rest of the Support folder headers.
Instead it is installed to $(PROJECT_HEADERS_FOLDER_PATH)/../Vendor/LibComponentLogging/Core.

This makes it end up in a place where it most definitely should not be:

lcl_RK.h is placed in Vendor/LibComponentLogging rather than in Code/Support. Instead, Code/Support contains a symlink to the file in the vendor sub-directory.
CocoaPods is instructed to preserve the original path in the Support subspec, which leads to the above mentioned behavior:
ss.preserve_paths = 'Vendor/LibComponentLogging/Core' # Preserved because they are symlinked

I'm not really sure whether RestKit, CocoaPods or both are to blame for this.

Is the preserve_paths here really needed?
Which directory should CocoaPods really copy the header to?
I can tell that $(PROJECT_HEADERS_FOLDER_PATH)/../Vendor/LibComponentLogging/Core is not what we'd want happening. But what would be the expected option?

$(PUBLIC_HEADERS_FOLDER_PATH)/Vendor/LibCompponentLogging/Core?
$(PUBLIC_HEADERS_FOLDER_PATH)/Core?

Should CocoaPods copy the Header twice (potentially even preserving the symlink)?
Not sure if duplicate imports would cause issues when importing the symlink and the original in the same file. (Thinking about umbrella headers and importing the whole module)

Manual workaround for anyone else encountering this issue:
Add lcl_RK.h to the Copy Support Public Headers build phase of RestKit.

This can be fixed by moving the stuff in vendor into support and getting rid of the symlinks.

Alright.. That's actually what I was already doing on my fork.
Just wasn't sure if this is the right way to solve this issue.

I am getting this error, using 0.25.0 of RestKit with cocoa pods use_frameworks!.
I see lcl_RK.h is already in the Copy Support Public Headers build phase, so @timbodeit suggested manual workaround does not help me.
..Pods/RestKit/Code/Support/lcl_RK.m:26:9: fatal error: 'RestKit/Support/lcl_RK.h' file not found
#import <RestKit/Support/lcl_RK.h>
        ^
1 error generated.

i am getting this error using Restkit development branch from cocoapods. lcl_RK.h is already in the copy support public headers phase.

@paulz @hariseldon78 I get the same error. Do you happen to know a workaround?

@gunnarblom My workaround: replace all restkit api calls, written in objective c, with alamofire and objectMapper in swift.
One week work, 192 copy-paste files deleted from my project, goodbye restkit! Now i'm a happier man.

I'm looking into it as well on the development branch. What I see is that #import <RestKit/lcl_RK.h> works.
Can anyone explain to me why? I'm a noob with pod specs and less default build phases.

Refer to issue 2356


Change in Currency

Firstly, Thank you for this amazing package!!!
Hello, I wanted to know how if there was an easy way to change the currency to ZAR and whether it will get rid of the onscreen error in the image below

I figured it out thanks 😃

@TMoreMaker dude you should always mention how you did it.

To change currency , Just use
  Charge charge = Charge()
  ..amount = (1 * 100).toInt()
  ..currency = "USD" //HERE YOU CAN PUT CURRENCY as STRING
  ..email = emailCnt.text
  ..reference = _getReference()
  ..putCustomField('UserId', userID)
  ..putCustomField('Charged From', 'test')
  ..card = _getCardFromUI();


DNM use smali from https://github.com/JesusFreke/smali/pull/816, fixes "Failure to verify dex file 'classes.dex': Non-zero padding before section of..."

ran into this issue https://github.com/JesusFreke/smali/issues/815
which is fixed in this yet unmerged PR https://github.com/JesusFreke/smali/pull/816/files
this PR is my shoddy attempt at bringing in the fix to ApkTool
I have never really used gradle before so while this successfully builds, and fixes the issue, but I'm sure I'm breaking some gradle rules all over the place and the formatting is messy in places.
My goal with this is mainly to make it available to others facing the same issue.
If the maintainers would like to see this merged for one reason or another, I am happy to clean it up a bit.
Had to force disable javadoc building, as those failed for some reason I could not figure out.
How to use this PR
important: gradle 4.10 or later required for the git repo dependency used here
git clone git@github.com:SolidHal/Apktool.git
cd ApkTool
checkout smali-patch
./gradlew shadowJar
sudo cp ./brut.apktool/apktool-cli/build/libs/apktool-cli-all.jar /usr/local/bin/apktool.jar

Thanks for taking the effort to patch this, but I don't want to change our build script to upstream a non-official smali to fix 1 smali bug.
Our best effort is to keep the original issue open on smali repo with an associated PR to fix.

understandable, really only did this because the PR on smali upstream has sat without maintainer review since may. This was my quick n dirty workaround.


enable Istanbul fork on Ropsten chain

What was wrong?
It has been decided that the istanbul fork will happen at block number 6485846.
Here's a screenshot of the message picked from AllCoreDevs gitter channel:

How was it fixed?
Updated the RopstenChain to include the Istanbul fork.
Note for code owners: You can wait to merge till there is more consensus on the block number. But until now there haven't been any objections from anyone.
To-Do

[x] Clean up commit history

[x] Add entry to the release notes

Cute Animal Picture

Oh, also can you update the eth.tools.builder tools to have the appropriate instanbul tools?

@pipermerriam I will make the changes that you've requested. But I don't think that they should be part of this PR. I have decided to update upstream tests for Istanbul. I will figure out the changes needed along the way.


Remove space on top of the Flyouts

How to remove the space on the top of the flyouts ?
I hide the close button and the title but it's not enough
Thxs
Environment

MahApps.Metro 1.2.4
Windows 10
Visual Studio 2015
.NET Framework 4.5.2

@jeromeMartinet What do you really mean with space? do you mean the title bar height?

@jeromeMartinet ???


Change project name

Change project name to "snippet"
Project ID still set to "step1-2020" because I don't think I have permissions to change the cloud console project name that we deploy to?

lgtm!

Yeah, I don't think you can change the deploy ID, so I chose step1-2020 instead of YOUR_PROJECT_ID_HERE :)


NO Issue, just FYI: Did you know of recent mention of Kirki on wptavern.com?

See: http://wptavern.com/the-wordpress-plugin-directory-will-no-longer-accept-frameworks
Just wanted to let you know..

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/31804487-no-issue-just-fyi-did-you-know-of-recent-mention-of-kirki-on-wptavern-com?utm_campaign=plugin&utm_content=tracker%2F2030945&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2030945&utm_medium=issues&utm_source=github).

Yup, I've seen it...
The future is still unclear.
We'll see what happens in a few months I guess...


device(CL29K1A06374): scale image failed: Error: VipsImage: memory area too small --- should be 15552 bytes, you passed 1980

This error appears in the syslog when an XL is connected, and then results in a connect/disconnect loop.
Apr 18 16:49:28 deckconnect11 node[2243]: Connecting to <IP_ADDRESS>:16622
Apr 18 16:49:29 deckconnect11 node[2243]: Connected
Apr 18 16:49:29 deckconnect11 node[2243]: connected
Apr 18 16:49:29 deckconnect11 node[2243]: registerAll [ 'CL29K1A06374' ]
Apr 18 16:49:29 deckconnect11 node[2243]: Connected to Companion: CompanionVersion=2.2.0+4003-493404d6 ApiVersion=1.1.0
Apr 18 16:49:29 deckconnect11 node[2243]: ping timeout
Apr 18 16:49:29 deckconnect11 node[2243]: Connection closed
Apr 18 16:49:29 deckconnect11 node[2243]: disconnected
Apr 18 16:49:30 deckconnect11 node[2243]: Trying reconnect
Apr 18 16:49:30 deckconnect11 node[2243]: Connecting to <IP_ADDRESS>:16622
Apr 18 16:49:30 deckconnect11 node[2243]: Connected
Apr 18 16:49:30 deckconnect11 node[2243]: connected
Apr 18 16:49:30 deckconnect11 node[2243]: registerAll [ 'CL29K1A06374' ]
Apr 18 16:49:31 deckconnect11 node[2243]: device(CL29K1A06374): scale image failed: Error: VipsImage: memory area too small --- should be 15552 bytes, you passed 9934
Apr 18 16:49:31 deckconnect11 node[2243]: ping timeout
Apr 18 16:49:31 deckconnect11 node[2243]: Connection closed
Apr 18 16:49:31 deckconnect11 node[2243]: disconnected
Apr 18 16:49:32 deckconnect11 node[2243]: Trying reconnect
Apr 18 16:49:32 deckconnect11 node[2243]: Connecting to <IP_ADDRESS>:16622
Apr 18 16:49:32 deckconnect11 node[2243]: Connected
Apr 18 16:49:32 deckconnect11 node[2243]: connected
Apr 18 16:49:32 deckconnect11 node[2243]: registerAll [ 'CL29K1A06374' ]
Apr 18 16:49:33 deckconnect11 node[2243]: device(CL29K1A06374): scale image failed: Error: VipsImage: memory area too small --- should be 15552 bytes, you passed 1980
Apr 18 16:49:33 deckconnect11 node[2243]: ping timeout
Apr 18 16:49:33 deckconnect11 node[2243]: Connection closed
Apr 18 16:49:33 deckconnect11 node[2243]: disconnected
Apr 18 16:49:34 deckconnect11 node[2243]: Trying reconnect
Apr 18 16:49:34 deckconnect11 node[2243]: Connecting to <IP_ADDRESS>:16622
Apr 18 16:49:34 deckconnect11 node[2243]: Connected
Apr 18 16:49:34 deckconnect11 node[2243]: connected
Apr 18 16:49:34 deckconnect11 node[2243]: registerAll [ 'CL29K1A06374' ]
Apr 18 16:49:34 deckconnect11 node[2243]: device(CL29K1A06374): scale image failed: Error: VipsImage: memory area too small --- should be 15552 bytes, you passed 13175

What is the ping time like between the two machines?
I have tried to replicate this, but have only been able to do so on slow networks.
In doing so I found that when connection was lost and restored, the recieveBuffer wasn't being cleared and so the first 'command' it got would be mangled. This looks to be what you are seeing here, as there should be a line like BEGIN CompanionVersion=2.2.0+4093-beta-adf072f9 ApiVersion=1.2.0 after the registerAll line. the scale error being there matches the bug I was seeing.
I also found that on this slow network, it would constantly 'timeout' as the pings got stuck behind other packets. So I have added a check to ignore ping timeouts if another packet has been received recently. Before this I would get up to 5 buttons drawn before the connection would get dropped. It now works fine, even if it is rather slow

Just did a git pull on both Satellite and Companion.  On the machine with the XL I am still getting a failure.  Different, but still fail.
Apr 20 15:32:15 deckconnect11 systemd[1]: Started companionsatellite.service.
Apr 20 15:32:19 deckconnect11 node[1721]: Starting
Apr 20 15:32:19 deckconnect11 node[1721]: adding new device: /dev/hidraw0
Apr 20 15:32:19 deckconnect11 node[1721]: existing = []
Apr 20 15:32:19 deckconnect11 node[1721]: Open "/dev/hidraw0" failed: TypeError: cannot open device with path /dev/hidraw0
Apr 20 15:32:19 deckconnect11 node[1721]: Connecting to <IP_ADDRESS>:16622
Apr 20 15:32:19 deckconnect11 node[1721]: Connected
Apr 20 15:32:19 deckconnect11 node[1721]: connected
Apr 20 15:32:19 deckconnect11 node[1721]: registerAll []
Apr 20 15:32:19 deckconnect11 node[1721]: adding new device: /dev/hidraw0
Apr 20 15:32:19 deckconnect11 node[1721]: existing = []
Apr 20 15:32:19 deckconnect11 node[1721]: Open "/dev/hidraw0" failed: TypeError: cannot open device with path /dev/hidraw0
Apr 20 15:32:19 deckconnect11 node[1721]: Connected to Companion: CompanionVersion=2.2.0+4003-493404d6 ApiVersion=1.1.0
Apr 20 15:32:41 deckconnect11 node[1721]: ping timeout
Apr 20 15:32:41 deckconnect11 node[1721]: Connection closed
Apr 20 15:32:41 deckconnect11 node[1721]: disconnected
Apr 20 15:32:42 deckconnect11 node[1721]: Trying reconnect
Apr 20 15:32:42 deckconnect11 node[1721]: Connecting to <IP_ADDRESS>:16622
Apr 20 15:32:43 deckconnect11 node[1721]: Connected
Apr 20 15:32:43 deckconnect11 node[1721]: connected
Apr 20 15:32:43 deckconnect11 node[1721]: registerAll []
Apr 20 15:32:43 deckconnect11 node[1721]: adding new device: /dev/hidraw0
Apr 20 15:32:43 deckconnect11 node[1721]: existing = []
Apr 20 15:32:43 deckconnect11 node[1721]: Open "/dev/hidraw0" failed: TypeError: cannot open device with path /dev/hidraw0
Apr 20 15:32:43 deckconnect11 node[1721]: Connected to Companion: CompanionVersion=2.2.0+4003-493404d6 ApiVersion=1.1.0
Apr 20 15:33:11 deckconnect11 wpa_supplicant[689]: wlan0: WPA: Group rekeying completed with de:21:f9:65:2b:e2 [GTK=CCMP]
Apr 20 15:33:14 deckconnect11 node[1721]: ping timeout
Apr 20 15:33:14 deckconnect11 node[1721]: Connection closed
Apr 20 15:33:14 deckconnect11 node[1721]: disconnected
Apr 20 15:33:15 deckconnect11 node[1721]: Trying reconnect
Apr 20 15:33:15 deckconnect11 node[1721]: Connecting to <IP_ADDRESS>:16622
Apr 20 15:33:16 deckconnect11 node[1721]: Connected
Apr 20 15:33:16 deckconnect11 node[1721]: connected
Apr 20 15:33:16 deckconnect11 node[1721]: registerAll []
Apr 20 15:33:16 deckconnect11 node[1721]: adding new device: /dev/hidraw0
Apr 20 15:33:16 deckconnect11 node[1721]: existing = []
Apr 20 15:33:16 deckconnect11 node[1721]: Open "/dev/hidraw0" failed: TypeError: cannot open device with path /dev/hidraw0
Apr 20 15:33:16 deckconnect11 node[1721]: Connected to Companion: CompanionVersion=2.2.0+4003-493404d6 ApiVersion=1.1.0
Apr 20 15:35:01 deckconnect11 CRON[1736]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Apr 20 15:35:24 deckconnect11 node[1721]: ping timeout
Apr 20 15:35:24 deckconnect11 node[1721]: Connection closed
Apr 20 15:35:24 deckconnect11 node[1721]: disconnected
Apr 20 15:35:25 deckconnect11 node[1721]: Trying reconnect
Apr 20 15:35:25 deckconnect11 node[1721]: Connecting to <IP_ADDRESS>:16622
Apr 20 15:35:25 deckconnect11 node[1721]: Connected
Apr 20 15:35:25 deckconnect11 node[1721]: connected
Apr 20 15:35:25 deckconnect11 node[1721]: registerAll []
Apr 20 15:35:25 deckconnect11 node[1721]: adding new device: /dev/hidraw0
Apr 20 15:35:25 deckconnect11 node[1721]: existing = []
Apr 20 15:35:25 deckconnect11 node[1721]: Open "/dev/hidraw0" failed: TypeError: cannot open device with path /dev/hidraw0
Apr 20 15:35:25 deckconnect11 node[1721]: Connected to Companion: CompanionVersion=2.2.0+4003-493404d6 ApiVersion=1.1.0

Using the latest UDEV rules seemed to fix the latest problem.
 https://github.com/bitfocus/companion-satellite/blob/master/pi-image/50-satellite.rules


Forgot to put auth middleware on upload router

CORS overlord is angry at me now

Wasn't the issue sadly :(


Better Error Handling During Message Generation

Right now a lot of message generation code panics! or expects! with mediocre messages.
Would like this improved.

This became redundant with #126


Doubt: Authorization constraints in resolvers or shield permissions

Question about GraphQL concepts

Is it right to assume that I only need to care about auth and permissions on scalar fields only? By this, I mean:

type Customer {
  id: ID!
  name: String!
  sensitiveData: UserSensitiveData!
  ...
}
type Customer SensitiveData {
  id: ID!
  customer : Customer !
  data1: String!  # authorization verification from DB here in resolvers
  data2: ... # authorization verification from DB here in resolvers
}
Rules:
export const permissions = shield({
  Customer : allow,
  CustomerSensitiveData: isUserCustomer
})

EDIT: I now have a feeling/understanding that this could leak fields like id in related type for an authenticated, but unauthorized access. For instance, id in Product is public, so purchasedProducts in type Customer, if not verified for authorization, could leak that id (and other product identifier) to an authenticated customer access trying to access other customer's resources. So, authorization should be on the edges, not on the nodes.

How do I ensure that an authorized user is deleting say, wishlisht of its own? (Right now, I am using $exists from prisma client in resolvers to check if the user has that item, then only allow deletion). Should this constraint be somehow placed in the shield rule?

Question about GraphQL Shield

What are fragments in shield? Are they the one to use when I have to constraint some fields of a type to be public, and some to be authorized (but these could be achieved with field level rule defs, couldnt they?)

[x] I have checked other questions and found none that matches mine.

Hey 👋,
I am not sure I understand your question entirely. In particular, what are you referring to with AuthZ? Maybe the example below could give you some ideas on how to tackle the issue.
type Query {
  viewer: User
}

type User {
    id: ID!
    email: String!
    tickets: [Ticket!]!
}

type Ticket {
  id: ID!
  event: PublicEvent!
  owner: User!
  isValidated: Boolean!
  isExpired: Boolean!
}

const isUserTicketOwner = rule({
  cache: 'strict',
  fragment: 'fragment TicketId on Ticket { id } ',
})(async ({ id }, args, ctx: Context) => {
  try {
    const userId = getUserId(ctx)

    return ctx.prisma.exists.Ticket({
      id: id,
      owner: { id: userId },
    })
  } catch (err) {
    return false
  }
})

export const permissions = shield(
  {
    Query: {
      viewer: allow,
    },
    User: isUserAuthenticated,
    Ticket: or(isUserAdministrator, isUserModerator, isUserTicketOwner),
  },
  {
    debug: process.env.NODE_ENV !== 'production',
    fallbackError: 'To pa ne gre...',
    fallbackRule: deny,
  },
)

That's how I would approach writing permissions. As you can see, User only checks whether user is indeed authenticated, while Ticket also verifies that current user owns it.
I hope this helps you solve your problem 🙂

@maticzav Sorry for playing cool :( By authZ, I meant "authorization". Have updated my post, sorry!
Also, I had taken ideas from your code repo and have done similar thing, except that against point 2, I have a generic function that takes as argument what to check for ownership in the DB (since, a user could have multiple relations, like tickets: [Ticket!] from your example).
So, basically I was asking then if such a single could do, or should I instead write individual ones e.g. isUserTicketOwner, isUserPostOwner, isUserAddressOwner, isUserPresidentOfUSA, etc.
Please feel free to point me to any more of my stupidity in this approach. Thanks a lot, you have been always very helpful :)

@devautor no worries, I could have guessed that! 🙈 What you could do is set up an interface type and somehow validate the ownership that way, however, I am not entirely sure how would that work.

@maticzav Doing something similar without type validation in this step, like I added that with a function.


Auto id after deleting a document

It seems that if you delete a document, the next auto id is the id of the deleted document. This can lead to issues if there's a place you forget to delete a linked document based on id.

Hi @emrys90, sorry for delay. This happends because I didn't store last ID used. So, the easy wasy is get from _id index last ID and +1. But, you can implement you own AutoId function (storing last used ID) or (more recommended) is use ObjectId


$logic_and to wire special case

module logic_and_to_wire (input a, output y);
    assign y = (a && 1'b1);
endmodule

Looks like there is special case handling for this in opt_expr.cc:
if (cell->type.in("$and", "$logic_and") && GetSize(cell->getPort("\\A")) == 1 && GetSize(cell->getPort("\\B")) == 1)
	detect_const_and = true;

Should opt -full convert this to wire?

I've now added an optimization for this in commit a5bfeb9.

Looks like there is special case handling for this in opt_expr.cc

That code was only handling (a && 1'b0) and (a || 1'b1). I've now added support for the cases where and AND/OR turns into a buffer instead of a constant.


Wavedrom encodings are inconsistently formatted

I am failing to understand the logic behind the formatting of instruction encodings in wavedrom.
For one, it is quite inconsistent between extensions (e.g. compare C to Zc).
But even within extensions, or even a single instruction, I do not understand how the type is assigned (that translates to the background color). See e.g.:

Two parts of one immediate have different colors. One operand red, one operand green.
Having clarity on how to format the instructions will greatly help authors of extensions to do it right from the start.

@wmat : thanks, i updated the colors in https://github.com/riscv/riscv-zilsd/pull/18.
From that, I can for sure say that the types in C need to be revisited.

Given that the "old" ISA manuals did not use color coding, should we drop all color coding in the new manuals?  Or should we have Bill identify one standard color coding that we will gradually convert to?

IMO: The colors are a bit distracting and don't add much. The look and feel of the "old" manual was better.

The addition of colored backgrounds to the wavedrom diagrams predated my
joining the project.  I always assumed it was done for a reason but perhaps
not.  Removing the colorization (type attributes) from the wavedrom would
certainly make writing wavedrom that much easier.
On Tue, May 28, 2024 at 12:47 PM Ved Shanbhogue @.***>
wrote:

IMO: The colors are a bit distracting and don't add much. The look and
feel of the "old" manual was better.
—
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-isa-manual/issues/1430#issuecomment-2135703559,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAN6ZBOAMPC5TZUJWQCDFTZESYIXAVCNFSM6AAAAABIMOFROOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZVG4YDGNJVHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Let's see if @aswaterman concurs with dropping all color coding.

personally, I like the colors, if used meaningfully and consistently.
Especially in less regular encodings like C/Zc, helps to get an overview.

I think the two valid resolutions are to drop the colors or to use the colors consistently.  Given the latter option is much more work, and isn't exactly of high priority, I'd be fine with dropping them.  We can always reverse course in the future if we have the bandwidth.

I assume the colors are simply decoration, correct?
Bill Traynor
Documentation Build and Release Engineer
RISC-V International
Join us in Munich, Germany at RISC-V Summit Europe
https://riscv-europe.org/summit/2024/ from 24-28 June. Be a part of the
new wave of European computing innovation!
On Tue, May 28, 2024 at 5:07 PM Andrew Waterman @.***>
wrote:

I think the two valid resolutions are to drop the colors or to use the
colors consistently. Given the latter option is much more work, and isn't
exactly of high priority, I'd be fine with dropping them. We can always
reverse course in the future if we have the bandwidth.
—
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-isa-manual/issues/1430#issuecomment-2136104664,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAN6ZCQSPPU5I5TVLZEINDZETWZVAVCNFSM6AAAAABIMOFROOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZWGEYDINRWGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Right, they’re just there to improve the visual appearance and help readers see the boundaries between fields. There’s no semantic content.