Cache Typst packages (2)

@yusancky this is a version that i got working
changes from https://github.com/typst-community/setup-typst/pull/16 are:

using https://bun.sh instead of vite. you're absolutely right that vite didn't seem to work. there were some spurious "require()"s where they should have been converted to imports. bun seems to handle things better. 🤷♀

mirrored the https://github.com/actions/setup-node/blob/d86ebcd40b3cb50b156bfa44dd277faf38282d12/src/cache-restore.ts#L15 for restoring the cache (but simpler) and https://github.com/actions/setup-node/blob/d86ebcd40b3cb50b156bfa44dd277faf38282d12/src/cache-save.ts#L34 for saving the cache in post (but simpler)

switched to bun as package manager and primary dev tool (instead of node/npm) and bundler (instead of vite)

using example from https://github.com/typst/packages/tree/main/packages/preview/droplet/0.2.0 as test.typ

bun doesn't work on windows so the compilation step to create the bundle cannot happen on a windows runner. the regular using: node20 actual runtime can work on windows. its just theres currently no test-action.yml for windows-latest. it's easiest just to wait until https://github.com/oven-sh/bun/issues/43

using cache: true instead of packages-id. dependant on the hashFiles() of the **/*.typ files in the current workspace so that theres a new cache every time the dependencies needed by the workspace change (since #import could be in any .typ file, not just a common lockfile like typst.lock or something).

[x] TODO: allow users to specify a cache-dependency-path input just like https://github.com/actions/setup-node does so that users can override the overly cautious **/*.typ glob  with their own custom files/globs.

[x] TODO: change the readme to reflect ☝  all those changes

this pr is currently targeting @yusancky 's original pr https://github.com/typst-community/setup-typst/pull/16 and when merged will merge into that branch

hashFiles() of the **/*.typ files in the current workspace so that theres a new cache every time the dependencies needed by the workspace change

This might not make sense because whenever your typst file changes, it will invalidate all cache.

In typst when you use a package, you always need specify the full version string and the package registry ensures versions are "append-only". So this is quite different from nodejs ecosys. I think typst's local package cache is: a) safe to clear, b) never invalidate. I haven't clear my package cache on my personal computer yet and Idk when I need do this.

you're right. it is "append-only" where future changes don't impact the previous stuff. i think that could go in the RUNNER_TOOL_CACHE then instead of actions/cache? ill try it.


Estute/codejail ci

These are the necessary changes to get tests running on Jenkins, using workers built with this branch: https://github.com/edx/configuration/pull/5291
NOTES:

Added a Jenkinsfile to run CI tests. For now, it only runs the make test_no_proxy target for python2.7, but we can expand the parallel block to include the other make target and additional Python environments.
Added a tox file for testing other Python environments
Needed to set the CODEJAIL_TEST* environment variables so that tests can see the sandboxed environment without changing how the code normally runs.
Added the libraries needed in tests into a requirements file.

Additionally, I needed to fix some tests. Normally, I would let that be enough, but since this is somewhat more sensitive than a normal repo, I figured I would give some explanations:

TestLimits.test_cant_use_too_much_memory was failing with the following error:

sudo: error in /etc/sudo.conf, line 0 while loading plugin `sudoers_policy'
sudo: unable to load /usr/lib/sudo/sudoers.so: /usr/lib/sudo/sudoers.so: failed to map segment from shared object
sudo: fatal error, unable to load plugins

This was because we were limiting the jailed code to 30000000, but running Python via sudo hits a peak memory usage exceeding that for a second, prior to even executing the code meant to exercise the limit. I bumped the limit and code to exercise it as well.

TestLimits.test_cant_use_too_much_cpu attempts to use more CPU time than it is allowed to, and is receiving a SIGXCPU, which should return a 24 but is getting a -24. I don't understand why.
TestLimits.test_cant_fork was not actually blocking forking, so the test was failing.  I will clean that up in a separate PR


Allow short and partial issue/PR URIs

i.e. assign & mark should accept foo/bar#1

Would be done via https://github.com/coala/corobo/issues/167

No, this isnt about file issue ; this is assign and unmark, and foo/bar#1 is precise.  #167 is about guessing the correct repo, and that is what the patch being developed is doing.

@jayvdb I would like to take up this issue.

Code can (and should) be reused from my PR at https://github.com/coala/corobo/pull/297
However testing is the problem, as the test frontend doesn't support needed fields (which seem to exist in the gitter frontend).


implement the repr method for tracers in python

This will help in hashing them and comparing them.

@beckermr @damonge thoughts on if we still want to do this?

yes we absolutely do


I can push several private images which exceeds my quote limitation

Though the issue is related to hub.docker.com  but I think the feedback repo is not quite active.
So I put the issue here.
I can push several docker images but in fact I only have 1 private repository for my quote.
What I did just use "docker push" after "docker login"

With multiple images, do you mean, create multiple private repositories, or push multiple images (i.e. multiple "tags") to the same, private repository? Note that public repositories are free, so you can create an unlimited amount of public repositories, only private repositories are paid for.
Basically, a repository is;
hub.docker.com/r/yourusername/yourprivaterepo/

But you can create as many images/tags as you like;
yourusername/yourprivaterepo:latest
yourusername/yourprivaterepo:version1
yourusername/yourprivaterepo:1.0
yourusername/yourprivaterepo:beta

Hope this helps, but if you have additional questions, it's best to send an e-mail to<EMAIL_ADDRESS>this repository is really about the docker open source software, and Docker Hub is managed by a different team.

I agree, just didn't find a good place and I though it's managed by this team too.
I think my case is a big security issue, which means I can push unlimited private repositories even I only had one.
I sent email to email you provided.

Hi Stanley,
Yes, you can push different images as private repositories.
This settings can be change by going to https://hub.docker.com/account/settings/ and changing the default visibility for your repositories.
However, you can't pull the images that are private (even though you own them) since you are on a FREE tier.
You will need to upgrade to a PAID tier in order for you to pull them.
I hope that clear your doubts.


Support pull-to-refresh

Pushing this into Future since SwiftUI doesn't currently have native support and it's not blocking in terms of functionality.

See https://www.hackingwithswift.com/quick-start/swiftui/how-to-enable-pull-to-refresh.

Adding the macOS tag as I suspect there will be some benefits to macOS too given the nature of SwiftUI.


support for older android

Describe your suggested feature
there any reason for dropping support for older android like 6.0+ except android system webviews stopped updating in the last year ?
Chrome stopped update too but the browser still work fine
i hope reconsider support old version even if it mean we only can installed but without dev support for old version
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an official extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version 0.15.3.
[X] I will fill out all of the requested information in this form.

that's why i can't install mihon...i hope they change their mind(*the author or contributors obviously). i'm running android 6.0...too sad.


Add authentication to utility registry

Fixes #5

@jeff-mccoy what's the best way to get Crane to log in now that the registry requires auth?
I've been trying a few things out but nothing feels right.
Would love to do some pairing on this if you have the time.

Can you clarify the question?  Under the hood crane uses the docker login info, with zarf you could do a login and pull without docker installed and it would work.

I looked at running Crane's login() function HERE, but it isn't exported.
Is there a way to internally call a Cobra command from within the golang codebase?

@jeff-mccoy The podinfo example's helm chart does not support imagePullSecrets. I'm proposing we just delete the podinfo example, since it doesn't do anything new that the doom game example doesn't already do.
Alternatively, we'll need to either find a different helm chart or submit a PR to add imagePullSecrets support to Podinfo's helm chart and fork the chart in the meantime.
Thoughts?

agreed, let's just drop it

/test all

/test all

@jeff-mccoy ready for review on this. Went through and tested all of the examples, they all look good.

/test all

sorry still looking at this, just really hate how much K8s sucks for image things, including private registries.    The more I think about this, the more it might make sense to leverage the specified hostname/ip for the registry or use internal routes for appliance mode.  This would allow us to not use mirror config at all (very important for when we move out of just k3s) and only have one imagepullsecret config that would could potentially just inject as well as a part of the deployment process without forcing the users to maintain that too.  Thoughts?

The more intuitive (and less "magical") we can make it the better. My worry would be that we make it harder to understand as we make it a bit less verbose. It made total sense to me that I'd have to add new secrets to each namespace that got created for each example, and I was totally fine with it.
If we got rid of image mirroring we'd want to add a zarf prepare patch-k8s just like we have a patch-git, but that's definitely not the end of the world, and it's something we'd need to handle anyway if we were pointing at a separate Zarf utility cluster.

We're feeling pain because we have a bunch of these examples to deal with, but an end user won't experience as much churn as we are. IMO this way is fine, as long as we are fine with telling the user they have to do ImagePullSecrets when creating their zarf packages because the registry requires auth.

Which I guess brings up a deficiency with this PR, it doesn't update the docs at all. I'd better fix that before @btlghrants notices and give me a whoopin

With OCI Distribution you shouldn't need to change anything but the hostname of the image, there wouldn't be any funny transformation stuff happening as the registry would just respect the path anyway. We leverage that concept already when push to the registry.  My concern is around how this takes some of the simplicity away just because K8s is dumb about private registries.  We don't have to go along with it, just like for TLS we don't have people run a bunch of openssl commands to get a valid cert, we do the work for them.

Gone back and forth on this (and went on a random code tangent to investigate), I do think we can do more later on down the road.  But the most important thing right now is that we're not adding direct complexity to the deployer of a zarf package--so I think besides docs this all looks good and satisfies an important missing security piece.  Thanks for finally getting this done, I put it off way too long.

Actually I don't think there is anything to add yet documentation-wise. The changes would happen under "Roll Your Own" #132
@btlghrants do you agree?

/test all

@jeff-mccoy one more approval please so it's ready to merge if @btlghrants agrees with my assessment that there aren't any docs to update right now.

Yeah, as far as I know, the game example is the only one we've done any sort of explicit user documentation for and that has the imagePullSecrets added as part of this PR.
Seems fine to merge to me & I think Andy's right--it'll change how we write "Roll Your Own" #132 but we haven't gotten there yet.


Doc: add proposal for config page

What type of PR is this?
/kind design

What this PR does / why we need it:
Enhance the Karmada dashboard by integrating API endpoints for managing deployments and pods, simplifying monitoring and operations for end-users.
Which issue(s) this PR fixes:
Fixes #75
Special notes for your reviewer:
Hello, @warjiang can you please have a look?
Does this PR introduce a user-facing change?:

Great, I'll check it later~ 🚀


Login screen issue with multiple monitors

When using multiple monitors in mirror mode and when using Crestron displays, it has been reported that the XCreds login screen can sometimes not display properly and prevent sign in.  This issue does not affect the Mac sign in screen if XCreds is removed.

Our Issues with XCreds on Multiple Displays and Crestron-Connected Macs
We have encountered several issues with XCreds implementation on Macs connected to external displays, multiple monitors, and projectors, especially in complex classroom setups and exhibition areas, key points:

Display Problems on Instructor Stations: In lab environments, the XCreds login screen appears only on projectors when attached, rather than the main display. Most of the time both displays are black. This issue affects instructor stations in the four main Mac labs.

Complex Classroom Environments: In spaces such as theatre and boardroom, there are black screens across all connected displays, including the main monitor. We believe the Crestron systems installed in those rooms, but further testing is needed to confirm.

Mac Minis with External Displays: On Mac Minis, both single and multiple external displays sporadically show black screens, indicating a broader issue with display handling when XCreds is enabled.

Sorry I don't have a ton of helpful info as it is hard to troubleshoot. Happy to provide any logs or data I can. I'd would upload a video but essentially picture a Mac with a black screen and a projector with a black screen.
Attaching info from running over ARD for displayplacer list and system_profiler SPDisplaysDataType on a few different Macs, the machines with -01 are instructor stations connected to a Crestron external AV system, they report it as "36 or 84 inch external screens". All machines we have connected to Crestron are the ones with issues that we've had to pull XCreds from.
system_profiler SPDisplaysDataType.txt
displayplacer list.txt

@rodchristiansen could you attach or send us your XCreds mobileconfig settings?  Please remove any sensitive account related settings.  The other settings may help us analyze this.

@davelebbing here's our mobileconfig:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadDescription</key>
                <string>Configures XCreds configuration preferences</string>
                <key>PayloadDisplayName</key>
                <string>XCredsPrefs</string>
                <key>PayloadIdentifier</key>
                <string>ca.ecuad.macadmins.XCredsPrefs.69EC6875-09A3-499D-9AE4-ACDA846CA849</string>
                <key>PayloadOrganization</key>
                <string></string>
                <key>PayloadType</key>
                <string>com.twocanoes.xcreds</string>
                <key>PayloadUUID</key>
                <string>1CC3DC0A-476F-4C93-A1B4-8888C04C8156</string>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>clientID</key>
                <string>c78bf0d7-ea08-4771-a3de-359d67cb247f</string>
                <key>discoveryURL</key>
                <string>https://login.microsoftonline.com/AZURE_TENANT_ID/.well-known/openid-configuration</string>
                <key>redirectURI</key>
                <string>https://<IP_ADDRESS>/xcreds</string>
                <key>loginWindowHeight</key>
                <integer>500</integer>
                <key>loginWindowWidth</key>
                <integer>500</integer>
                <key>loginWindowBackgroundImageURL</key>
                <string>file:///Library/Management/LoginCampusBackground.jpg</string>
                <key>cloudLoginText</key>
                <string>Sign in using MyEC account</string>
                <key>LocalFallback</key>
                <true/>
                <key>shouldShowVersionInfo</key>
                <false/>
                <key>shouldPreferLocalLoginInsteadOfCloudLogin</key>
                <false/>
                <key>shouldShowCloudLoginByDefault</key>
                <true/>
                <key>shouldShowShutdownButton</key>
                <false/>
                <key>shouldShowConfigureWifiButton</key>
                <false/>
                <key>shouldAllowKeyComboForMacLoginWindow</key>
                <true/>
                <key>shouldShowMacLoginButton</key>
                <false/>
                <key>shouldSwitchToLoginWindowWhenLocked</key>
                <true/>
                <key>autoRefreshLoginTimer</key>
                <integer>60</integer>
            </dict>
            <dict>
                <key>PayloadContent</key>
                <dict>
                    <key>com.twocanoes.xcreds</key>
                    <dict>
                        <key>Forced</key>
                        <array>
                            <dict>
                                <key>mcx_preference_settings</key>
                                <dict>
                                    <key>LicenseFile</key>
                                    <data></data>
                                    <key>LicenseFileBase64</key>
                                    <string></string>
                                </dict>
                            </dict>
                        </array>
                    </dict>
                </dict>
                <key>PayloadEnabled</key>
                <true/>
                <key>PayloadIdentifier</key>
                <string>ca.ecuad.macadmins.XCredsPrefs.CF991ACB-ACE3-4A25-9CAB-ADCDD6775B8A</string>
                <key>PayloadType</key>
                <string>com.apple.ManagedClient.preferences</string>
                <key>PayloadUUID</key>
                <string>b7781f18-5bcb-4cd9-9b34-87fc72b252ae</string>
                <key>PayloadVersion</key>
                <integer>1</integer>
            </dict>
        </array>
        <key>PayloadDisplayName</key>
        <string>XCredsPrefs</string>
        <key>PayloadIdentifier</key>
        <string>ca.ecuad.macadmin.XCredsPrefs</string>
        <key>PayloadOrganization</key>
        <string>Emily Carr University</string>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadUUID</key>
        <string>9EE1D65C-F789-457E-ACBA-99CF8194592E</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
    </dict>
</plist>

@rodchristiansen I'm wondering if this issue could relate to possible complications around the loginWindowBackgroundImageURL setting depending on status of the background image file availability on various machines.  Let me know if removing it results in any change of behavior.
                <key>loginWindowBackgroundImageURL</key>
                <string>file:///Library/Management/LoginCampusBackground.jpg</string>

@rodchristiansen we are wondering if there could be a conflict with the utility you are using called displayplacer.  It may be helpful to try checking if the monitor issue occurs when using XCreds and displayplacer is disabled.

Hey @davelebbing, regarding your questions, I don't think either are causing it.
The background image comes from a .pkg that is a dependency in Munki for Xcreds and they are there cuz unplugging from AV system shows the login window.
We aren't using displayplacer on any of the machines having the issue. There's one area of the university we use it with an outset login-every script due to specific monitors, but that's it, about 5 machines only and they are fine on Xcreds side.
Let me know if there's anything else that could help

Not able to replicate so marking this as on hold for now until there is a route to continue investigating this.


how to use number_of_cpu_cores_to_use parameter?

How do i use the "number_of_cpu_cores_to_use" parameter in python? i cant find a single example of using this parameter in your library.
i know the default is 1 but i want to pass -1 so i can make things faster, right now i can see its using only one core in task manager, thanks

number_of_cpu_cores_to_use is a parameter of the command-line tool. If you want to use multiple CPUs in your own code, you have to write your own python code to do it. You can check out the source code of the CLI tool for an example of how to do it in Python.

In file face_recognition_cli.py, line 98. Change it like this.
@click.option('--cpus', default=-1, help='number of CPU cores to use in parallel (can speed up processing lots of images). -1 means "use all in system"')


Add as_any to Tag trait

This enables downcasting dynamic trait to concrete types to get detailed tag info from a task

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks.
I'm not sure I see why this is needed / what the gain is ?
Isn't the functionality of regaining the concrete type already possible with ie (from the tag test):
fn convert_to_tag(tag: Arc<dyn shuttle::current::Tag>) -> Tag {
    let ptr = Arc::into_raw(tag).cast::<Tag>();
    *unsafe { Arc::from_raw(ptr) }
}

?

Ah, I missed the conversion you have in place. Is there a way to do it without resorting to using an unsafe block? If yes, happy to adopt that.
My understanding with Any was that it enabled a safer option via downcast_ref, so elsewhere in my code I'd do
t.as_any().downcast_ref::<MyTag>() which returns an Option<MyTag> if the cast is successful.

The way it is done currently requires unsafe as far as I am aware.
I'm not entirely opposed to adding the as_any to Tag, it should be more convenient and it is also better to fail on an unwrap than on some memory violation issue.
That said, I'm not seeing when the cast would fail — do you currently have a use case for non-homogeneous tags?
Another option is to add the + Any trait bound to Tag, which has the advantage that creating a Tag requires slightly less code, but the disadvantage that you don't get the .as_any()-nicety. It would enable checking type equality and graceful failure.
A note is that the from_raw unsafety is fully checkable. The preconds are that the raw pointer has to have been gotten from into_raw, and the type has to have the correct alignment and size (this can be checked with align_of_val and size_of_val).

We could also add a blanket implementation:
pub trait Tag: Debug {
    /// Return the tag as `Any`, typically so that it can be downcast to a known concrete type
    fn as_any(&self) -> &dyn std::any::Any;
}

impl<T> Tag for T where T: Debug + Any {
    fn as_any(&self) -> &dyn std::any::Any {
        self
    }
}

as there should not be any other way to define as_any. Of course, that makes all types which are Debug + Any (which most types are) valid to use as tags, which in a sense loses the "typedness" of tags, but I guess that can be reestablished by wrapping set_tag_for_current_task anyways.
Dunno, I have no strong preferences either way.

I quite like your idea of blanket implementation. I'll adopt that.

that makes all types which are Debug + Any (which most types are) valid to use as tags, which in a sense loses the "typedness" of tags

I'm not quite sure I follow, is that not the case already? Any struct can be a tag if it implements Tag for which only requirement is Debug

I quite like your idea of blanket implementation. I'll adopt that.

that makes all types which are Debug + Any (which most types are) valid to use as tags, which in a sense loses the "typedness" of tags

I'm not quite sure I follow, is that not the case already? Any struct can be a tag if it implements Tag for which only requirement is Debug

Ah yeah, sorry, poorly explained. Without the blanket implementation we will get a compilation error if something which has not implemented Tag manually is used as a tag, whereas adding the blanket implementation opens up for accidentally passing something which was not intended to be used as a tag as a tag. Since most types are Debug + Any, we go from default "nothing is allowed to be used as a tag except those which have manually implemented Tag" to default "basically everything is allowed to be used as a tag, and we won't do any checks".

Addressed comments.

The imports: that was just my IDE being silly, standardized on the already existing pattern, using the import not fully qualifying.
I tried removing convert_to_tag but that made a number of call sites really verbose, making code harder to read. So I kept the function but removed the unsafe manipulations and replaced them with downcast_ref. If you object I can do another revision and inline the convert_to_tag

Didn't think of this until now, but one way to undo the 'everything is now Tag' change is to introduce a new marker trait and have Tag extend that. I added a "suggestion PR" here: https://github.com/awslabs/shuttle/pull/124.
I don't feel strongly about this, but think I prefer to introduce the marker trait. It is slightly convenient (and more pretty) to not have it, but I think I (and/or someone else) is going to accidentally tag something with the wrong type and then figure that out at runtime instead of at compile time and then have to go through all of the places tags are set in order to find the source, and I think that inconvenience outweighs the slight convenience of not having to do impl shuttle::current::Taggable for X {}.

That's great, thank you! Let's just merge your PR instead

Closing this, as we merged https://github.com/awslabs/shuttle/pull/124


add feature to provide different username  & passwords/keys for servers

@windvalley thanks for creating this awesome tool.
let me how to provide different usernames for servers like providing ansible_user in ansible inventory file.
[targets]

localhost              ansible_connection=local
other1.example.com     ansible_connection=ssh        ansible_user=myuser
other2.example.com     ansible_connection=ssh        ansible_user=myotheruser

This is a great suggestion, you are welcome to send pull requests, and I will also think about how to implement this feature while keeping it simple.

A preliminary version of this feature is shown below:
Host file hosts.txt:
<IP_ADDRESS>
node1 host=<IP_ADDRESS> port=22 user=vagrant password=vagrant keys=~/.ssh/id_dsa,~/.ssh/id_rsa passphrase=xxx foo=bar
node3.sre.im user=vagrant password=GOSSH-AES256:9cfe499133b69a6c7fc62b5b6ba72d3d8dfb4d0e7987170a40c5d50bb5d71e19

The supported host vars:  host, port, user, password, keys, passphrase
Gossh command demo:

This version will be released soon, and later versions will consider adding server groups.


Allow _prepMixins to accept either functions or objects. Functions will ...

...allow for a caching mixin pattern of the form:
var myMixin = (function() {
function blah () { }
return function () {
this.blah = blah;
return blah;
}
})();
Function caching in this form is highly performant, and since Polymer should encourage mixins, this seems like a worthy pattern to encourage/support.

I signed it!

I signed it!

I signed it!

Does googlebot need a poke? This is still labeled cla: no even though the CLA is signed by the proper email address.

Thanks for the PR! We recently made a major change to the master branch of this repo with the 0.9 release - would you mind re-submitting a PR here rebasing from the latest master? Maybe Googlebot will have a better shot this time.


Serial audit log E block contains binary data

@lkarsten commented on Tue Aug 01 2017
Hi.
This was originally reported in https://github.com/SpiderLabs/ModSecurity-nginx/issues/59 , but after a bit of digging I think it belongs here.
Issue: The E segment of serial logging contains binary data, possibly of uninitialized memory.
Expected: Contents of the response body, mostly HTML and other human readable responses.
Setup: libmodsecurity from v3/master (currently on 02426466) with modsecurity-nginx on abbf2c4.
While developing rules I'm using the Serial audit log format, since it is easy to tail -f and truncate. The output of the E block of an audit entry looks suspicious:
---9vOuhfZZ---A--
[28/Jul/2017:09:34:02 +0200]<PHONE_NUMBER>51.842785 <IP_ADDRESS> 52804 <IP_ADDRESS> 8085
---9vOuhfZZ---B--
GET /foo?file=/../../etc/passwd HTTP/1.1
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: HTTPie/0.9.8
X-Forwarded-For: x.x.x.x
host: example.com
---9vOuhfZZ---D--

---9vOuhfZZ---E--
<B3><C9>(<C9>ͱ<E3><E5><B2><C9>HML<B1><B3>)<C9>,<C9>I<B5>310Vp<CB>/J<CA>LIIͳ<DA>胕^@<95>&<E5><A7>T*$<A5>'<E7><E7><E4>^W<D9>*<95>gd<96><A4>*<81>
<8C>HN<CD>+I-<B2><B3><C9>0D7^A(b<A3>^O<95>^F<D9>^ET^D<E5><E5><A5>g<E6>U<E8>ESC<EA>^Y^Z<EB>^Y!+<D1>^GY^B2T^_<EA>@^@a^Qs<8F><A9>^@^@^@<FF><FF>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF>
[cut]

(The large number of 0xFF here is because my nginx was just restarted, later requests have more entropy)
According to https://github.com/SpiderLabs/ModSecurity/wiki/ModSecurity-2-Data-Formats#intended-response-body-e the E block is the intended response body.
The response body for the /foo URI is the stock nginx 403 Forbidden page. I don't think the binary representation above is of that HTML page.
To me it looks like uninitialized memory is being logged. If that is the case, it can be both confusing and downright misleading to read, depending on what the allocation heap was used for last time.

@zimmerle commented on Tue Aug 01 2017
Hi @lkarsten,
There is also the possibility of this data being gzip/encoded. Can you disable the gzip compression in the end server to test it?

@lkarsten commented on Wed Aug 02 2017
Hi. Thanks for replying.
This may be the case that it is gzip. Having downloaded the Forbidden page body, gziped it and looked at it, the binary sequence looks familiar:
$ hexdump -C foo.gz
00000000  1f 8b 08 08 61 a2 81 59  00 03 66 6f 6f 00 b3 c9  |....a..Y..foo...|
00000010  28 c9 cd b1 e3 e5 b2 c9  48 4d 4c b1 b3 29 c9 2c  |(.......HML..).,|
00000020  c9 49 b5 33 31 30 51 f0  cb 2f 51 70 cb 2f cd 4b  |.I.310Q../Qp./.K|

Note the be c9 28 c9 sequence around the end of the first line.
I notice that the E block is not logged to the audit log now that gzip is disabled on the server and the response is human readable. SecAuditLogParts ABIJDEFHZ is set. Is this to be expected / as documented?
I attempted to request a binary file (favicon.ico, 76 bytes long) to see if that tickled it into logging the E block again, and my original issue reappeared. This is with the CRS3.0 rule set loaded, that triggers a forbidden response when "<script" is in the GET arguments.
Here is from the log:
---iplJSGEO---A--
[02/Aug/2017:12:06:15 +0200]<PHONE_NUMBER>44.813536 <IP_ADDRESS> 39146 <IP_ADDRESS> 8085
---iplJSGEO---B--
GET /favicon.ico?%3Cscript HTTP/1.1
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: HTTPie/0.9.8
host: example.com

---iplJSGEO---D--

---iplJSGEO---E--
<B3><C9>(<C9>ͱ<E3><E5><B2><C9>HML<B1><B3>)<C9>,<C9>I<B5>310Vp<CB>/J<CA>LIIͳ<DA>胕^@<95>&<E5><A7>T*$<A5>'<E7><E7><E4>^W<D9>*<95>gd<96><A4>*<81><8C>HN<CD>+I-<B2><B3><C9>0D7^A(b<A3>^O<95>^F<D9>^ET^D<E5><E5><A5>g<E6>U<E8>ESC<EA>^Y^Z<EB>^Y!+<D1>^GY^B2T^_<EA>@^@a^Qs<8F><A9>^@^@^@w<A4><C7>U^@^@' is not interesting to audit logs, relevant code(s): `^(?:5|4(?!04))'.^@`^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@g: TX.OUTBOUND_ANOMALY_SCORE to: 0^@ param "4" Wa!^@^@^@^@^@^@^@X;'z,^?^@^@X;'z,^?^@^@<A0>^A^@^@^@^@^@^@@^@^@^@^@^@^@^@Ўw<A4><C7>U^@^@<E8><C6>v<A4><C7>U^@^@
^C^@^@^@^@^@^@^@msg^@ALY_SCORE.^@:P<B0>v<A4><C7>U^@^@G^A^@^@^@^@^@^@<E1>^C^@^@^@^@^@^@0<93>v<A4><C7>U^@^@<80><A6>v<A4><C7>U^@^@ ^@^@^@^@^@^@^@0^@^@^@^@^@^@^@<90><B1>v<A4><C7>U^@^@^M^@^@^@^@^@^@^@RULE:severity^@^@^@ "Eq" wi<91>^B^@^@^@^@^@^@<80><A6>v<A4><C7>U^@^@ <CB>v<A4><C7>U^@^@980110^@g operator "^@^@^@^@^@a^B^@^@^@^@^@^@<A8>='z,^?^@^@<A8>='z,^?^@^@_score_threshold^@ator "G!^@^@^@^@^@^@^@^@<C7>v<A4><C7>U^@^@^@<AE>v<A4><C7>U^@^@P^@^@^@^@^@^@^@0^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@und_anomaly_score_threshold^@UTBO1^@^@^@^@^@^@^@<A0><C3>v<A4><C7>U^@
^@X;'z,^?^@^@4^@^@^@^@^@^@^@ ^A^@^@^@^@^@^@<B0>^@^@^@^@^@^@^@P^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ if this request is relevant to be part of the audit logs.^@ly_sca^A^@^@^@^@^@^@X;'z,^?^@^@P<A1>v<A4><C7>U^@^@TX:OUTBOUND_ANOMALY_SCORE.

Notice the  TX:OUTBOUND_ANOMALY_SCORE and "RULE:severity" strings. These are not a part of the ~150 byte "403 Forbidden" response body I expected. The body is correctly received on the client side.
The logged E block length is a whole lot longer, roughly 4100 bytes in the example above.

@zimmerle commented on Mon Sep 25 2017
Hi @lkarsten,
While downloading a binary file what do you expect to have on the response body if not the file itself?

@lkarsten commented on Mon Sep 25 2017
Hi @zimmerle ,
The main issue here, if I recall correctly, is that there seem to be extra non-related data logged as part of the body. My favicon.ico file does not contain "TX.OUTBOUND_ANOMALY_SCORE to: 0".
This is in my opinion misleading and an information leak.
If your question was serious, I think the least surprising would be if I got the binary file. Not sure about encoding, as the log is ascii elsewhere. How are one supposed to write a parser for this file? Line ending may be a part of the binary body. Should the parser switch from line mode to searching for a symbol based on which section it sees? Won't (isn't) that overly complicated?
For gzipped bodies .. always a pain, I think I'd expect the logged version to be unzipped and a flag set somewhere that it was done. This log is for in the end humans to consume, and it should be possible to understand without external tools. (like gunzip)

@zimmerle commented on Thu Sep 28 2017
Hi @lkarsten,
I've got your point. At first sight, I didn't notice the collections messages in the middle of the binary data.
I am trying to reproduce it here without success. Do you mind to share a little bit more information about your env? nginx version, ModSecurity compilation flags and what else you think it is relevant to replicate the problem...

FWIW it is happening for me too, detecting a false positive on PHP leakage, rendering ModSec practically useless :-/
This is not a logging issue only, but actually what ModSec is seeing in the response body, making it not working as expected.
Disabling gzip compression in Nginx "solves" it, which is not acceptable of course.
I am using ModSec statically linked.
I guess the gzip compression filter runs first and ModSec sees compressed data.
Thanks for looking into this, any patch welcome.

hello, we\re having the same problem, any news on this? Is ModSec completely useless now with nginx + gzip enabled or these are only some false positive messages with information leakage?

Is this somewhat reproducible in the latest version?

Hi. Thanks for following up.
I'm afraid I don't have funding to work on this any more. As much as I want to, I can't spend time on it without a sponsoring client. If you feel you must close it as wontfix/timeout due to no feedback, I understand.
If anyone in (primarily) .no is interested in getting this fixed/validated/worked on, drop me an email.
Thanks for writing and maintaining mod-security!
-Lasse

I estimate I could look into this in February (or maybe before that but too busy at the moment).
The project with Nginx+ModSec I was doing is finished and don't have access to the servers anymore.
But I have another one confirmed that I will tackle when time permits.
Sorry for not being able to dedicate more time.
Thanks a lot for looking into this!


[ADVISOR-2642] Add filter and sorting to systems table

Tags filtering will be added when supported by the backend.

Codecov Report

Merging #29 (11dcc2a) into master (361d532) will decrease coverage by 0.42%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #29      +/-   ##
==========================================
- Coverage   72.90%   72.48%   -0.43%
==========================================
  Files          43       43
  Lines         860      865       +5
  Branches      265      266       +1
==========================================
  Hits          627      627
- Misses        212      216       +4
- Partials       21       22       +1

Impacted Files
Coverage Δ

src/SmartComponents/SystemTable/SystemTable.js
65.00% <ø> (ø)

src/SmartComponents/SystemTable/constants.js
75.00% <ø> (ø)

src/SmartComponents/SystemTable/helpers.js
13.04% <0.00%> (-3.63%)
:arrow_down:

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 361d532...11dcc2a. Read the comment docs.


Fix when update scheduler will execute workflow

Purpose of the pull request
close #13286
Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

Codecov Report

Merging #13285 (5699c10) into dev (9199049) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                dev   #13285      +/-   ##
============================================
- Coverage     39.54%   39.51%   -0.03%
+ Complexity     4291     4287       -4
============================================
  Files          1072     1072
  Lines         40541    40496      -45
  Branches       4665     4647      -18
============================================
- Hits          16032    16004      -28
+ Misses        22727    22710      -17
  Partials       1782     1782

Impacted Files
Coverage Δ

...nscheduler/api/controller/SchedulerController.java
83.33% <100.00%> (ø)

...eduler/api/dto/schedule/ScheduleCreateRequest.java
83.33% <0.00%> (-2.39%)
:arrow_down:

...org/apache/dolphinscheduler/remote/utils/Host.java
42.55% <0.00%> (-2.13%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
51.38% <0.00%> (-1.39%)
:arrow_down:

...e/dolphinscheduler/service/queue/TaskPriority.java
51.31% <0.00%> (-1.25%)
:arrow_down:

...cheduler/plugin/alert/dingtalk/DingTalkSender.java
34.13% <0.00%> (-0.78%)
:arrow_down:

...pache/dolphinscheduler/common/utils/DateUtils.java
68.13% <0.00%> (-0.73%)
:arrow_down:

...inscheduler/plugin/registry/etcd/EtcdRegistry.java
50.34% <0.00%> (-0.69%)
:arrow_down:

...he/dolphinscheduler/plugin/task/java/JavaTask.java
58.50% <0.00%> (-0.69%)
:arrow_down:

... and 25 more

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

3.0.4 is expend to apache dist yesterday, so I change to 3.0.5 now

@ruanwenjun will it be fixed in 3.1.x?


Showing tags inside the input field

          @maxmarcon loving what you've started here! is there a known way to get the selected options to appear inside the search input, as shown in the gif above:

Originally posted by @rxndxm in https://github.com/maxmarcon/live_select/issues/11#issuecomment-1689199204

https://github.com/maxmarcon/live_select/issues/11#issuecomment-1690696518

So... any updates on this?

No, not from my side


Modify to work with NEMA 17?

After lot of trial and error I found out that the motor (12v version) is to weak to pull my roller blinds.
Have you thought about adding support to other motors like NEMA 17 or 28byj-48 modified to bipolar ?

Hi, no, I don't have such plans, unfortunately.. I simply don't have the time


App Suggestion: Tachiyomi

App Name
Tachiyomi
Description
A Free and Open Source manga reader for Android.
Category
Entertainment
Links
Source: https://github.com/inorichi/tachiyomi
F-Droid: https://f-droid.org/en/packages/eu.kanade.tachiyomi
Website: https://tachiyomi.org

Thanks, I'll add it now


Build failure: lunarvim

Steps To Reproduce
Steps to reproduce the behavior:

build lunarvim nix build github:nixos/nixpkgs/9fd64fc3499912546ce76ad1b4dae6d017f98b07#lunarvim

Build log
error:
       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'lunarvim-1.4.0'
         whose name attribute is located at /nix/store/02kyk6ji56wvs3ic6pngqk3x86jrkanz-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'installPhase' of derivation 'lunarvim-1.4.0'
         at /nix/store/02kyk6ji56wvs3ic6pngqk3x86jrkanz-source/pkgs/by-name/lu/lunarvim/package.nix:101:3:
          100|
          101|   installPhase = ''
             |   ^
          102|     runHook preInstall

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: 'utillinux' has been renamed to/replaced by 'util-linux'

Notify maintainers

@ProminentRetail @lebensterben
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.11.4, NixOS, 24.11 (Vicuna), 24.11.20241018.c4a6d1b`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.9`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/store/8p6g5kry9shcjl00pc9gr763bm8hqkcc-source`

Add a :+1: reaction to issues you find important.

log with --show-trace

close when https://github.com/NixOS/nixpkgs/pull/349783

Thanks for reporting, although this is not a bug caused by lunarvim package per se.
This build failure is scheduled to happen on Oct 17 2024:
https://github.com/NixOS/nixpkgs/blob/73d8d52149461e2b70a1ad2b90fd7cbb0e16c267/pkgs/top-level/aliases.nix#L1676
closed by #349783


WIP for add_to_view

don't merge plz

Coverage increased (+0.8%) to 70.391% when pulling 46af52f5acc74a17fcc228accfe71343de30bf73 on jread-usgs:master into 2b3d51fc92f5fed06631038778f15e7599853eed on USGS-R:master.


Model compile failing on GPU.1 (ARC A770) in 236-stable-diffusion-v2-optimum-demo notebook

Describe the bug
After changing pipe.to("GPU") to pipe.to("GPU.1") the models fails to compile.
Expected behavior
text encoder, unet, vae_decoder should successfully compile on dGPU.
Screenshots

Installation instructions (Please mark the checkbox)
Yes I followed the installation guide at https://github.com/openvinotoolkit/openvino_notebooks#-installation-guide to install the notebooks.
** Environment information **
Please run python check_install.py in the openvino_notebooks directory. If the output is NOT OK for any of the checks, please follow the instructions to fix that. If that does not work, or if you still encounter the issue, please paste the output of check_install.py here.
Additional context
Add any other context about the problem here.

Could you please run this?
`from openvino.runtime import Core
ie = Core()
devices = ie.available_devices
for device in devices:
device_name = ie.get_property(device, "FULL_DEVICE_NAME")
print(f"{device}: {device_name}")`

Yup I did,

Could you please provide details about your machine? OS, Python version, OpenVINO Version, Intel dGPU driver? Thanks

OS: Windows 11
Python version:
OpenVINO version: 2023.0.0
Intel dGPU driver: <IP_ADDRESS>46
I am able to compile SD2.1-base models on this dGPU using the core.compile instead of the optimum method. This notebook 236-stable-diffusion-v2-text-to-image runs just fine on my GPU.1

Please try to use the latest beta driver version. https://www.intel.ca/content/www/ca/en/download/729157/intel-arc-iris-xe-graphics-beta-windows.html. I have documented it on this blog. https://blog.openvino.ai/blog-posts/install-gpu-drivers-windows-ubuntu.
Please let me know if that works. BR

@vladimir-paramuzov any suggestions? (aside from using beta driver)

It worked after updating to beta driver. Thank you !


Introduce 'Escape' parameter for commands that yield paths (eg Get-ChildItem)

Summary of the new feature / enhancement
Ever since beginning to use PowerShell I have been plagued by the problem of square brackets appearing in file system paths. However, I have since learned to use an effective but incorrect workaround. Instead of using -Path, I have exclusively been using -LiteralPath, but this cuts me off from being able to use wildcards.
It appears to me that -LiteralPath was introduced to 'fix' this, but actually I now realise that this was not the correct fix to implement (unless there is some other issue of which I'm not currently aware). Instead of using -LiteralPath, I should instead have been using -Path but then escaping the returned paths using [System.Management.Automation.WildcardPattern]::Escape,
eg
gci | % { [System.Management.Automation.WildcardPattern]::Escape($_.FullName) }

The next item in the pipeline (not shown), can now use the pipeline item with a -Path parameter. However, this is cumbersome and highlights to me that the LiteralPath solution was a misnomer.
I know the LiteralPath can't be removed because of legacy reasons, but its presence has caused me to write a lot of incorrect code, which I should probably go back and update.
EDIT: this was the original request but not was was intended, see my updated comment
Instead, why can't we have a third option that actually replaces the use of **Path**/**LiteralPath**, ___EscapedPath___ (they could be deprecated without being removed). This would mean the the user can retain the use of wildcards using a single parameter. I would like to see this parameter to be introduced to all those standard powershell commands that use **Path**/**LiteralPath**, including but not limited to:

+ Rename-Item
+ Move-Item
+ Remove-Item
+ Copy-Item

Paradoxically, **New-Item** does not use LiteralPath, so I'm not sure how it handles wilcard characters in file system paths.

Other commands like Get-ChildItem/Get-Item should be updated to return pre-escaped Paths.
Proposed technical implementation details (optional)
No response

Actaully, I've realised that my request is not quite right. There is no need to introduce a new parameter EscapedPath. rather, we can abandon LiteralPath and any function that yields a path, should just return it already escaped, so that means that commands like Get-ChildItem/Get-Item would need to be changed, and the other commands that I have mentioned would remain unchanged. Or you could introduce a new switch parameter to Get-ChildItem/Get-Item let's call it Escape  which would invoke the escaping of paths.

There are a lot of use cases mixed in with paths and I think returning the wildcard escaped variant for the output here is wrong. I could be using the full path for many things unrelated to these cmdlet, e.g. calling a .NET function, writing the value to a file, etc. All these values don't understand the concept of wildcards and it would be wrong for them to contain them IMO.
One of the methods to avoid all this pain is to pipe the objects into each other, e.g.
$item = Get-Item -LiteralPath 'C:\temp\[folder]'

# Do stuff with $item

$item | Remove-Item

This works because the -LiteralPath accept input by property name and it has an alias PSPath that matches to the PSPath outputted by Get-Item. This means that it's essentially the same as doing Remove-Item -LiteralPath $item.PSPath.

Paradoxically, New-Item does not use LiteralPath, so I'm not sure how it handles wilcard characters in file system paths.

It's simple, New-Item creates something and thus doesn't have a concept of wildcards at all. Wildcards are only useful when you are trying to interact with existing objects

I guess we could add an flag in source cmdlet if an object comes from file system (vs from user) so that cmdlet consumer can see if it really need to do globbing for Path parameter.


Feature/gearbest library update

Description:
Due to a change on the gearbest website the currency converter was not working anymore, I've updated the gearbest_parser.py library, made it failsafe (in case they change it again it will not convert but rather display the original USD price).
Related issue (if applicable): fixes #14813
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox.

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).

Please update the requirements_all.txt, too.


OLS-899: Bump-up Black to version 24.8.0

Description
Bump-up Black to version 24.8.0
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[x] Bump-up library or tool used for development (does not change the final image)

Related Tickets & Documents

Related Issue #OLS-899

/retest

/retest

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

Project coverage is 94.22%. Comparing base (c0d1074) to head (39ad868).
Report is 33 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1361      +/-   ##
==========================================
+ Coverage   94.02%   94.22%   +0.20%
==========================================
  Files          58       58
  Lines        2477     2511      +34
==========================================
+ Hits         2329     2366      +37
+ Misses        148      145       -3

see 1 file with indirect coverage changes

/lgtm

/approve
/override "Red Hat Konflux / ols-e2e-tests-rosa / lightspeed-service"
/override "Red Hat Konflux / ols-enterprise-contract / lightspeed-service"


Require SSHKit >= 1.7.1

To make Airbrussh the default formatter in the next version of Capistrano (fingers crossed), we will need the latest version of SSHKit (currently 1.7.1). This is because Airbrussh itself depends on recent changes to SSHKit internals.
Is this reasonable? Capistrano has long had a very relaxed requirement for SSHKit, so this is definitely a change in policy.
/cc @leehambley @robd

Haters gonna hate, but sure - it's reasonable. Just to reiterate I try and be as liberal as possible with Cap dependencies because there's very, very little reason for your development deps to conflict with production deps, in this case, I suppose the minority of people who's applications use SSHKit is small enough that they can afford to upgrade, or jump through a hoop or two.


convert jpg to nrrd

I have an image that I wish to perform on all of it GLCM and GLRLM. I can not find how to convert the the gray image to nrrd and perfom the features. Furthermore, is there a better way to load (I used a URL just for accessibility, it would be fine also to load from HDD) and convert an image to gray using pyradiomics functions?
Code:
from skimage import io
from skimage.color import rgb2gray
import numpy as np
import matplotlib.pyplot as plt
import SimpleITK as sitk
from radiomics import featureextractor
url_path = "http://www.histologyguide.com/imgs/slide08.jpg"
original = io.imread(url_path)
grayscale = rgb2gray(original)
fig, axes = plt.subplots(1, 2, figsize=(8, 4))
ax = axes.ravel()
ax[0].imshow(original)
ax[0].set_title("Original")a
ax[1].imshow(grayscale, cmap=plt.cm.gray)
ax[1].set_title("Grayscale")
fig.tight_layout()
plt.show()

import SimpleITK as sitk
import numpy as np

grayscale = np.array(grayscale)
im = sitk.GetImageFromArray(grayscale)
ma = sitk.GetImageFromArray(np.ones(grayscale.shape), dtype='uint8')

# Store to nrrd:
sitk.WriteImage(im, 'image.nrrd')
sitk.WriteImage(ma, 'mask.nrrd', True)  # enable compression to save disk space

# or extract features:
from radiomics import featureextractor
extractor = featureextractor.RadiomicsFeatureExtractor(r'path/to/params.yml')
features = extractor.execute(im, ma, label=1)

Hi there. Thanks for this package.
Your suggested code above returns an error:
ValueError: No labels found in this mask (i.e. nothing is segmented)!
Any ideas of what the issue could be? I understand that a mask is needed. One can create a mask from the image right? At least that's what I understood from the above and also from here
I simple have x-ray images (jpeg and possibly DICOM) from which I want to extract quantitative features. I don't know how to segment it.
P.S: had to made a small correction on your code above:
test_arr = np.ones((grayscale.shape), dtype='uint8') ma = sitk.GetImageFromArray(test_arr)

Ms Filipa, I think the problem is that we need 2 separate files, the image itself and the mask. Please try using the provided data here https://github.com/Radiomics/pyradiomics/tree/master/data
If you need to apply your own data, you have to segment it beforehand, in which I don't know which tool to use @_@ (I am a fellow newbie ha ha)

Hello, thank you so much for your reply! I already understand these two files are needed and what needs to be done to make it work.  Thanks and cheers
From: advset<EMAIL_ADDRESS>Reply to: Radiomics/pyradiomics<EMAIL_ADDRESS>Date: Saturday, 2 May 2020 at 09:06
To: Radiomics/pyradiomics<EMAIL_ADDRESS>Cc: Filipa<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [Radiomics/pyradiomics] convert jpg to nrrd (#546)
Ms Filipa, I think the problem is that we need 2 separate files, the image itself and the mask. Please try using the provided data here https://github.com/Radiomics/pyradiomics/tree/master/data
If you need to apply your own data, you have to segment it beforehand, in which I don't know which tool to use @_@ (I am a fellow newbie ha ha)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/Radiomics/pyradiomics/issues/546#issuecomment-622765026, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKHEHL224DTDCWFDA545Z43RPPBAZANCNFSM4KBZ457A.

@filipamiralopes,
You can use [3D Slicer]](www.slicer.org) to view and segment your images. It can also read in you DICOMS, which contain more metadata than jpgs (including pixelspacing, indicating the size of a pixel in mm, which is used in the Shape class).


Update README.md

感谢提交 Pull Requests！
Thanks for submitting a pull request.

Security Check : 515b2d45a6298a9a3717b724088e302a080c2f5f


Allow signing of empty data for SmartKey

Let SmartKey sign empty data, mirror what the java Signature class currently does, cause there are uses cases where data comes in as empty but still gets signed.

Codecov Report

Merging #73 (473fe02) into main (d045ea5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #73   +/-   ##
=========================================
  Coverage     11.78%   11.78%
  Complexity       35       35
=========================================
  Files            65       65
  Lines          3359     3359
  Branches        358      358
=========================================
  Hits            396      396
  Misses         2907     2907
  Partials         56       56

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 d045ea5...473fe02. Read the comment docs.

Were you able to replicate the problem we were seeing? I guess it would be a contract where you propose multiple facts and make one of them an empty proto, then hydrate.

Also curious if each singing instance is totally separate, how does one empty proto cause the others in the record group to sign incorrectly?

This might be the case of hash and p8e-contract versions coming from different time spans, with the invalid signature.
Just ran this against SynergyOne on Test with it being SmartKey type, and it executed successfully.

This just allows signing of empty protos to be signed, different from the unable to verify signatures cases that have been floating about.


basic page layout with image/text

Basic page layout example created at https://chapmancommunities.spacepirateproductions.com/basic-layout/


Update Helm release shoot-rsyslog-relp to v0.4.0 (main)

This PR contains the following updates:

Package
Update
Change

shoot-rsyslog-relp
minor
0.3.1 -> 0.4.0

Release Notes

gardener-community/gardener-charts (shoot-rsyslog-relp)
v0.4.0
Compare Source
[gardener/gardener-extension-shoot-rsyslog-relp]
⚠ Breaking Changes

[OPERATOR] CA and server certificates for the admission component are managed automatically. Passing custom certificates via Helm values is not supported anymore. by @timuthy [#57]
[OPERATOR] Change OCI Image Registry from GCR (eu.gcr.io/gardener-project) to Artifact-Registry (europe-docker.pkg.dev/gardener-project/releases). Users should update their references. by @ccwienk [#47]
[OPERATOR] extension-shoot-rsyslog-relp no longer supports Shoots with Кubernetes version == 1.24. by @Kostov6 [#79]

📰 Noteworthy

[DEVELOPER] The charts/images.yaml file was moved to imagevector/images.yaml. by @plkokanov [#66]

🐛 Bug Fixes

[OPERATOR] Fixed an issue where the extension-shoot-rsyslog-relp-configuration-cleaner ManagedResource could block Shoot deletion if the shoot-rsyslog-relp was disabled before the Shoot deletion was triggered, and disabling the extension failed while trying to deploy the said ManagedResource and wait for it to become ready.  by @plkokanov [#80]

🏃 Others

[OPERATOR] Bumped github.com/gardener/gardener to v1.89.0. by @plkokanov [#73]
[OPERATOR] The extension now deploys the rsyslog configuration files by mutating the OperatingSystemConfig resource via a mutating webhook. Cleanup of the rsyslog configuration files is still handled by the rsyslog-relp-configuration-cleaner daemonset. by @plkokanov [#41]
[OPERATOR] Bump github.com/gardener/gardener to 1.86.0. by @timuthy [#57]
[OPERATOR] Fixed an issue where rsyslog.service would never get enabled if it was not already enabled by default. by @plkokanov [#58]
[OPERATOR] The name of the gardener-extension-shoot-rsyslog-relp-admission chart is now correctly specified as gardener-extension-shoot-rsysloog-relp-admission. Previously it was gardener-extension-shoot-rsyslog-relp. This should not require anything to be done by operators when upgrading the chart. by @plkokanov [#39]
[OPERATOR] The repository is now compliant with the REUSE license format. by @plkokanov [#71]
[DEVELOPER] The vendor directory was removed in favor of the go mod cache. by @timuthy [#57]
[DEVELOPER] Bumped golang to v1.22.0 by @plkokanov [#73]

Docker Images

gardener-extension-shoot-rsyslog-relp-admission: europe-docker.pkg.dev/gardener-project/releases/gardener/extensions/shoot-rsyslog-relp-admission:v0.4.0
gardener-extension-shoot-rsyslog-relp: europe-docker.pkg.dev/gardener-project/releases/gardener/extensions/shoot-rsyslog-relp:v0.4.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: configuration/configuration/templates/extensions.yaml
Command failed: ./hack/import-imagevectors.sh
go: downloading github.com/spf13/viper v1.12.0
go: downloading github.com/spf13/cobra v1.5.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/fsnotify/fsnotify v1.5.4
go: downloading github.com/spf13/afero v1.8.2
go: downloading github.com/spf13/cast v1.5.0
go: downloading github.com/subosito/gotenv v1.3.0
go: downloading github.com/mitchellh/mapstructure v1.5.0
go: downloading github.com/spf13/jwalterweatherman v1.1.0
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading gopkg.in/ini.v1 v1.66.4
go: downloading github.com/magiconair/properties v1.8.6
go: downloading github.com/pelletier/go-toml/v2 v2.0.1
go: downloading golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a
go: downloading golang.org/x/text v0.3.7
go: downloading github.com/pelletier/go-toml v1.9.5
panic: interface conversion: interface {} is nil, not []interface {}

goroutine 1 [running]:
github.com/yakecloud/yake/imagevector-importer/pkg/importer.getImageVector({{0xc00002a510, 0x12}, {0xc000024840, 0x2e}, 0xc00019e960, {0xc00002a528, 0x12}}, {0xc000424000, 0x213a, 0x213b})
	/tmp/renovate/repos/github/yakecloud/yake/hack/go/imagevector-importer/pkg/importer/importer.go:106 +0xcf9
github.com/yakecloud/yake/imagevector-importer/pkg/importer.ImportImageVectors({{0xc000190408?, 0x7eb4a0?, 0xc000010228?}})
	/tmp/renovate/repos/github/yakecloud/yake/hack/go/imagevector-importer/pkg/importer/importer.go:42 +0x225
github.com/yakecloud/yake/imagevector-importer/cmd.init.func1(0xc0000e4900?, {0x87ea04?, 0x4?, 0x87ea08?})
	/tmp/renovate/repos/github/yakecloud/yake/hack/go/imagevector-importer/cmd/import.go:22 +0x5f
github.com/spf13/cobra.(*Command).execute(0xbe4ea0, {0xc00007c5c0, 0x2, 0x2})
	/go/pkg/mod/github.com/spf13/cobra@v1.5.0/command.go:876 +0x69b
github.com/spf13/cobra.(*Command).ExecuteC(0xbe5120)
	/go/pkg/mod/github.com/spf13/cobra@v1.5.0/command.go:990 +0x38d
github.com/spf13/cobra.(*Command).Execute(...)
	/go/pkg/mod/github.com/spf13/cobra@v1.5.0/command.go:918
github.com/yakecloud/yake/imagevector-importer/cmd.Execute()
	/tmp/renovate/repos/github/yakecloud/yake/hack/go/imagevector-importer/cmd/root.go:26 +0x1a
main.main()
	/tmp/renovate/repos/github/yakecloud/yake/hack/go/imagevector-importer/main.go:6 +0xf
exit status 2

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

This has been merged sucessfully, but github had some kind of error during the merge and did not update the PR status, so I closed the PR instead.


[BUG] When validating the distribution with Twine there are errors that need to be resolved

What is the bug?
When validating the distribution with Twine there are errors that need to be resolved
How can one reproduce the bug?
Steps to reproduce the behavior:

Install twine python3 -m pip install --upgrade twine
Build the distribution and check it with twine rm -rf dist && python3 -m build && python3 -m twine check dist/opensearch-1.0.0.tar.gz
See error

...
Checking dist/opensearch-1.0.0.tar.gz: FAILED
  `long_description` has syntax errors in markup and would not be rendered on PyPI.
    line 42: Warning: Inline literal start-string without end-string.

What is the expected behavior?
There should be no errors in the output
Do you have any additional context?
It looks like the README.md has changes in around comments and whitespace that are not working

Dug into this a little deep, the problem is that the setup.py hasn't been updated to markdown as the document type, I'll PR this tomorrow.

Created #61 to add pull request check for issues like this


TODO JavaDoc

I was going through the code for the arctic-sea/faroe and I came across a comment saying TODO JavaDoc on line number 19.
Link: https://github.com/52North/arctic-sea/blob/master/faroe/core/src/main/java/org/n52/faroe/JSONSettingConstants.java
I would love to work on this, if you could help list down the javadoc to be done.
Looking forward to working on it:)

i want to solve this
can you assign me


backup pvc when backup vm

When we select vm to backup by label, corresponding pvc should be backupped up.

closing as explained this behavior already exists


cannot switch off an relay

Hi,
I can't figure it out, silly problem: I'm trying to switch off an relay using the example in 2.0.0:
#include <Homie.h>
const int PIN_RELAY = 5;
HomieNode lightNode("wlanSW-01", "switch");
bool lightOnHandler(const HomieRange& range, const String& value) {
  if (value != "true" && value != "false") return false;
  bool on = (value == "true");
  digitalWrite(PIN_RELAY, on ? HIGH : LOW);
  lightNode.setProperty("on").send(value);
  Serial << "wlanSW ist " << (on ? "on" : "off") << endl;
  return true;
}

void setup() {
  Serial.begin(115200);
  Serial << endl << endl;
  pinMode(PIN_RELAY, OUTPUT);
  digitalWrite(PIN_RELAY, LOW);
  Homie_setFirmware("WLAN-Switch", "0.9.2");
  lightNode.advertise("on").settable(lightOnHandler);
  Homie.setup();
}
void loop() {
  Homie.loop();
}

Starting the esp8266 I can read this through mosquitto:
# subscribed items (text after linenumber and pipe-symbol):
1:|homie/6001950fc24a/$homie -> 2.0.0
2:|homie/6001950fc24a/$implementation -> esp8266
3:|homie/6001950fc24a/$mac -> 60:01:94:AF:E6:CA
4:|homie/6001950fc24a/wlanSW-01/$type -> switch
5:|homie/6001950fc24a/wlanSW-01/$properties -> on:settable
6:|homie/6001950fc24a/$name -> WL-Switch-01
7:|homie/6001950fc24a/$localip -> <IP_ADDRESS>
8:|homie/6001950fc24a/$stats/interval -> 60
9:|homie/6001950fc24a/$fw/name -> WLAN-Switch
10:|homie/6001950fc24a/$fw/version -> 0.9.2
11:|homie/6001950fc24a/$fw/checksum -> db621eed2fe23d5ed8b3f634cd388e83
12:|homie/6001950fc24a/$implementation/config -> {"name":"WL-Switch-01","wifi":{"ssid":"testnet"}, \
       "mqtt":{"host":"puppet.home.lan","port":1883},"ota":{"enabled":true,"host":"hum1.hometest.lan", \
       "port":9080,"path":"/ota","ssl":false}}
13:|homie/6001950fc24a/$implementation/version -> 2.0.0
14:|homie/6001950fc24a/$implementation/ota/enabled -> true
15:|homie/6001950fc24a/$online -> true
16:|homie/6001950fc24a/$stats/signal -> 70
17:|homie/6001950fc24a/$stats/uptime -> 31

Looks great, I think.
Switch is on as stated in line 5. Now trying to switch it off:
mosquitto_pub -h puppet.hometest.lan -t homie/6001950fc24a/WL-Switch-01/on/set -m false
# this is the answer from mosquitto:
18:|homie/6001950fc24a/WL-Switch-01/on/set -> false
But homie obviously does not read the line obove, otherwise there should
#   be an acknowledgement similar to line 5?

# try different path:
mosquitto_pub -h puppet.hometest.lan -t homie/6001950fc24a/WL-Switch-01/set/on -m false
# getting this:
19:|homie/6001950fc24a/WL-Switch-01/set/on -> false

I think, my problem is using wrong path for publishing 'false'. I tried different combinations, does anyone have an idea for my correct path?
Thanks in advance.
Gtom

Try node name with no uppercase => wl-switch-01
The homie convention state that:

Node properties
homie / device ID / node ID / property: node ID is the ID of the node, which must be unique on a per-device basis, and which adhere to the ID format. property is the property of the node that is getting updated, which must be unique on a per-node basis, and which adhere to the ID format.

https://github.com/marvinroger/homie/tree/v2
On the full path you are correct, path follows schems for settable properties:

brand/device-id/node/propertie/set

Arghhh....
sheda pointed the right direction: Uppercase are no problems in this case, but I in the sketch above I defined the node with 'wlanSW-01'. In my mosquitto_pub command I tried to access it via 'WL-Switch-01'. But now when I use
mosquitto_pub -h puppet.hometest.lan -t homie/6001950fc24a/wlanSW-01/set/on  -m false

it works like a charm and I close this issue.
Thanks a lot for your help.
gTom

Thanks @sheda
@gtom it happens sometimes 😉


multiple peers guide

I think this link is missing
https://github.com/hyperledger/iroha/blob/develop/docs/source/getting_started/index.rst#configuring-iroha-network

Thank you for the issue.
Nice catch. I think missed link is the following: link.
We will fix it soon.

@RadW2020 please use this guide https://github.com/hyperledger/iroha/tree/master/deploy/ansible 🙏

@muratovv the link you provide is invalid

Resolved in https://github.com/hyperledger/iroha/pull/1759


Cover differences between primitives/their interfaces, '{}' and 'Object'

From Gitter on March 21, 2016 3:58 PM.

ref http://stackoverflow.com/questions/15487220/typescript-primitive-types-any-difference-between-the-types-number-and-numbe


[HW] Nupur

Name: Nupur Neogi
Email<EMAIL_ADDRESS>Linkedin Profile: www.linkedin.com/in/nupur-d-3222a78

Attach the homework screenshots below for both step II and step III:

Nice job Nupur, thank you.

Hey Nupur Neogi, great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/XjLE3kSNRgGAu7PyBRjw9A


rafthttp/metrics.go:fixed TODO: record write/recv failures.

added two counters in rafthttp/metrics.go

sendFailures
recvFailures

This approach looks good to me. I need to double check if there is any other place that send/receive can fail.

@heyitsanthony Can you help to double check the grammar of the metrics descriptions? Thanks!

LGTM. Can you please squash the commits into one?  Then we can get this merged.

@xiang90 i have squashed the commits.

lgtm. defer to @heyitsanthony

lgtm following minor string fixup. Thanks!


alice:0.9.0 Error on Android Studio 3.3.2

When I add the following line to gradle
implementation 'com.github.rockaport:alice:0.9.0'
and building the project , I encounter the following error
Error: MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26).
what is the problem?

Groovy is being passed as a transitive dependency and you need to exclude that. I'm going to fix this in a later version. In the meantime just use this:
implementation('com.github.rockaport:alice:0.9.0') {
    exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}```

Thanks.
I did this and the previous error was fixed. But the app runs only on Android 8.0. In other versions of Android, an GeneralSecurityException error occurs when encrypting a file.
in android 7.0 ==>PBKDF2WithHmacSHA512 SecretKeyFactory not available
in android 4.1 ==>SecretKeyFactory PBKDF2WithHmacSHA512 implementation not found

Right, you can see here that the support depends on the API level.
PBKDF2withHmacSHA1 is fine to use.
https://developer.android.com/reference/javax/crypto/SecretKeyFactory
On Mon, Apr 29, 2019 at 2:13 AM exmorrcmos<EMAIL_ADDRESS>wrote:

Thanks.
I did this and the previous error was fixed. But the app runs only on
Android 8.0. In other versions of Android, an GeneralSecurityException
error occurs when encrypting a file.
in android 7.0 ==>PBKDF2WithHmacSHA512 SecretKeyFactory not available
in android 4.1 ==>SecretKeyFactory PBKDF2WithHmacSHA512 implementation
not found
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rockaport/alice/issues/13#issuecomment-487461370, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABI66NTRS7UDG6ONOS4LTJTPS2G2JANCNFSM4HI7YCPQ
.

thank you.
Can your library implement this type of encryption(PBKDF2withHmacSHA1)?
if yes , Could you provide an example of encrypting a file with this method?
Thanks again!

Yes, use AliceContextBuilder and the setPbkdf  method.

Thanks.
It's working.


Support for sum aggregation function in Nextras DataSource

Support for using sum aggregation also in Nextras DataSource

Cool, thanks 👍


GH-646 Function graph validation for return node links

Fixes #646

Applied to main (=2.1) and branch 2.0.


使用JobStoreTX持久化到MySQL数据库，添加新的任务

new trigger is not related to the same job as the old trigger

Hi, we can't debug what you given us. Please report the issue in english and provide quartz config and standalone program to repeat your problem.


Update example usage in readme

Change-type: patch
Signed-off-by: Josh Bowling<EMAIL_ADDRESS>

@balena-ci I self certify!


EDMSound model NOT FOUND

Hi,
Great Work! Thanks for sharing! I want to know where can  I find the generative model: EDMSound you mentioned in the paper.
And also, can you provide detailed instructions about how to perform fine-tune clap? I am new in this area.

Hi, sorry for the confession we made! This codebase is only for the copy detection part. The code for the actual model will be released in our follow-up work.
To finetune CLAP, run this command CUDA_VISIBLE_DEVICES=0 python src/train.py +trainer.precision=16 experiment=clap_fine_tune.yaml. in the clap_fine_tune.yaml, set the correct data_dir to your training set data, and the length  of your audio samples.


multi label training?

How can I use YOLOX in multi label scenario?

Waht do you mean by saying multi label? If your dataset contains multiple classes in COCO format, just modify the anno file could train your own dataset.

I think your should write your own adaptor logic. If you treat them as seprate label(which is strange in my opinion), you could train them but your loss and inference logic should change. If you first detect a box then give the box multi labels, you should write your own classification logic.

@ahmedanis03  if i understand correctly single bounding box with multi label is the intent right ? @FateScript  to do this should we add additional head into the architecture which performs the classification like gender , age , accessories

@abhigoku10 Yes exactly!

@abhigoku10 Yes.
I will close this issue. Feel free to reopen it.

@FateScript  generally wider attribute dataset with is available with single box multilabels so can we train with yolox or  should we add additional head into the architecture which performs the classification like gender , age , accessories


streaming samples

Bug Report
Describe the Bug
Working through the samples like described in the ReadMe doenst work cause the negotiate-contract.json is faulty.
This is the error occuring
[
  {
    "message": "https://w3id.org/edc/v0.0.1/ns/policy/@type was expected to be http://www.w3.org/ns/odrl/2/Offer but it was not",
    "type": "ValidationFailure",
    "path": "https://w3id.org/edc/v0.0.1/ns/policy/@type",
    "invalidValue": [
      "https://w3id.org/edc/v0.0.1/ns/Offer"
    ]
  },
  {
    "message": "https://w3id.org/edc/v0.0.1/ns/policy/http://www.w3.org/ns/odrl/2/assigner/@id cannot be null or blank",
    "type": "ValidationFailure",
    "path": "https://w3id.org/edc/v0.0.1/ns/policy/http://www.w3.org/ns/odrl/2/assigner/@id",
    "invalidValue": null
  },
  {
    "message": "https://w3id.org/edc/v0.0.1/ns/policy/http://www.w3.org/ns/odrl/2/target/@id cannot be null or blank",
    "type": "ValidationFailure",
    "path": "https://w3id.org/edc/v0.0.1/ns/policy/http://www.w3.org/ns/odrl/2/target/@id",
    "invalidValue": null
  }
]

Expected Behavior
Working through the sample, the negotiate-contract.json should negotiate the contract about the asset
Solution
The negotiate-contract.json doesnt have the right format. The right format should look like this:
{
  "@context": {
    "@vocab": "https://w3id.org/edc/v0.0.1/ns/",
    "odrl": "http://www.w3.org/ns/odrl/2/"
  },
  "@type": "ContractRequest",
  "counterPartyAddress": "http://localhost:18182/protocol",
  "protocol": "dataspace-protocol-http",
  "policy": {
    "@id": "Y29udHJhY3QtZGVmaW5pdGlvbg==:a2Fma2Etc3RyZWFtLWFzc2V0:ZjJmZWMyOWMtYTU4NC00ODdmLTljMWItMWZjNTc5MzNmZmVi",
    "@type": "http://www.w3.org/ns/odrl/2/Offer",
    "odrl:permission": [],
    "odrl:prohibition": [],
    "odrl:obligation": [],
    "odrl:assigner": {
      "@id": "provider"
    },
    "odrl:target": {
      "@id": "kafka-stream-asset"
    }
  }
}

hey, thanks for reporting, could you provide a PR to fix this issue?

I had the same issue. For me this worked:

{
  "@context":{
    "@vocab":"https://w3id.org/edc/v0.0.1/ns/"
  },
  "@type":"ContractRequest",
  "counterPartyAddress":"http://{{provider-host}}:{{provider-port-protocol}}/protocol",
  "providerId":"provider",
  "protocol":"dataspace-protocol-http",
  "policy":{
    "@context": "http://www.w3.org/ns/odrl.jsonld",
    "@id":"{{contract_offer_id}}",
    "@type":"Offer",
    "permission":[ ],
    "prohibition":[ ],
    "obligation":[ ],
    "assigner": "provider",
    "target":"stream-asset"
  }
}

Would be nice to know what is the "right" way (if this exists)

a json-ld document has different ways to be represented, an extended way, and multiple "compact" ways, all of them are potentially "right"


Not working on IOS

Hello, i developed an app with the plugin it work great on android but no way to make it work on iOS even the function isBluetoothEnabled return false like i don't have access to the material. It does not listen to the bluetooth state either. I am wondering if anyone has already experienced something like that on iOS with this plugin. I also coded a native module same thing it like it doesn't see any bluetooth device.
Thanks for helping
Mobile Device Environment
Provide a list of operating systems on which this issue is relevant.

Device: iPhone11 Pro Max
OS: 16.2

Application Environment
Provide information about your development environment:

React Native version: 0.66.4
RN Bluetooth Classic version: v1.60.0-rc.24

Have you read the documentation?
Do you understand the implications of the MFi protocols?
The library works perfectly with IOS, it was the primary purpose.
Please look into IOS and MFI and feel free to add a new issue with more specific details if you run into problems.


Investigate pack size (Estriol in particular) and consider fixes

Per this comment (and the following one), there is a potential pack size issue which might be the result of human error (I think it's unlikely but worth checking).
Check with @richiecroker - and if this was result of human error, see if there are any improvements we could make to our manual reconciliation process.
Also, add any relevant info to https://github.com/ebmdatalab/price-per-dose/issues/12.
If not the result of human error, consider if/how we should fix errors like this when we see them.  Usually, NHSBSA correct errors when we point them out, but only for future data releases - they rarely fix historic data.   It may be a good idea to maintain a table of "pack size corrections" which we apply in bigquery when generating measures / prescriptions tables; also link to a publicly accessible version of this table from our FAQ, with explanation.

fixed by ODD


turn_on/turn_off methods without setting the proper ClimateEntityFeature

I just updated to the latest version v0.6.11. It nicely resolves #233  and #253 however I see a new error:
2024-06-24 04:38:57.903 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.ge_home.entities.ac.ge_wac_climate.GeWacClimate'>) implements HVACMode(s): off, auto, cool, fan_only and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please report it to the author of the 'ge_home' custom integration

I am not seeing any errors any more. I don't know when or what fixed this, but I will close since I no longer see it.


docs: fix broken link to @vite directive

Clicking on the link to the @vite directive in the configuration page takes me to a 404. This fix points the link to the correct location.

Good looking out, thank you!


Modifier In same USB packet

The built in macOS drivers seem to resolve modifier keys first when multiple keypresses are sent in the same USB packet. Karabiner does not resolve keypresses the same way breaking onboard macros sent this way.
A keyboard macro which sends ctrl-c to karabiner resolves as:
"c" Down, "CTRL" Down, "c" Up, "CTRL" Up
Without karabiner the macro works so the OS must be producing either:
"CTRL" Down, "c" Down, "c" Up, "CTRL" Up
OR
"CTRL" Down, "c" Down, "CTRL" Up, "c" Up

How do I reproduce this issue?

#380


[Bug]: zod-form-data does not support arrays of objects

Which packages are impacted?

[ ] remix-validated-form
[ ] @remix-validated-form/with-zod
[ ] @remix-validated-form/with-yup
[X] zod-form-data

What version of these packages are you using?

"@remix-validated-form/with-zod": "^2.0.1"
"remix-validated-form": "^4.5.0"
"zod": "^3.17.3"
"zod-form-data": "^1.2.0"

Please provide a link to a minimal reproduction of the issue.
https://codesandbox.io/s/affectionate-benji-lg6bek?file=/app/routes/index.tsx
Steps to Reproduce the Bug or Issue

create nested form
submit nested form

Expected behavior
when submitting a nested form expect to see an array of those items
Screenshots or Videos
No response
Platform

OS: macOS
Browser: Chrome

Additional context
included in the reproduction, i have a work around flag that uses the remix-validated-form package and that does what i would expect.
See https://github.com/airjp73/remix-validated-form/discussions/129 for similar details

Copying my response from there. I think this would be a good issue for someone to tackle if they were interested in contributing. I should be able to fix in the next week or so if nobody does it first (almost done unpacking 😆 )
The issue is this line here should be using set from lodash.

@airjp73 funny enough i just got back to looking at this again and was working on this fix, i'll push up a PR in a bit

Fix published in zod-form-data v1.2.1


Changing the string null check to improve the performance.

isEmpty() gives 20-40% more performance than "".equals().
String equals source code,
public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String aString = (String)anObject;
            if (coder() == aString.coder()) {
                return isLatin1() ? StringLatin1.equals(value, aString.value)
                                  : StringUTF16.equals(value, aString.value);
            }
        }
        return false;
    }

Operator instanceOf, class casting, 3 if statements, and all this is just to start the check if the string is actually empty.
Now compare it with String.isEmpty():
public boolean isEmpty() {
    return value.length == 0;
}

If we increase the performance in the framework, automatically multiple projects get the benefit.
#hacktoberfest

Hello,
Thank you for your contribution.
I don't know about improving performance (we'd need actual tests for that), but I agree that the code is better after your change.
However, this is test code. It is not consumed by any project. So these changes will not improve performance of Hibernate Search.
What's more, this is legacy test code, which is there to test backward compatibility with Hibernate Search 5 APIs. So I don't want to change anything in there unless we really need to. Eventually, this code will be removed.
If you want to contribute other changes to the project, feel free to pop out on our chat and we can discuss what would be interesting topics for a new contributor. Always happy to see new faces :)


Screen flickering during render - Augmented Image Demo

First, I want to thank you guys for developing and maintaining this project.
I tried migrating my current Sceneform 1.15 project to this version. After some tweaking everything worked but I noticed screen flickering when rendering 3D models. I played with the configurations but it didn't help. I tried the Augmented Image Demo and I'm getting the same issue (see video).
Tested with:
Google Pixel 4A (Android 11)
Sceneform Version: 1.19.6
The pixel device is new (2 days old) and only AR play services and the AR apps are installed.
When I run my project using 1.15 the issue is not occuring. The flickering can also occur when no model is rendered, although it happens less frequently.
https://user-images.githubusercontent.com/32882318/130969799-171ba26a-0b77-447e-97b5-4086e254df2e.mov

@D-Lav pls recheck the hotfix branch.

I reverted back to the old implementation for an ExternalTexture. Maybe my implementation of the new way is not correct
this.surface = null;

        this.filamentTexture = new Texture
                .Builder()
                .importTexture(textureId)
                .width(width)
                .height(height)
                .sampler(Texture.Sampler.SAMPLER_EXTERNAL)
                .format(Texture.InternalFormat.RGB8)
                .build(EngineInstance.getEngine().getFilamentEngine());

        SurfaceTexture surfaceTexture = new SurfaceTexture(0);
        surfaceTexture.detachFromGLContext();
        this.surfaceTexture = surfaceTexture;

        filamentStream = new Stream.Builder()
                .stream(surfaceTexture)
                .build(EngineInstance.getEngine().getFilamentEngine());

        filamentTexture.setExternalStream(
                EngineInstance.getEngine().getFilamentEngine(),
                filamentStream);

        ResourceManager.getInstance()
                .getExternalTextureCleanupRegistry()
                .register(this, new CleanupCallback(filamentTexture, filamentStream));

Old way
surfaceTexture = null;
        surface = null;

        // Create the filament stream.
        Stream stream =
                new Stream.Builder()
                        .stream(textureId)
                        .width(width)
                        .height(height)
                        .build(EngineInstance.getEngine().getFilamentEngine());

        initialize(stream);

@D-Lav pls recheck.

Yes can confirm, there is no flickering using the old implementation @RGregat.


Create an AirTable that matches production spec for testing

The legacy app needs an AirTable with very specific parameters to function, I want to create that table so that we can see it run.

This was given to us by BRF


Add report bug command

This should be a simple embed which will contain a link to the new github issue to allow users to report their issues
Acceptance Criteria
AS a user
GIVEN I find an issue or needed improvement in the bot
WHEN I type the !report command
THEN the bot should return the link to the new issue page

Not quite sure about this one now, as I don't have open issue opening on this server, so might be worth instead waiting until I get helpdesk setup? Could also then make a command which auto adds to helpdesk then too.

Dropping out of sprint until I get a suitable helpdesk in place

No longer need, this can be added in the about command


How to print binary tree in vertical order

MicroByte Title: BinaryTree_LevelOrderTraversal_Types
Improvement Proposal:

Add solution to print a binary tree in vertical order as mentioned in Further Exploration Question 1
Implement it in any language and add briefly documented code

Benefits of proposed improvements:

The learner will be able to find a solution to the Further Exploration section too

I would like to do this in java. Could you assign me this?

Sure, go ahead @divya1509 . Assigning it to you.

please assign me to this. I'll do it in c++.

Cool. You can do it in C++. Go ahead @sbindal057

I would like to work on this. Please assign me this in C++.

@simplymuskan since the task for C++ has already been assigned, kindly look for other issues to contribute. or you can go adventurous and  create your own issue to begin with!

@simplymuskan since the task for C++ has already been assigned, kindly look for other issues to contribute. or you can go adventurous and create your own issue to begin with!

Okay cool! I will  try.


new rule: no-unlocalized-strings

Create a rule to find instances of unlocalized strings.
An unlocalized string is defined as:

A double-quoted string (single-quoted strings are assumed to be technical)
and, not passed to a localization function

Options:

localization-function - the string name of a localization function. For example, "localize".
localization-expression - the string text of a localization expression. For example, "nls.localize"

Examples:
// assume localization-function is "localize"
localize("Title");     // ok (localization function used)
nls.localize("Title"); // ok (localization function used)
var title = 'Title';   // ok (not double quotes)
var title = "Title";   // violation
l10n("title");         // violation
nls.l10n("Title");     // violation

// assume localization-expression is "nls.localize"
nls.localize("Title");     // ok (localization function used)
xxx.localize('Title');     // ok (not double quotes)
xxx.localize("Title");     // violation
localize("Title");         // violation
nls.l10n("Title");         // violation

I implemented the new rule. The rule in named no-unexternalized-strings. I changed the name because check is about externalization. It doesn't check if the strings is actually localized (e.g. translated into a different language). The behavior is as follows:

single quoted strings and template strings are ignored.
by default all double quoted strings are treated as non externalized.
there is no default function setup.
messages passed to the localize function must be literals. (e.g. "Hello" + "World" is not allowed since it can't be handled correctly in RTL languages).

The rule can be controlled using the following object literal:
{
    /** list function signatures that localize a string */
    "signatures": string[];
    /** defines which argument denotes the message */
    "messageIndex": number;
    /** list signatures which are ignored when  double quoted strings */
    "ignores": string[]
}

Given the following options:
{
    "signatures": ["localize", "nls.localize"],
    "messageIndex": 1,
    "ignores": ["require"]
}

the rule will validate code like this:
localize("key", "message");        // ok (localization function used)
nls.localize("key", "message");  // ok (localization function used)
var title = 'Title';                          // ok (not double quotes)
var title = "Title";                         // violation
l10n("title");                                 // violation
nls.l10n("Title");                          // violation
var fs = require("fs");                  // ok (require is in ignore list)
localize("key", "mes" + "sage"); // violation (messages should be literals)

Is there a way to ignore the lint error for new Error("My non-localzied error"), without using single-quotes or template string?


Automatically saving good-quality simulation videos using a Python (.py) script rather than mediapy in a Jupyter notebook (.ipynb)

Hi,
I am accessing MuJoCo via the Python bindings. I currently run my simulations in a Jupyter notebook. Using the code below, I can simulate, render and save the rendered videos. However, to save the videos, I have to manually click "Download" on the resulting video (whereas I want to automate this saving process in a .py file?):
# Simulate and display video.
frames = []
while data.time < duration:
  mujoco.mj_step(model, data)
  if len(frames) < data.time * framerate:
    renderer.update_scene(data, "closeup")
    pixels = renderer.render()
    frames.append(pixels)

media.show_video(frames, fps=framerate)

I understand mediapy's show_video function only works in a Jupyter notebook, but I eventually want to build my code in a Python script (.py).
How can I run and save good-quality simulations in an automated way using a .py script rather than a Jupyter notebook? Ideally, I want to also have the option to run my simulations headless, but save the resulting good-quality videos to a file directory also?
Ideally, I would like the simulation videos to also have the same quality as seen below in the MuJoCo GUI:
https://github.com/google-deepmind/mujoco/assets/127472392/eb34bded-61d2-4585-ae62-527bb7c7cf57
Note that the videos produced using mediapy in the Jupyter notebook environment have noticeably worse quality:
https://github.com/google-deepmind/mujoco/assets/127472392/ab0be90b-564d-4a06-8ba9-4a78f091f8d2
Summarising my questions:
(1) How can I run and save good-quality simulations in an automated way using a .py script rather than a Jupyter notebook?
(2) How can I optionally run the simulations in the OpenGL, good-quality rendering GUI or headless from a .py script?
(3) How to ensure that the simulations run from a .py file have high-quality resolution, and not bad quality as produced using `mediapy'?

media.write_video compresses the video by default. You can specify additional parameters to increase the quality, as documented here.

Thanks @kevinzakka.
Using media.write_video, I can run the .py script below (which is a copy of the Contacts example in tutorial.ipynb):
import mujoco
import mediapy
from mediapy import VideoWriter
import numpy as np

free_body_MJCF = """
<mujoco>
  <asset>
    <texture name="grid" type="2d" builtin="checker" rgb1=".1 .2 .3"
    rgb2=".2 .3 .4" width="300" height="300" mark="edge" markrgb=".2 .3 .4"/>
    <material name="grid" texture="grid" texrepeat="2 2" texuniform="true"
    reflectance=".2"/>
  </asset>

  <worldbody>
    <light pos="0 0 1" mode="trackcom"/>
    <geom name="ground" type="plane" pos="0 0 -.5" size="2 2 .1" material="grid" solimp=".99 .99 .01" solref=".001 1"/>
    <body name="box_and_sphere" pos="0 0 0">
      <freejoint/>
      <geom name="red_box" type="box" size=".1 .1 .1" rgba="1 0 0 1" solimp=".99 .99 .01"  solref=".001 1"/>
      <geom name="green_sphere" size=".06" pos=".1 .1 .1" rgba="0 1 0 1"/>
      <camera name="fixed" pos="0 -.6 .3" xyaxes="1 0 0 0 1 2"/>
      <camera name="track" pos="0 -.6 .3" xyaxes="1 0 0 0 1 2" mode="track"/>
    </body>
  </worldbody>
</mujoco>
"""
model = mujoco.MjModel.from_xml_string(free_body_MJCF)
data = mujoco.MjData(model)

n_frames = 200
height = 240
width = 320
# for video writing
shape = (height,width)
frames = []
renderer = mujoco.Renderer(model, height, width)

# visualize contact frames and forces, make body transparent
options = mujoco.MjvOption()
mujoco.mjv_defaultOption(options)
options.flags[mujoco.mjtVisFlag.mjVIS_CONTACTPOINT] = True
options.flags[mujoco.mjtVisFlag.mjVIS_CONTACTFORCE] = True
options.flags[mujoco.mjtVisFlag.mjVIS_TRANSPARENT] = True

# tweak scales of contact visualization elements
model.vis.scale.contactwidth = 0.1
model.vis.scale.contactheight = 0.03
model.vis.scale.forcewidth = 0.05
model.vis.map.force = 0.3

# random initial rotational velocity:
mujoco.mj_resetData(model, data)
np.random.seed(1)
data.qvel[3:6] = 5*np.random.randn(3)

# simulate and render
for i in range(n_frames):
  while data.time < i/120.0: #1/4x real time
    mujoco.mj_step(model, data)
  renderer.update_scene(data, "track", options)
  frame = renderer.render()
  frames.append(frame)

with VideoWriter('test.mp4', shape, fps=30) as writer:
    for frame in frames:
        writer.add_image(frame)

While this code successfully saves a video test.mp4 of the simulation, I also get the following error/warning messages in my terminal:
(base) enk001@drift-ph:~/Documents/PHD/PHD-Code/Projects/Mujoco-ArbMeshContacts$ /home/enk001/miniconda3/envs/mujoco-tut/bin/python /home/enk001/Documents/PHD/PHD-Code/Projects/Mujoco-ArbMeshContacts/test.py
Exception ignored in: <function Renderer.__del__ at 0x7a5a3aa77240>
Traceback (most recent call last):
  File "/home/enk001/miniconda3/envs/mujoco-tut/lib/python3.12/site-packages/mujoco/renderer.py", line 330, in __del__
  File "/home/enk001/miniconda3/envs/mujoco-tut/lib/python3.12/site-packages/mujoco/renderer.py", line 316, in close
  File "/home/enk001/miniconda3/envs/mujoco-tut/lib/python3.12/site-packages/mujoco/glfw/__init__.py", line 35, in free
TypeError: 'NoneType' object is not callable
Exception ignored in: <function GLContext.__del__ at 0x7a5b461ad580>
Traceback (most recent call last):
  File "/home/enk001/miniconda3/envs/mujoco-tut/lib/python3.12/site-packages/mujoco/glfw/__init__.py", line 41, in __del__
  File "/home/enk001/miniconda3/envs/mujoco-tut/lib/python3.12/site-packages/mujoco/glfw/__init__.py", line 35, in free
TypeError: 'NoneType' object is not callable

I believe these warning messages occur due to this line of code:
renderer = mujoco.Renderer(model, height, width)

Since the code still runs and produces the saved simulation video, should I just ignore these messages? Or do I need to modify my code so that I don't get these error messages?

Does this go away if you add renderer.close() at the end of your script?
@kevinzakka, @kbayes, is there a bug in the implementation of close, __del__ or __exit__, similar things seem to keep happening, but it's not clear to me why...

Yes @yuvaltassa thankyou very much! It goes away if I add renderer.close() or renderer.__del__()


Copy build steps from redux. Fixes #243

Can you rebase against next? Let's take this on with the next major so that webpack 2 and rollup users don't get into trouble with a minor or patch release.

@timdorr ok, but can it be in both branches? I just want to get this published sooner than later.

Technically, it's an API change, so it has to go in the next major anyways.

Could you please explain why it is API change? in npm module will appear just one new folder, everything else byte to byte the same.

It's an API change in the sense that the main or jsnext:main is an API to access the module. Basically, someone using Rollup or Webpack 2 would experience a breakage if they upgraded just a patch or minor release, which technically violates semver.  I will rebase to next branch.