oci-image: init scripts to build and upload image

Motivation for this change
Add image configuration for Oracle Cloud Infrastructure and scripts to
build and upload the image as a Custom Image.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Hi!
Expect to see some eyes on your PR, since that announcement about their A1 instances.
On my end I worked out how to adapt this for those A1 instances

https://github.com/samueldr/nixpkgs/commits/feature/ocl-image-aarch64

(Look carefully at the commits, the tip adds a "bad" commit to work around an issue with RK3399... That one is not needed.)
I don't know if there's anything else that should be done here though. I'm definitely not an OCI expert. I basically started learning about their cloud offering Wednesday.

Hi!
Expect to see some activity on your PR, since that announcement about their A1 instances.

That's great news! Thank you for making me aware of their new ARM instances.

On my end I worked out how to adapt this for those A1 instances
* https://github.com/samueldr/nixpkgs/commits/feature/ocl-image-aarch64

Thanks! I'll add your commits to this PR.

You will have to ensure that the image capabilities only includes UEFI as the firmware type.

Can this manual configuration step be avoided after modifying the --launch-mode PARAVIRTUALIZED to --launch-mode NATIVE? IIRC, this should enable UEFI by default. The reason I used PARAVIRTUALIZED for x86 is that it was mentioned as a requirement in https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/importingcustomimagelinux.htm
I think the default image of Oracle Linux uses UEFI-based images so we might want to try building UEFI-based images for both x86 and AArch64 to keep things simple.
Unfortunately, my Free Trial has expired so I am not able to test out any new additions to the build script since the custom-image-count limit has been reverted to 0 after my trial ended.
I will try to install NixOS on a system with the Oracle Linux image in-place for users that have a free account like mine using https://github.com/elitak/nixos-infect or something similar.

Just a reminder:

I'm definitely not an OCI expert. I basically started learning about their cloud offering less than 48 hours ago.

You will have to ensure that the image capabilities only includes UEFI as the firmware type.

Can this manual configuration step be avoided after modifying the --launch-mode PARAVIRTUALIZED to --launch-mode NATIVE? IIRC, this should enable UEFI by default on x86, but I'm not sure what the behavior is for ARM-based instances. The reason I used PARAVIRTUALIZED for x86 is that BIOS is a requirement for custom images as mentioned in https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/importingcustomimagelinux.htm
It seems that the current Oracle Linux image for AArch64 (Oracle-Linux-7.9-aarch64-2021.05.17-0) has its launch mode set to PARAVIRTUALIZED instead of NATIVE and its firmware set to UEFI though. If we want to automate setting UEFI as the preferred firmware, we can do so using Terraform (see launch_options) or a python script that uses oci-sdk. I can't seem to find an option of oci-cli that allows me to customize the LaunchOptions of an image, even though the manpage of oci compute image import --help references LaunchOptions. I have opened an issue upstream: oracle/oci-cli#416

As far as I understand OCI, the "Launch Mode" is distinct from "Firmware". And as the documentation indeed states, "BIOS" seemingly needs to be set for x86_64-linux (though I can't confirm).
Given the following link:

https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/configuringimagecapabilities.htm

I wonder if it's as simple as adding --firmware UEFI_64. But that's a total guess.

I think the default image of Oracle Linux on x86 uses UEFI-based images so we might want to try building UEFI-based images for both x86 and AArch64 to keep things simple.

It would be nice to see which shapes actually run on UEFI. I am betting that the documentation stating it needs to be legacy boot is plainly wrong.

Unfortunately, my Free Trial has expired so I am not able to test out any new additions to the build script since the custom-image-count limit has been reverted to 0 after my trial ended.
I will try to install NixOS on a system with the Oracle Linux image in-place for users that have a free account like mine using https://github.com/elitak/nixos-infect or something similar.

Oh what??? The custom images are not part of the free offer?? I wasn't finding any information about the pricing for those, like at all... This sucks :|
So I guess going with "infect" like systems will be better in the end. Unless the NixOS foundation somehow gets in touch with Oracle to get some kind of useful deal.

Reading the (admittedly thick to navigate) pricing list, coupled with the free tied page, I'm led to believe there is up to 10GB available free for custom images.
Expect an edit to this message, I'm chatting with a live agent about this.

Hey folks, I just replied to @samueldr (I assume, based on the avatar) over on the Oracle Cloud forum. I'm a member of the Oracle Cloud Developer Adoption team as well as one of Oracle's GitHub admins. I'm more than happy to be your official tour guide to OCI and make sure you have the right tools and contacts to get NixOS published to our Marketplace.
The first thing I'll mention is that upgrading your free trial account to pay-as-you-go is (ironically) one of the requirements to activate the Always Free resources, which will then increase your custom image count back up to 25. You will not be charged for any resources that qualify for Always Free, and those that do will have an "Always Free" tag visible in the Console.

Hi Avi, thanks for reaching out! Is it possible and useful for the NixOS
foundation to publish official images for Oracle Cloud? Ideally
individual users would not need to maintain their own base images out of
the gate.
On May 29, 2021, GitHub @.***> wrote:

Hey folks, I just replied to @samueldr https://github.com/samueldr
(I assume, based on the avatar) over on the Oracle Cloud forum. I'm a
member of the Oracle Cloud Developer Adoption team as well as one of
Oracle's GitHub admins. I'm more than happy to be your official tour
guide to OCI and make sure you have the right tools and contacts to
get NixOS published to our Marketplace.
The first thing I'll mention is that upgrading your free trial account
to pay-as-you-go is (ironically) one of the requirements to activate
the Always Free resources, which will then increase your custom image
count back up to 25. You will not be charged for any resources that
qualify for Always Free, and those that do will have an "Always Free"
tag visible in the Console.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/119856#issuecomment-850923986,
or unsubscribe <https://github.com/notifications/unsubscribe-
auth/AAASXLEEQZQ2CO6MVFRVWRTTQGHW3ANCNFSM43FSFLTA>.

It's both useful and possible to publish NixOS images to the Oracle Cloud Marketplace. This will make it available to all Oracle Cloud users via the Create Instance dialog on the Console, as well as via the API or SDK.

Using kexec via https://github.com/cleverca22/nix-tests/blob/master/kexec/session.md worked for me to get into a live system. Unfortunately it rebooted into the EFI shell after a while. I terminated the previous instance and created a new one and disabled the cloud agent in the instance configuration. I assume it works like a watchdog, so remember to disable it if you try that.

For aarch64, can we use systemd-boot as the bootloader? On boot, GRUB gives me the following error:
file `/boot/grub/arm64-efi/efi_uga.mod' not found.

It boots, but it's not possible to select the system generation through the serial console. systemd-boot seems to work fine from my testing.

@zhaofengli in theory yes. In practice last I tried our systemd-boot tooling failed on AArch64.
Though what should be done, instead or in addition, is fix the GRUB issue. It goes a bit more deeply than that specific warning/error. Serial vs. graphical GRUB are not working correctly with the current configuration, and I haven't looked at the actual underlying issue.

@zhaofengli in theory yes. In practice last I tried our systemd-boot tooling failed on AArch64.

I tried and it worked fine, though I ran bootctl install instead of NIXOS_INSTALL_BOOTLOADER=1. Can't reboot right now but I'd guess the normal way should also work.

Though what should be done, instead or in addition, is fix the GRUB issue. It goes a bit more deeply than that specific warning/error. Serial vs. graphical GRUB are not working correctly with the current configuration, and I haven't looked at the actual underlying issue.

I think it's fixable by simply removing insmod efi_uga from nixos/modules/system/boot/loader/grub/install-grub.pl for aarch64 and other platforms on which it isn't built. UGA was removed in UEFI in favor of GOP, but it's still in use on EFI 1.x platforms (e.g., some Apple devices).

Though I'm 99% sure this is not the reason you don't see the graphical menu with GRUB. So yes, it probably should be removed, but I expect it will change nothing.

Maybe we could rewrite the scripts to Python instead of bash? Python has more API access and better controls than the CLI.

In case someone wonders, this PR still works quite well (14 months after the latest contribution).

I've rebased the branch with latest release-22.05, without conflicts;
Configured my ~/.oci using OpenSSL commands provided in Oracle's documentation;
Ran ./create-image.sh aarch64-linux, it created the file without problems;
Ran ./update-image.sh, it automatically uploaded the file, created a temporary bucket, transformed the file in a custom image, as expected;
Then it asked me to change the shape compatibility in a link, I've also used the chance to change the boot capability to only-UEFI (tried with BIOS in an earlier attempt, and it didn't boot);
Meanwhile, the script took it time but deleted the file and bucket without destroying the custom image;
Created an instance from it: new virtual network and new subnet, disabled all OS management plugins, and added my keys by uploading their .pub files;
Once I had the public IP, I logged through SSH using the root user and one of the private keys.

Are you guys still interested in merging it?

Will love to see this merged!

I've been using the oci-common.nix module for a few months now. Working really well!

I also would love to see this merged.
Hi @puffnfresh. By any chance, are you using Oracle's ARM VPS? If yes, didn't you cross-compile the image for "aarch64-linux" on a "x86_64-linux" machine? I'm asking because I tried to copy the modules of this PR and then to cross-build an image, but I get the error:
error: a 'aarch64-linux' with features {} is required to build '/nix/store/8ifcgasp770hf6ffc98kz3wrn23bcspc-nixos-enter.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, kvm, nixos-test}

If you did something similar, I would really appreciate some suggestions. Thanks!

@chenlijun99 I probably did, can't remember. I do have access to a few arm64 systems so I might have just compiled the image from there.
It looks like you're not actually cross-compiling. You probably want to set system to x86_64-linux and then set nixpkgs.crossSystem.

Rebased this PR and did a bunch of fixes:

Use set -euo pipefail in the scripts, so if they fail for any reason the script will stop instead of continuing
Remove deprecated options
Always use EFI by default, because this is how most images are configured in OCI nowadays. There is still the option to use BIOS if you want
Set networking.useNetworkd = true, because otherwise the fetch-ssh-key.service would fail for me, resulting in a VM without the proper SSH keys

I think this should fix most of the basic issues in this PR. Tested and it is working fine in my personal account.
There is a few outstanding other issues, but I think we could merge this PR as-is and work on then in the future, since this PR already has some value as-is (e.g.: people wanting to play with NixOS in Oracle Cloud, specially because of their generous Always Free tier).

Code looks fine, unfortunately I can't test it because of trade embargo.

I did 2 tests:

Booting the generated x86_64-linux image in the VM.Standard.E2.1.Micro instance
Booting the generated aarch64-linux image in the VM.Standard.A1.Flex instance

Both took a while to be reachable through SSH (a few minutes VS a few seconds in the official images from OCI), but they work well enough to give most people a start point.
While most people are probably more interested in the aarch64-linux images, I have had more success using the Kexec tarballs from nixos-anywhere (contrary on what the README says, you can use those images like a Live environment without nixos-anywhere). I also tested nixos-anywhere itself and it works fine, and probably my recommended way if you want to do so.
However, for the VM.Standard.E2.1.Micro the Kexec is simply too big to work, so this image still makes sense for those cases. Keep in mind that the 1GB of RAM restriction really hurts most NixOS setups, and you will need probably need to setup some swap space to make anything build in this environment.

Going to merge this. Future fixes can go after merging it.

Does anyone have a simple step by step tutorial on how to use this?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/looking-for-instructions-on-how-to-build-nixos-for-oci-cloud-images/40217/1


lock with isCheckLockSyncedSlaves() (WAIT)

Hello i am want use lock with 'isCheckLockSyncedSlaves()' options that add WAIT and check replied slaves, but why in only ( getReadMode() == ReadMode.MASTER && getSubscriptionMode() == SubscriptionMode.MASTER), i use redis with replics but want read only from master. Can do feature or fix for work in MASTER mode ?

CommandAsyncService.java
   @Override
    public <T> RFuture<T> syncedEval(String key, Codec codec, RedisCommand<T> evalCommandType, String script, List<Object> keys, Object... params) {
        CompletionStage<Map<String, String>> replicationFuture = CompletableFuture.completedFuture(Collections.emptyMap());
        if (!getServiceManager().getConfig().isSlaveNotUsed()) {
            replicationFuture = writeAsync(key, RedisCommands.INFO_REPLICATION);
...<skip>...

In the case of three servers, when I set locks with the isCheckLockSyncedSlaves() option, then after the write command(lock) and the wait command will return the number of responded replicas.
If we have at least one responded replica, then at least two (master, slave) servers are alive.

But if:

Master send data to two replics
One replica answer.
Master return us WAIT answer reply slave = 1.
Master is crash.
Two replics electing new master.
Replica without our lock become new master.
New master synchronize with second replica with setted our lock, and erase it.
We acquired lock, but in redis it not present.

How to be in this situation ? Check lock variable in redis after set lock ?

Done. Thanks for pointing out.

@mrniko What about second question ? Do you know any resolution ?
P.S: Thank for add feature.

Did you try to add a delay?


Fix for Python 2.6

Python 2.6 does not offer the non-empty set shortcut statement with {}, which was introduced in Python 2.7: "As of Python 2.7, non-empty sets (not frozensets) can be created by placing a comma-separated list of elements within braces, for example: {'jack', 'sjoerd'}, in addition to the set constructor."
Unfortunately, Python 2.6 is still the default on RHEL6 systems.

Ideally we'd catch this bug automatically by updating tox.ini and .travis.yml to test on python 2.6.
If you fancy adding the automation too, https://github.com/willthames/ansible-inventory-grapher/blob/master/.travis.yml (and tox.ini in the same directory) show what I did to get python 3.6 working and 2.6 would be very similar, but I'm happy enough to merge this as is, just let me know.

Sorry, I'm not experienced with Travis CI, so I don't know what I have to configure in detail. It would be more like try and error. Probably I can work on it in the future.
For the moment, I think a merge would be fine.

I just want to ask, if there is still something to do from my side?

Sorry, no, this is all fine :)


runTransactionBlock works wrong in offline mode

[READ] Step 1: Are you in the right place?
Not sure
[REQUIRED] Step 2: Describe your environment
Xcode version: 8.3.2
Firebase SDK version: 4.0.0
Library version: 4.0.0
Firebase Product: database
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
initial count value in database is 0
application started and wifi connection is switched off
application performs two calls to runTransactionBlock which increases counter by 1. database value is still 0 as expected
it works fine locally
now wifi connection is switched on
runTransaction successfully committed two values, but database value equals to 1
EXPECTED: database value should be equal to 2
please note that if runTransactionBlock called in offline 7 times than server value is 6 instead of 7.
Relevant Code:
        self.ref.child("values/contributed").runTransactionBlock({ (data) -> TransactionResult in
            if let value = data.value as? Int {
                debugPrint("FB BEFORE \(data)")
                data.value = value + 1
                debugPrint("FB AFTER \(data)")
                return .success(withValue: data)
            } else {
                data.value = 1
                debugPrint("FB EMPTY \(data)")
                return .success(withValue: data)
            }
        }) { (error, commited, snapshot) in
            if let error = error {
                debugPrint("FB ERROR: \(error)")
            } else {
                debugPrint("FB COMMITTED \(snapshot)")
            }
        }

offline output:
"FB BEFORE FIRMutableData (top-most transaction) (null) 0"
"FB AFTER FIRMutableData (top-most transaction) (null) 1"
"FB BEFORE FIRMutableData (top-most transaction) (null) 1"
"FB AFTER FIRMutableData (top-most transaction) (null) 2"
online output:
"FB BEFORE FIRMutableData (top-most transaction) (null) 0"
"FB AFTER FIRMutableData (top-most transaction) (null) 1"
"FB COMMITTED Optional(Snap (contributed) 1)"
"FB COMMITTED Optional(Snap (contributed) 1)"

Any comments? By they way it seems the same behavior on FirebaseDatabase version 3.1.2.

Can you tell us how you are running the transactions multiple times? Do you wait for the transactions to complete before running them again?
It would also help to get debug output from your app. As one of the first lines in your app, please set "Database.setLoggingEnabled(true)". You also need to pass -FIRDebugEnabled to your app to make the logs appear.

Yes, application runs multiple transactions one after another. And no, application doesn't wait for transaction completion before running the next one because it's called only in online mode. Do you mean that it's not possible to use multiple runTransactionBlock in offline? I didn't see such limitations in the documentation but maybe I have missed that. I will try to send log a little bit later.

Yes, application runs multiple transactions one after another. And no, application doesn't wait for transaction completion before running the next one because it's called only in online mode. Do you mean that it's not possible to use multiple runTransactionBlock in offline? I didn't see such limitations in the documentation but maybe I have missed that. I will try to send log a little bit later.

You can use multiple transactions when offline, but it changes the way we run them and if there is a race on the same database location, some transactions can get cancelled. I will be able to tell what's going on from the logs.

@schmidt-sebastian It's strange but I cannot reproduce it now, maybe it was my mistake somewhere. So the issue can be closed at least for now.

Thanks for following up @ab-rdarts. If this issue resurfaces in the future, please reopen this ticket.

It's strange but I have the same problem with transaction during online
I've tried to add four times 100 to /jars/zv8qmAJ1IKPEQZkOUb0HNz52dB13/values/contributed
As a result I see 300 instead of 400, though I see 4 successful commits
log.txt

@schmidt-sebastian any comments about attached log?

Closing this due to inactivity. Please re-open if this is still an issue.


TBB test_fork_from_non_main_thread failing intermittently

Reporting a bug

[x] I have tried using the latest released version of Numba (most recent is
visible in the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[x] I have included a self contained code sample to reproduce the problem.
i.e. it's possible to run as 'python bug.py'.

Current HEAD 432588b of mainline is failing with:
Traceback (most recent call last):
  File "/home/vsts/work/1/s/numba/tests/test_parallel_backend.py", line 921, in test_fork_from_non_main_thread
    self.assertIn(msg_head, err)
AssertionError: 'Attempted to fork from a non-main thread, the TBB library' not found in ''

CC @Hardcode84

I saw this couple of times locally, but I never managed to find actual reason.
My theory, that something along objmode lines https://github.com/numba/numba/blob/master/numba/tests/test_parallel_backend.py#L891 sometimes cause python interpreter to create new processes, which will trigger fork check which will properly terminate TBB so next fork check will never get triggered.

This:
./runtests.py numba.tests.test_parallel_backend.TestTBBSpecificIssues.test_fork_from_non_main_thread -v

fails consistently on https://github.com/numba/numba/pull/6854 and HEAD of mainline (432588b). Not sure why nothing triggered it previously.
I've also checked Numba 0.52 (uses TBB < 2021) against running the reproducing code:
https://github.com/numba/numba/blob/432588b0dc3c3bf9059f0310cb417366b9875b26/numba/tests/test_parallel_backend.py#L870-L914
and it produces the expected message.

@Hardcode84 your theory is correct :)
This line:
https://github.com/numba/numba/blob/432588b0dc3c3bf9059f0310cb417366b9875b26/numba/core/dispatcher.py#L734
is hit via:
  <path>/numba/numba/core/lowering.py(794)_lower_call_ObjModeDispatcher()
-> callee = ObjModeUtils(self.pyapi).load_dispatcher(fnty, argtypes)
  <path>/numba/numba/core/pythonapi.py(1636)load_dispatcher()
-> if serialize.is_serialiable(fnty.dispatcher):
  <path>/numba/numba/core/serialize.py(267)is_serialiable()
-> pickler.dump(obj)
  <path>/numba/numba/core/serialize.py(417)__reduce__()
-> return custom_reduce(self._reduce_class(), self._reduce_states())
  <path>/numba/numba/core/dispatcher.py(1031)_reduce_states()
-> uuid=self._uuid, func_ir=self.func_ir, flags=self.flags,
  <path>/numba/numba/core/dispatcher.py(734)_uuid()
-> u = str(uuid.uuid1())
  <pypath>/lib/python3.8/uuid.py(741)uuid1()
-> _load_system_functions()
  <pypath>/lib/python3.8/uuid.py(607)_load_system_functions()
-> lib = ctypes.CDLL(ctypes.util.find_library(libname))
  <pypath>/lib/python3.8/ctypes/util.py(324)find_library()
-> so_name = _get_soname(_findLib_prefix(name)) or name
  <pypath>/lib/python3.8/ctypes/util.py(169)_get_soname()
-> proc = subprocess.Popen((objdump, '-p', '-j', '.dynamic', f),
  <pypath>/lib/python3.8/subprocess.py(854)__init__()
-> self._execute_child(args, executable, preexec_fn, close_fds,
> <pypath>/lib/python3.8/subprocess.py(1638)_execute_child()
-> self.pid = _posixsubprocess.fork_exec()

note the fork at top of stack.
Result is that there's a fork completing during compilation of the function due to the objmode dispatcher being serialized and so the test is failing as suggested.


[AutoPR sql/resource-manager] Add Swagger for Short Term Retention Policies

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2860

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/1644


docs: refresh readmes

Issue # (if applicable)
Closes https://github.com/awslabs/sbt-aws/issues/42
Reason for this change

Description of changes
Refreshed the READMEs to reflect some important updates.
Description of how you validated changes

Checklist

[x] My code adheres to the CONTRIBUTING GUIDE

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

In line 55 of docs/public/marketplace-integration.md, change pricingModel: AWSMarketplaceSaaSPricingModel.CONTRACTS_WITH_SUBSCRIPTION,  to sbt.pricingModel: AWSMarketplaceSaaSPricingModel.CONTRACTS_WITH_SUBSCRIPTION,

In line 55 of docs/public/marketplace-integration.md, change pricingModel: AWSMarketplaceSaaSPricingModel.CONTRACTS_WITH_SUBSCRIPTION, to pricingModel: sbt.AWSMarketplaceSaaSPricingModel.CONTRACTS_WITH_SUBSCRIPTION,

Fixed. Thanks!


No apps available to select

Hi
I am starting the app python appmon.py -p "android" -a "packagename" -s "scripts/Android/" -o "test/" (note i have removed the app name for packagename)
I can correctly see the dump in the terminal
[Dec 02 2016  4:57 PM] Dumped to test/packagename.db
I can correctly see the db file downloaded and i can open it, but going to localhost:5000, when i click in select app button, there is no app there to choose
If i go to next screen without selecting the app, it fails as the tables are empty
Any idea what could be the problem?
Thanks

Hi,
Could you check which version that you used? You have to run it using python2.
Did you check using the command like this :
python appmon.py -p android -s scripts/Android/ -a packagename
From my side, I have to run the previous command and then run the application packagename manually, and then it will appear on the list, if not try to refresh several times. I've checked with the last version and it is working with like 4 differents application.
Thanks,

Thanks @max01203


(maint) Add Chocolatey Community Validation Extension to build script

Description
Recently a extension package that extends the validation rules used in Chocolatey CLI was introduced, as such we should start making use of this package when updating packages to be pushed to the Chocolatey Community Repository.
Motivation and Context
We should go forward as an example of what do use, and ensure that we attempt to not push packages that will error out on the Package Validator when possible.
How Has this Been Tested?

Install the chocolatey-community-validation.extension package (currently not approved, and requires specifiying version 0.1.0).
Run the update_all script using a specific package (might want to add the same package as a forced package).
Verify that it either succeeded, or exited with an exit code of 1 (more information would be in one of the build artifacts).

Screenshot (if appropriate, usually isn't needed):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this usually means the notes in the description of a package).
[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[ ] I have updated the package description and it is less than 4000 characters.
[x] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the Chocolatey Test Environment(https://github.com/chocolatey-community/chocolatey-test-environment/). Note that we don't support the use of any other environment.
[ ] The changes only affect a single package (not including meta package).

:white_check_mark: Package verification completed without issues. PR is now pending human review

This is great.
A note that, on my system at least, AU doesn't seem to expose anything more than "choco pack failed with exit code 1", which may add a little mystery to the failures. It's clear when directly running choco pack, but AU isn't bubbling any of the rules output for now. We can try and get that sorted - but it'll need changes in AU, in any case, so no sense delaying this.


Update proc-macro2 for rocket 0.5

Currently, using both sailfish and rocket's latest 0.5 release results in a version conflict because of proc-macro2. This temporarily resolves it.

fixed in v0.3.4


Add TranslationSet entries for various interior nodes

We've mostly assumed that TranslationSets don't need to include interior nodes.  However, some config validation can already generate report entries pointing to interior nodes, and there's no reason that shouldn't happen in general, so we need a TranslationSet that's as comprehensive as possible.  This will be especially true once we reparent the output config within another struct, since in that case the automatic fallback to a 1:1 mapping from input to output paths will no longer be useful.
This PR fixes many of the cases, but there's some followup work remaining:

Ignition merge transcripts don't report the sources of structs which are combinations of parent and child, and we can't re-derive that information in the caller.  Ignition should be able to report the parent and child paths for a merged struct, but that requires an API change.
Call DebugVerifyCoverage() in more tests.
Consider dropping the automatic 1:1 fallback.

Updated to vendor https://github.com/coreos/ignition/pull/1166.  Ready for review.


how to show only opened apps in the current workspace in wlr/taskbar?

wlr/taskbar shows all open applications regardless of the current workspace I'm using

This would still help me a lot! I fear it is still not possible?

I am also interested in this for Sway in particular.

This might be of relevance: https://github.com/LBCrion/sfwbar/issues/107#issuecomment-1676439293

At the moment,  this feature requires a separate
ipc, such as those provided by sway or hyprland.

So this would be possible but only for compositor with their own IPC, and it would have to be implemented per compositor and not generically until either wayland or wlroots come up with a standard for handling workspaces.
basically; this is feasible on sway and hyprland, but not on labwc, wayfire, etc.

This might be of relevance: LBCrion/sfwbar#107 (comment)

At the moment,  this feature requires a separate
ipc, such as those provided by sway or hyprland.

So this would be possible but only for compositor with their own IPC, and it would have to be implemented per compositor and not generically until either wayland or wlroots come up with a standard for handling workspaces.
basically; this is feasible on sway and hyprland, but not on labwc, wayfire, etc.

What if we're on sway or hyprland? is there a sway or hyprland specific version of wlr/taskbar that can do it?


Text for Code View should be in camel case in designer

Describe the Bug with repro steps

Create a logic app.
Create a stateful/stateless workflow and open the desigenr
Text for Code View should be in camel case .

Actual: Text for Code View is not in camel case
What type of Logic App Is this happening in?
Standard (Portal)
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos

Browser
Edge
Additional context
Version: 2.40813.1.2

No it shouldn't, the actual bug here is that "Stream" in "Log Stream" should not be upper case

Thank you for the clarification travis @hartra344

Issue repro in the latest request. Log Stream should not be in Camel Case.
Version : 2.40826.1.3

Issue repro in the latest request. Log Stream, Run History, Access Keys,Cancel Run should not be in Camel Case.
Version: 0.2022.1.764

This will be fixed in upcoming releases


Multiple meshes - No indices

Storing multiple meshes in one glTF without indices and loading it in Cesium results in an error. Only the first mesh shows up. While debugging Cesium, I can see that multiple meshes are loaded and this error message occurs while rendering:
[.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glDrawArrays: attempt to access out of range vertices in attribute 1
When debugging Cesium in Context.js line 934 [context._gl.drawArrays(primitiveType, offset, count);] a different offset is used than defined in the glTF file.
In the example (testMulti.zip) three Cubes are saved, but when loading the file only the first one is rendered.
I already posted an issue in the glTF repo (https://github.com/KhronosGroup/glTF/issues/694), but it seems that the model or the glTF spec is not the problem.

Thanks for the detailed report, @konashredbiker.
@lasalvavida can you please look at this after the glTF 1.0.1 updates?

Could this be labeled as "bug bash" so someone can take a look at this issue?

Hi @konashredbiker,  we've labeled this issue for the bug bash.  It might be a little larger scope than we can get to during the event, but this will at least put it on our radar to look into it soon if we can't get to it then.  Thanks!


Make IndexedIdentifier an Expression

Summary
This makes the AST IndexedIdentifier a subclass of Expression.
Details and comments
IndexedIdentifier are lvalue expressions (can be used on the left-hand side of an assignment) like a[{1, 2, 3}][0:1, 0:1].  There is no apparent reason for this to not subclass Expression.
It's worth noting what this PR does not change: the grammar. The grammar has an expression rule which does not include indexedIdentifier. However, the AST class hierarchy is already not 1-1 with the grammar (e.g. ArrayLiteral is an Expression in the AST but not part of the expression rule in the grammar), and I think this is fine. Grammars deal with concrete syntax & must satisfy certain constraints (e.g. for ANTLR) that are not relevant at the AST level.

I think this may run the risk of making the AST harder to consume - there's already an r-value representation of general indexing in IndexExpression, which does subclass Expression.  To me, adding this seems to give another way for the same valid OpenQASM 3 program to parse into two different AST representations, which I think we should try and minimise (not sure if it's possible to entirely eliminate).  If I were thinking in a more dynamic-language perspective (e.g. Python or Ruby) where assignment can be done to a general expression, the subclass would make a lot of sense, but OQ3 is far more restrictive so having a grammar/AST-level l-value/r-value split in these does seem reasonable to me.
What benefits do you have in mind for making it subclass?
(As a historical note: where there's particular weirdnesses in the AST, they often have their root in the older version of the ANTLR grammar, before we did a complete rewrite in #351.  That's not to say we should keep them around if they're actively harmful, I mostly just bring it up for reference.  The old grammar used to try and enforce a lot of semantic restrictions in the ANTLR-generated components, and one of the aims of the rewrite was to push more semantic concerns into custom human-written analysis passes.)

There's no particular motivation for this PR beyond noticing that the current AST hierarchy makes some type relations nonobvious (e.g. I would have naively guessed that an lvalue is a valid Expression, as this is how these things often work). Still, I am sympathetic to your concerns about downstream impact, since this would be a breaking change. It's not something I feel particularly strongly about, so I will withdraw the PR.


Can't turn off live

It is off they are not live on the website but the button makes them look like they are live

Fixed with https://github.com/LiveChurchSolutions/LessonsApp/commit/0ffb2686b12f58aa8b18efbab2c3a9cb23ab97d9


UnicodeEncodeError: 'charmap' codec can't encode character '\xfc' in position 91: character maps to

I get two errors when automatically signing images.  It will be set to True by default. This behavior will be depracted in transformers v4.45, and will be then set to False by default. For more details check this issue: https://github.com/huggingface/transformers/issues/31884
warnings.warn(
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[-2.1016, -2.1016, -2.1016,  ...,  1.6836,  1.6836,  1.6836],
[-2.1016, -2.1016, -2.1016,  ...,  1.6836,  1.6836,  1.6836],
[-2.0840, -2.0840, -2.0840,  ...,  1.6836,  1.6836,  1.6836],
...,
[ 1.6836,  1.6836,  1.6836,  ...,  1.7012,  1.7012,  1.7012],
[ 1.6836,  1.6836,  1.6836,  ...,  1.7012,  1.7012,  1.7012],
[ 1.6836,  1.6836,  1.6836,  ...,  1.7012,  1.7012,  1.7012]],
     [[-2.0176, -2.0176, -2.0176,  ...,  1.8506,  1.8506,  1.8506],
      [-2.0176, -2.0176, -2.0176,  ...,  1.8506,  1.8506,  1.8506],
      [-2.0000, -2.0000, -2.0000,  ...,  1.8506,  1.8506,  1.8506],
      ...,
      [ 1.8506,  1.8506,  1.8506,  ...,  1.8682,  1.8682,  1.8682],
      [ 1.8506,  1.8506,  1.8506,  ...,  1.8682,  1.8682,  1.8682],
      [ 1.8506,  1.8506,  1.8506,  ...,  1.8682,  1.8682,  1.8682]],

     [[-1.7871, -1.7871, -1.7871,  ...,  2.0645,  2.0645,  2.0645],
      [-1.7871, -1.7871, -1.7871,  ...,  2.0645,  2.0645,  2.0645],
      [-1.7695, -1.7695, -1.7695,  ...,  2.0645,  2.0645,  2.0645],
      ...,
      [ 2.0645,  2.0645,  2.0645,  ...,  2.0820,  2.0820,  2.0820],
      [ 2.0645,  2.0645,  2.0645,  ...,  2.0820,  2.0820,  2.0820],
      [ 2.0645,  2.0645,  2.0645,  ...,  2.0820,  2.0820,  2.0820]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10, 11566,    13,     5,  8976,
35890,  2751,  2009,   954,     6,  4246,    10, 11577,     8, 14128,
1521,    19,  7457,  2788,     8,  1530,     4,    20, 11566,    16,
3820,    19,    10,  3143,     9,  8089,     6,   217, 15629,     6,
16543,     6, 28930,  2176,     6,     8, 37027,     6,     8,     5,
2788,    16,  1982,    11,    10,  2297, 28716,     4,    20,  1521,
16,  2295,    12, 24882,     8, 13869,     6,   442,    24,    41,
3571,     8,  3571,   515,     4,     2]], device='cuda:0')
generated_text: The image shows a poster for the Yeah Indie Rock Club 2019, featuring a vibrant and colorful design with bold text and numbers. The poster is filled with a variety of colors, including blues, greens, yellows, and oranges, and the text is written in a modern font. The design is eye-catching and inviting, making it an exciting and exciting event.
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a poster for the Yeah Indie Rock Club 2019, featuring a vibrantand colorful design with bold text and numbers. The poster is filled with a variety of colors, including blues, greens,yellows, and oranges, and the text is written in a modern font. The design is eye-catching and inviting, making it an exciting and exciting event.'}
caption_text = a poster for the Yeah Indie Rock Club 2019, featuring a vibrant and colorful design with bold text and numbers. The poster is filled with a variety of colors, including blues, greens, yellows, and oranges, and the text is written in a modern font. The design is eye-catching and inviting, making it an exciting and exciting event., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
...,
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480]],
     [[2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      ...,
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277]],

     [[2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      ...,
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10, 11566,    19,    10,  1104,
3618,     8,    10,  1275,   516,   878,   149,    24,     4,    20,
2788,    15,     5, 11566,  7005,    22,  7605,  6508,    19,   840,
8807,   845,     2]], device='cuda:0')
generated_text: The image shows a poster with a white background and a red line running through it. The text on the poster reads "From Poland with Shorts".
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a poster with a white background and a red line running throughit. The text on the poster reads "From Poland with Shorts".'}
caption_text = a poster with a white background and a red line running through it. The text on the poster reads "From Poland with Shorts"., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
...,
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480],
[2.2480, 2.2480, 2.2480,  ..., 2.2480, 2.2480, 2.2480]],
     [[2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      ...,
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277],
      [2.4277, 2.4277, 2.4277,  ..., 2.4277, 2.4277, 2.4277]],

     [[2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      ...,
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406],
      [2.6406, 2.6406, 2.6406,  ..., 2.6406, 2.6406, 2.6406]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10,   909,     8,  1104, 11566,
19,    10,  3428,  1521,    15,    24,     4,    20, 11566,    34,
2788,  1982,    15,    24,     6,   533,  9072,     5,  1521,     9,
5,  3428,     4,    20,  3428,  1521,    16,  2007,   648,  2295,
12, 24882,     6,    19,    10, 26183,   124,  7110,     8,  3124,
7110,    29,     6,     8,   237,  5856,     4,    20,  2788,    16,
1982,    11,    10,  7457, 28716,     6,   442,    24,  1413,    66,
136,     5,  1104,  3618,     4,     2]], device='cuda:0')
generated_text: The image shows a black and white poster with a chair design on it. The poster has text written on it, likely describing the design of the chair. The chair design is simple yet eye-catching, with a curved backrest and armrests, and four legs. The text is written in a bold font, making it stand out against the white background.
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a black and white poster with a chair design on it. The poster has text written on it, likely describing the design of the chair. The chair design is simple yet eye-catching, with a curved backrest and armrests, and four legs. The text is written in a bold font, making it stand out against the white background.'}
caption_text = a black and white poster with a chair design on it. The poster has text written on it, likely describingthe design of the chair. The chair design is simple yet eye-catching, with a curved backrest and armrests, and four legs. The text is written in a bold font, making it stand out against the white background., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[ 1.3242,  1.3066,  1.2725,  ...,  1.0674,  1.1699,  1.2900],
[ 0.6562,  0.6562,  0.6733,  ...,  0.3652,  0.4680,  0.5879],
[ 0.6221,  0.6392,  0.6562,  ...,  0.4851,  0.6050,  0.7246],
...,
[ 1.0332,  1.0156,  1.0156,  ..., -1.7070, -1.4668, -1.0908],
[ 1.0332,  1.0156,  1.0156,  ..., -1.6553, -1.4502, -1.1074],
[ 1.0156,  1.0156,  1.0156,  ..., -1.6211, -1.4326, -1.1074]],
     [[ 1.4834,  1.4658,  1.4307,  ...,  1.2207,  1.3252,  1.4482],
      [ 0.8003,  0.8003,  0.8179,  ...,  0.5029,  0.6079,  0.7305],
      [ 0.7656,  0.7827,  0.8003,  ...,  0.6255,  0.7480,  0.8706],
      ...,
      [ 1.1855,  1.1680,  1.1680,  ..., -1.6152, -1.3701, -0.9854],
      [ 1.1855,  1.1680,  1.1680,  ..., -1.5635, -1.3525, -1.0029],
      [ 1.1680,  1.1680,  1.1680,  ..., -1.5283, -1.3350, -1.0029]],

     [[ 1.6992,  1.6816,  1.6465,  ...,  1.4375,  1.5420,  1.6641],
      [ 1.0195,  1.0195,  1.0361,  ...,  0.7227,  0.8271,  0.9492],
      [ 0.9844,  1.0020,  1.0195,  ...,  0.8447,  0.9668,  1.0889],
      ...,
      [ 1.4023,  1.3848,  1.3848,  ..., -1.3857, -1.1426, -0.7588],
      [ 1.4023,  1.3848,  1.3848,  ..., -1.3340, -1.1250, -0.7759],
      [ 1.3848,  1.3848,  1.3848,  ..., -1.2988, -1.1074, -0.7759]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10,   909,     8,  1104,  1345,
9,    10,   313,    11,    10,  3235,     8,  3318,     6,  1826,
10,  8669,     4,    20,  2788,    15,     5,  2274,  7005,    22,
39249,  7871,   111,  1308, 25455, 10039,  1464,   520,    38,  6871,
155,   845,     2]], device='cuda:0')
generated_text: The image shows a black and white photo of a man in a suit and tie, holding a guitar. The text on the image reads "Johnny Cash - My Daddy Left Me When I Was 3".
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a black and white photo of a man in a suit and tie, holding a guitar. The text on the image reads "Johnny Cash - My Daddy Left Me When I Was 3".'}
caption_text = a black and white photo of a man in a suit and tie, holding a guitar. The text on the image reads "Johnny Cash - My Daddy Left Me When I Was 3"., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[1.8203, 1.7861, 1.7354,  ..., 1.7520, 1.7520, 1.7520],
[1.8203, 1.7861, 1.7354,  ..., 1.7520, 1.7520, 1.7520],
[1.8203, 1.7861, 1.7354,  ..., 1.7520, 1.7520, 1.7520],
...,
[1.7861, 1.7861, 1.7520,  ..., 1.7861, 1.7861, 1.7861],
[1.7520, 1.7178, 1.6836,  ..., 1.7178, 1.7178, 1.7178],
[1.9238, 1.8896, 1.8555,  ..., 1.8896, 1.8896, 1.8896]],
     [[1.6758, 1.6406, 1.5879,  ..., 1.6055, 1.6055, 1.6055],
      [1.6758, 1.6406, 1.5879,  ..., 1.6055, 1.6055, 1.6055],
      [1.6758, 1.6406, 1.5879,  ..., 1.6055, 1.6055, 1.6055],
      ...,
      [1.6406, 1.6406, 1.6055,  ..., 1.6406, 1.6406, 1.6406],
      [1.6055, 1.5703, 1.5361,  ..., 1.5703, 1.5703, 1.5703],
      [1.7812, 1.7461, 1.7109,  ..., 1.7461, 1.7461, 1.7461]],

     [[1.4727, 1.4375, 1.3848,  ..., 1.4023, 1.4023, 1.4023],
      [1.4727, 1.4375, 1.3848,  ..., 1.4023, 1.4023, 1.4023],
      [1.4727, 1.4375, 1.3848,  ..., 1.4023, 1.4023, 1.4023],
      ...,
      [1.4375, 1.4375, 1.4023,  ..., 1.4375, 1.4375, 1.4375],
      [1.4023, 1.3672, 1.3330,  ..., 1.3672, 1.3672, 1.3672],
      [1.5771, 1.5420, 1.5068,  ..., 1.5420, 1.5420, 1.5420]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10,    28,  7876, 11566,    19,
909,  2301,     8,     5,  1617,    22, 13562, 36645,   113,  1982,
15,    24,     6,  2351,    10,  5690,  5709,   227,     5,    80,
8089,     4,     2]], device='cuda:0')
generated_text: The image shows a beige poster with black lines and the words "horizons" written on it, creatinga striking contrast between the two colors.
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a beige poster with black lines and the words "horizons" written on it, creating a striking contrast between the two colors.'}
caption_text = a beige poster with black lines and the words "horizons" written on it, creating a striking contrast between the two colors., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[-1.2959, -1.2959, -1.2959,  ..., -1.2783, -1.2783, -1.2783],
[-1.2959, -1.2959, -1.2959,  ..., -1.2783, -1.2783, -1.2783],
[-1.2959, -1.2959, -1.2959,  ..., -1.2783, -1.2783, -1.2783],
...,
[-1.2783, -1.2783, -1.2783,  ..., -1.2783, -1.2783, -1.2783],
[-1.2783, -1.2783, -1.2783,  ..., -1.2783, -1.2783, -1.2783],
[-1.2783, -1.2783, -1.2783,  ..., -1.2783, -1.2783, -1.2783]],
     [[-1.1250, -1.1250, -1.1250,  ..., -1.1074, -1.1074, -1.1074],
      [-1.1250, -1.1250, -1.1250,  ..., -1.1074, -1.1074, -1.1074],
      [-1.1250, -1.1250, -1.1250,  ..., -1.1074, -1.1074, -1.1074],
      ...,
      [-1.1074, -1.1074, -1.1074,  ..., -1.1074, -1.1074, -1.1074],
      [-1.1074, -1.1074, -1.1074,  ..., -1.1074, -1.1074, -1.1074],
      [-1.1074, -1.1074, -1.1074,  ..., -1.1074, -1.1074, -1.1074]],

     [[ 0.3916,  0.3916,  0.3916,  ...,  0.4092,  0.4092,  0.4092],
      [ 0.3916,  0.3916,  0.3916,  ...,  0.4092,  0.4092,  0.4092],
      [ 0.3916,  0.3916,  0.3916,  ...,  0.4092,  0.4092,  0.4092],
      ...,
      [ 0.4092,  0.4092,  0.4092,  ...,  0.4092,  0.4092,  0.4092],
      [ 0.4092,  0.4092,  0.4092,  ...,  0.4092,  0.4092,  0.4092],
      [ 0.4092,  0.4092,  0.4092,  ...,  0.4092,  0.4092,  0.4092]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10,  2440, 11566,    19,  5718,
5430, 24684,    66,     5,  2136,    22,    90,  1242,   113,    15,
24,     6,  1412,    30,   221,     4,   104,     4,  2954, 27980,
4,    20, 11566,    16, 14092,     9,    10,  2440,  3618,    19,
1104,  2788,     6,  2351,    10,  5690,  5709,     4,     2]],
device='cuda:0')
generated_text: The image shows a blue poster with yellow letters spelling out the word "tot" on it, created by P.S. Erickson. The poster is composed of a blue background with white text, creating a striking contrast.
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a blue poster with yellow letters spelling out the word "tot" on it, created by P.S. Erickson. The poster is composed of a blue background with white text, creating a striking contrast.'}
caption_text = a blue poster with yellow letters spelling out the word "tot" on it, created by P.S. Erickson. The poster is composed of a blue background with white text, creating a striking contrast., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[1.6152, 1.6152, 1.6152,  ..., 1.5811, 1.5811, 1.5811],
[1.6152, 1.6152, 1.6152,  ..., 1.6152, 1.6152, 1.6152],
[1.6152, 1.6152, 1.6152,  ..., 1.6494, 1.6494, 1.6494],
...,
[1.6152, 1.6328, 1.6328,  ..., 1.6494, 1.6494, 1.6494],
[1.6152, 1.6328, 1.6328,  ..., 1.6494, 1.6494, 1.6494],
[1.6152, 1.6328, 1.6328,  ..., 1.6494, 1.6494, 1.6494]],
     [[1.7637, 1.7637, 1.7637,  ..., 1.7285, 1.7285, 1.7285],
      [1.7637, 1.7637, 1.7637,  ..., 1.7637, 1.7637, 1.7637],
      [1.7637, 1.7637, 1.7637,  ..., 1.7979, 1.7979, 1.7979],
      ...,
      [1.7637, 1.7812, 1.7812,  ..., 1.7979, 1.7979, 1.7979],
      [1.7637, 1.7812, 1.7812,  ..., 1.7979, 1.7979, 1.7979],
      [1.7637, 1.7812, 1.7812,  ..., 1.7979, 1.7979, 1.7979]],

     [[1.8906, 1.8906, 1.8906,  ..., 1.8555, 1.8555, 1.8555],
      [1.8906, 1.8906, 1.8906,  ..., 1.8906, 1.8906, 1.8906],
      [1.8906, 1.8906, 1.8906,  ..., 1.9258, 1.9258, 1.9258],
      ...,
      [1.8906, 1.9082, 1.9082,  ..., 1.9258, 1.9258, 1.9258],
      [1.8906, 1.9082, 1.9082,  ..., 1.9258, 1.9258, 1.9258],
      [1.8906, 1.9082, 1.9082,  ..., 1.9258, 1.9258, 1.9258]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10, 11566,    19,  5718,     8,
909,  2788,    15,    10,  1104,  3618,     4,    20,  2788,  7005,
22, 34091,   856,  5172,  7438,   113,    61, 19303,     7,    22,
34091,    13,  7438,   113,    11,  2370,     4,     2]],
device='cuda:0')
generated_text: The image shows a poster with yellow and black text on a white background. The text reads "Design für Design" which translates to "Design for Design" in English.
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a poster with yellow and black text on a white background. The text reads "Design für Design" which translates to "Design for Design" in English.'}
caption_text = a poster with yellow and black text on a white background. The text reads "Design für Design" which translates to "Design for Design" in English., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[ 2.2148,  2.2148,  2.2148,  ...,  2.2148,  2.2148,  2.2148],
[ 2.2148,  2.2148,  2.2148,  ...,  2.2148,  2.2148,  2.2148],
[ 2.2148,  2.2148,  2.2148,  ...,  2.2148,  2.2148,  2.2148],
...,
[ 2.2148,  2.2148,  2.2148,  ...,  2.2148,  2.2148,  2.2148],
[ 2.1973,  2.1973,  2.1973,  ...,  2.1973,  2.1973,  2.1973],
[ 2.1797,  2.1797,  2.1797,  ...,  2.1797,  2.1797,  2.1797]],
     [[ 1.6758,  1.6758,  1.6758,  ...,  1.6758,  1.6758,  1.6758],
      [ 1.6758,  1.6758,  1.6758,  ...,  1.6758,  1.6758,  1.6758],
      [ 1.6758,  1.6758,  1.6758,  ...,  1.6758,  1.6758,  1.6758],
      ...,
      [ 1.6406,  1.6406,  1.6406,  ...,  1.6406,  1.6406,  1.6406],
      [ 1.7109,  1.7109,  1.7109,  ...,  1.7109,  1.7109,  1.7109],
      [ 1.8154,  1.8154,  1.8154,  ...,  1.8154,  1.8154,  1.8154]],

     [[-1.8047, -1.8047, -1.8047,  ..., -1.8047, -1.8047, -1.8047],
      [-1.8047, -1.8047, -1.8047,  ..., -1.8047, -1.8047, -1.8047],
      [-1.8047, -1.8047, -1.8047,  ..., -1.8047, -1.8047, -1.8047],
      ...,
      [-1.7520, -1.7520, -1.7520,  ..., -1.7520, -1.7520, -1.7520],
      [-1.7871, -1.7871, -1.7871,  ..., -1.7871, -1.7871, -1.7871],
      [-1.1074, -1.1074, -1.1074,  ..., -1.1074, -1.1074, -1.1074]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10,  5718, 11566,    19,     5,
2136,    22, 20983,   113,  1982,    11,  7457,   909,  2301,     6,
2351,    10,  5690,  5709,   136,     5,  4520,  5718,  3618,     4,
2]], device='cuda:0')
generated_text: The image shows a yellow poster with the word "Manchester" written in bold black lines, creatinga striking contrast against the bright yellow background.
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a yellow poster with the word "Manchester" written in bold black lines, creating a striking contrast against the bright yellow background.'}
caption_text = a yellow poster with the word "Manchester" written in bold black lines, creating a striking contrast against the bright yellow background., concept_sentence=tposter
tposter
inputs {'input_ids': tensor([[    0, 47066, 21700,    11,  4617,    99,    16,  2343,    11,     5,
2274,     4,     2]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0'), 'pixel_values': tensor([[[[-2.0840, -2.0840, -2.0840,  ..., -2.0840, -2.0840, -2.0840],
[-2.0840, -2.0840, -2.0840,  ..., -2.0840, -2.0840, -2.0840],
[-2.0840, -2.0840, -2.0840,  ..., -2.0840, -2.0840, -2.0840],
...,
[-2.1172, -2.1172, -2.1172,  ..., -2.1172, -2.1172, -2.1172],
[-2.1172, -2.1172, -2.1172,  ..., -2.1172, -2.1172, -2.1172],
[-2.1172, -2.1172, -2.1172,  ..., -2.1172, -2.1172, -2.1172]],
     [[-2.0000, -2.0000, -2.0000,  ..., -2.0000, -2.0000, -2.0000],
      [-2.0000, -2.0000, -2.0000,  ..., -2.0000, -2.0000, -2.0000],
      [-2.0000, -2.0000, -2.0000,  ..., -2.0000, -2.0000, -2.0000],
      ...,
      [-2.0352, -2.0352, -2.0352,  ..., -2.0352, -2.0352, -2.0352],
      [-2.0352, -2.0352, -2.0352,  ..., -2.0352, -2.0352, -2.0352],
      [-2.0352, -2.0352, -2.0352,  ..., -2.0352, -2.0352, -2.0352]],

     [[-1.7695, -1.7695, -1.7695,  ..., -1.7695, -1.7695, -1.7695],
      [-1.7695, -1.7695, -1.7695,  ..., -1.7695, -1.7695, -1.7695],
      [-1.7695, -1.7695, -1.7695,  ..., -1.7695, -1.7695, -1.7695],
      ...,
      [-1.8047, -1.8047, -1.8047,  ..., -1.8047, -1.8047, -1.8047],
      [-1.8047, -1.8047, -1.8047,  ..., -1.8047, -1.8047, -1.8047],
      [-1.8047, -1.8047, -1.8047,  ..., -1.8047, -1.8047, -1.8047]]]],
   device='cuda:0', dtype=torch.float16)}

generated_ids tensor([[    2,     0,   133,  2274,   924,    10,   664,  1816,  2498,    10,
909,  8443,    19,    69,  1420,    15,    69,   471,     6,  2934,
11,   760,     9,    10,   909,  3618,     4,    20,  2788,    15,
5,  2274,  7005,    22,   510,  5037,  1776, 20796,   113,     8,
89,    16,    10,   514,  6920,    11,     5,  2576,   235,  2797,
4,     2]], device='cuda:0')
generated_text: The image shows a young girl wearing a black jacket with her hands on her head, standing in front of a black background. The text on the image reads "Puma Big Shot" and there is a watermark in the bottom right corner.
parsed_answer = {'<DETAILED_CAPTION>': 'The image shows a young girl wearing a black jacket with her hands on her head,standing in front of a black background. The text on the image reads "Puma Big Shot" and there is a watermark in the bottom right corner.'}
caption_text = a young girl wearing a black jacket with her hands on her head, standing in front of a black background.The text on the image reads "Puma Big Shot" and there is a watermark in the bottom right corner., concept_sentence=tposter
Creating dataset
resize datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\4d99ab745b2c9d8f3ee2e46714f08e7a.jpg : 512x728
image_path=datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\4d99ab745b2c9d8f3ee2e46714f08e7a.jpg, caption_path = datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\4d99ab745b2c9d8f3ee2e46714f08e7a.txt, original_caption=tposter a poster for the Yeah Indie Rock Club 2019, featuring a vibrant and colorful design with bold text and numbers. The poster is filled with a variety of colors, including blues, greens, yellows, and oranges, and the text is written in a modern font. The design is eye-catching and inviting, making it an exciting and exciting event.
resize datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\29ddc6f7e495f9f9ede91061409ca262.jpg : 512x731
image_path=datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\29ddc6f7e495f9f9ede91061409ca262.jpg, caption_path = datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\29ddc6f7e495f9f9ede91061409ca262.txt, original_caption=tposter a poster with a white background and a red line running through it. The text on the poster reads "From Poland with Shorts".
resize datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\1518f5d6af8cec2bdacbaf1539abba2d.jpg : 512x716
image_path=datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\1518f5d6af8cec2bdacbaf1539abba2d.jpg, caption_path = datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\1518f5d6af8cec2bdacbaf1539abba2d.txt, original_caption=tposter a black and white poster with a chair design on it. The poster has text written on it, likely describing the design of the chair. The chair design is simple yet eye-catching, with a curved backrest and armrests, and four legs. The text is written in a bold font, making it stand out against the white background.
resize datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\2017f76a1468b23309e0bc92b26ec9c0.jpg : 512x723
image_path=datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\2017f76a1468b23309e0bc92b26ec9c0.jpg, caption_path = datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\2017f76a1468b23309e0bc92b26ec9c0.txt, original_caption=tposter a black and white photo of a man in a suit and tie, holding a guitar. The text on the image reads "Johnny Cash - My Daddy Left Me When I Was3".
resize datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\b6fccdd666fbb328b482213b8c78e1d8.jpg : 512x728
image_path=datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\b6fccdd666fbb328b482213b8c78e1d8.jpg, caption_path = datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\b6fccdd666fbb328b482213b8c78e1d8.txt, original_caption=tposter a beige poster with black lines and the words "horizons" written on it, creating a striking contrast between the two colors.
resize datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\c903733af46cbff048c542d351d71002.jpg : 512x724
image_path=datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\c903733af46cbff048c542d351d71002.jpg, caption_path = datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\c903733af46cbff048c542d351d71002.txt, original_caption=tposter a blue poster with yellow letters spelling out the word "tot" on it, created by P.S. Erickson. The poster is composed of a blue background with white text, creating a striking contrast.
resize datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\d6ebf60034e5d022f86c83ad8136f8a3.jpg : 512x657
image_path=datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\d6ebf60034e5d022f86c83ad8136f8a3.jpg, caption_path = datasets/4cc4f6ba-78bc-49f8-9d17-ef34ba9040fd\d6ebf60034e5d022f86c83ad8136f8a3.txt, original_caption=tposter a poster with yellowand black text on a white background. The text reads "Design für Design" which translates to "Design for Design" in English.
Traceback (most recent call last):
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\route_utils.py", line 321, in call_process_api
output = await app.get_blocks().process_api(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\blocks.py", line 1935, in process_api
result = await self.call_function(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\blocks.py", line 1520, in call_function
prediction = await anyio.to_thread.run_sync(  # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\anyio_backends_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\anyio_backends_asyncio.py", line 859, in run
result = context.run(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\utils.py", line 826, in wrapper
response = f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\app.py", line 105, in create_dataset
file.write(original_caption)
File "C:\Python311\Lib\encodings\cp1251.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'charmap' codec can't encode character '\xfc' in position 91: character maps to
gen_sh: network_dim:4, max_train_epochs=16, save_every_n_epochs=4, timestep_sampling=shift, guidance_scale=1, vram=20G,
Traceback (most recent call last):
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\route_utils.py", line 321, in call_process_api
output = await app.get_blocks().process_api(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\blocks.py", line 1935, in process_api
result = await self.call_function(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\blocks.py", line 1532, in call_function
prediction = await utils.async_iteration(iterator)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\utils.py", line 671, in async_iteration
return await iterator.anext()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\utils.py", line 664, in anext
return await anyio.to_thread.run_sync(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\anyio_backends_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\anyio_backends_asyncio.py", line 859, in run
result = context.run(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\utils.py", line 647, in run_sync_iterator_async
return next(iterator)
^^^^^^^^^^^^^^
File "E:\AI\fluxgym\env\Lib\site-packages\gradio\utils.py", line 809, in gen_wrapper
response = next(iterator)
^^^^^^^^^^^^^^
File "E:\AI\fluxgym\app.py", line 341, in start_training
gen_toml(dataset_folder, resolution, class_tokens, num_repeats)
File "E:\AI\fluxgym\app.py", line 284, in gen_toml
image_dir = '{resolve_path_without_quotes(dataset_folder)}'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\AI\fluxgym\app.py", line 173, in resolve_path_without_quotes
norm_path = os.path.normpath(os.path.join(current_dir, p))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 147, in join
File "", line 152, in _check_arg_types
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'
`

Figured it out. It was all about a character that is not supported)

Figured it out. It was all about a character that is not supported)

What was the characted as I am getting the same error?

The classic.
Say you found a fix > Dont say how to fix


Adding command prompt for AWS Elastic Beanstalk environment name

Print out the current AWS Elastic Beanstalk environment name when the ./.elasticbeanstalk folder exists. Great complement to the EB CLI.
I'm not sure about the icons (couldn't find anything equivalent in the other icon sets), so I just used the emoji icon for all sets. Let me know if that's not OK and I can do some searching.
Cheers!

@bowmessage - Great contribution! Thanks so much for the PR!
Can you update your PR to also include an update to the README that documents the new segment?
@dritter - Thoughts on the icon selection, per @bowmessage's original comment?

I like the Icon. Couldn't find a better one. :)
The only problem I have with emojis is that you cannot change the color, so our color changing mechanism won't work.

@bowmessage Ping

We're over a month old on this one.
@dritter - Do you want to claim this and finish it up?

@bhilburn Yes, I'll do. Also on 0.4.0.

Re-done in #203


Fix attached devices list initialization

This commit modifies FindDevices so the list is not cleared at each iteration.
It also changes the method to return the list directly instead of altering the field.

Bad branch


Added the is_upper() method to strings

To use this method, just do this: string x="HELLO"; x.is_upper(); //returns true if the string is upper case or false if not.

Thank you for your Contribution


Unable to execute the example using "$ kivy myprogram.py" on mac osx el capitan.

I installed kivy as mentioned in the documentation. Typing "kivy" in the terminal is opening the python promt. Entering "kivy /Applications/Kivy.app/Contents/Resources/kivy/examples/3Drendering/main.py" should run the example but nothing seems to happen. Drag and drop isn't working either.

Please provide the console output when you try to run a Kivy app.

Untitled.pdf

https://docs.google.com/viewer?url=https://github.com/kivy/kivy/files/287590/Untitled.pdf
@AnudeepKonda, you can also share logs/code by wrapping it in code tags and pasting in the github comment directly.

below was the log entry:
[INFO              ] Logger: Record log in /Users/quanon/code/kivy-sdk-packager/osx/Kivy.app/Contents/Resources/.kivy/logs/kivy_16-01-07_0.txt [WARNING] [Config      ] Upgrading configuration in progress. [WARNING] [Config      ] Older configuration version detected (0 instead of 14) [INFO              ] Kivy: v1.9.1 [INFO              ] Python: v3.5.0 (default, Dec 12 2015, 05:50:29)  [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]

I bieleve you have something wrong with your system, as the default python version for you is 3.5, which is not the system python as intented to be for Kivy. So yes it goes wrong. It would also have been nice to tell "how" you installed kivy as there is multiple way to do.
I'm closing this because there is no user answer;


exercise: "Ordnen Sie den Artikel zu"

Selected:

Not selected

I would swap the opacity for selected and unselected. The selected one should be highlighted more, IMHO. Other than that, it looks pretty nice 👍

The selected colors are the ones form the screenshot on the very top and the others just with less saturation. Should those be in the colors.js?
We might need them at some point again.

Yeah, please add them to colors.js :)


Update sbt-scalafix, scalafix-core to 0.9.31

Updates

ch.epfl.scala:sbt-scalafix
ch.epfl.scala:scalafix-core

from 0.9.27 to 0.9.31.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (0.9.27).
You might want to review and update them manually.
build.sbt

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.epfl.scala" } ]

labels: library-update, semver-patch, old-version-remains

Superseded by #58.


Unable to use the request path "/"

When I specify a request path which is just "/" as show here:
curl -X POST -F "name=messageService" -F "upstream_url=http://<IP_ADDRESS>:8080" -F "request_path=/" "http://localhost:8001/apis/"
I get the following message:
{"request_path":"cannot be an empty path: '\/'"}

Well, that is not allowed. So what did you expect? either request_path or request_host is required. See https://getkong.org/docs/0.8.x/admin-api/#add-api

@Tieske: What is not allowed? The curl snippet
curl -X POST -F "name=messageService" -F "upstream_url=http://<IP_ADDRESS>:8080" -F "request_path=/" "http://localhost:8001/apis/"

does provide the mandatory request_path attribute. The error message claims that it is empty, which is not true. It is set to /.

Let me ping @thefosk or @thibaultCha, they probably know why this not allowed. My guess is that its based on multiple hosts and path combination to be resolved.

I can't see why / wouldn't be allowed - @thibaultCha?

Great this looks good.


Source file reference validation

As an enhancement, I would like to see a validation on the SourceFilesCopy.conf to prevent files not being copied in case I made a typo. The validation should in my opinion occur when running the copy-source-files command.

Yes. I will implement it so that the validation cannot be overridden or turned off. Should always make sense.
Not sure yet how to deal with *. Could raise an error when the directory is empty ... or not?


Agent process should exit after no successful assication with master is built

Now that agent actor will shut down, agent cannot register to a master afterwards.

Fixed by #2163.


After starting BeamNG.drive with BeamNGpy there is a regular drop in frames

After starting BeamNG.drive with BeamNGpy there is a regular drop in frames, starting it directly is fine.
The normal performance monitoring charts are shown below:

The performance monitoring charts after starting with BeamNGpy are as follows:

Performance monitoring charts show significantly higher CPU Bookkeeping times (blue raised curve)
Although the average FPS is 60+, the minimum FPS is less than 10.
Use E:\SteamLibrary\steamapps\common\BeamNG.drive\BeamNG.drive.exe -rport 64256 -nosteam -console -tcom-listen-ip <IP_ADDRESS> -lua registerCoreModule('tech/techCore') -userpath C: \Users\<username>\AppData\Local\BeamNG.drive can reproduce the problem. After removing -lua registerCoreModule('tech/techCore'), the problem disappears.
It is assumed that the problem is caused by the tech/techCore module, but after looking at the code there is no obvious problem.
Version:
BeamNGpy: 1.27.1
BeamNG.drive: 0.31

Hi,

I tried the same with BeamNGpy 1.27.1 and BeamNG.drive 0.31 and could not reproduce the performance issue. You say it happens even when BeamNGpy is not running, just when the techCore extension is loaded?

BeamNGpy 1.27.1 is not compatible with BeamNG.tech 0.31, BeamNGpy 1.28 will be released later this week. Also, we're changing the way of loading the .tech extension in BeamNGpy 1.28 and BeamNG.tech 0.31, the new command-line arguments are:

Bin64\BeamNG.tech.x64.exe -nosteam -console -lua extensions.load('tech/techCore');tech_techCore.openServer(64256)

The old way should still work, but is getting deprecated in the future. Can you try with these arguments and tell me if the problem still occurs?
Thank you for your detailed report.

Thank you for your reply.
I've tried many combinations of situations and the only regular frame dropping occurs when I start my customized scene (with GE lua script) with BeamNGpy, I'll try to find the problem in my code.


Fix #15756

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15763/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15763/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15763/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15763/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15763/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15763/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15763/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15763/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15763/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15763/merge/testResults/webgpuplaywright/index.html


plugin proxy_cache got "expected an integer"

hello, I had a problem when added the plugin proxy_cache, see the image. I think this is a problem about the plugin's schema.
version info:

KONGA 0.14.3
KONG    1.2.1

Same here. It sends the response code as an array of strings instead of integers.

Hi guys!
I experienced the same problem working with the cache plugin and just investigate a little bit and generate an MR #493. It works for me now with that change so I hope it helps.


[Bug] empty signedTransactionWithProof

🐛 Bug

To reproduce
String address = '1ba925cf4cb79905ca0723ec47d678830c7aa8d628dfc353b2533174273a4fb8';
int sequenceNumber = 1;

UpdateToLatestLedgerRequest request = new UpdateToLatestLedgerRequest();
RequestItem requestItem = new RequestItem();
GetAccountTransactionBySequenceNumberRequest getTransactionRequest =
    new GetAccountTransactionBySequenceNumberRequest();
getTransactionRequest.account = LibraHelpers.hexToBytes(address);
getTransactionRequest.sequenceNumber = Int64(sequenceNumber);
getTransactionRequest.fetchEvents = fetchEvents;
requestItem.getAccountTransactionBySequenceNumberRequest =
    getTransactionRequest;
request.requestedItems.add(requestItem);
UpdateToLatestLedgerResponse updateToLatestLedgerResponse =
    await _client.updateToLatestLedger(request);
List<ResponseItem> responseItems =
    updateToLatestLedgerResponse.responseItems;
GetAccountTransactionBySequenceNumberResponse response =
    responseItems[0].getAccountTransactionBySequenceNumberResponse;
SignedTransactionWithProof signedTransactionWP =
    response.signedTransactionWithProof;

Empty signedTransactionWP

Expected Behavior
signedTransactionWP with signedTransaction and sender info
System information
Please complete the following information:
grpc call with ac.testnet.libra.org
Additional context
Add any other context about the problem here.

Closing due to the wrong sequence number I was using.


TS-4391: Duplicated parent origin retry types

Removed duplicated parent origin retry types.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/560/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/456/ for details.

👍


Persistent storage is not working in my Mac

I have follow this guideline to install clickhouse operator in my local macbook.
I have tried multiple times for the persistent stoage section.  But it didn't work.
After I scale in/out the pods, the created tables will be erase.
Anyone can help to check whether the storageClass support in mac ?
I use storageClassName: standard when create the pod
Thanks

Could you share?
kubectl get pvc --all-namespaces
kubectl get pv --all-namespaces


Updated spanish (latam) translations

Sorry for taking so long! There are a bunch of new translations made and corrected from the previous version.
The only two strings that were not translated are like that because one would have to include them backwards to have a correct meaning in spanish :P
Edit: The conflicts can be overwritten with my changes, these are just showing because I corrected several upper / lower cases and git is recognising them as conflicts.

@nwinter, this is for you :)

Thanks @jhoon!


Confirm why Cascading creates temp dirs when writing errors into a failure trap

This plays havoc with non-wildcarded IAM permissions on AWS.

Closing as we are moving away from Cascading in R89...


RuntimeError

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
I am not sure how/where to modify it. Thanks!

I am not sure how you trying to load weights, but I assume you don't use nvidia-docker engine to run the container. You have two options: Either use GPU-enabled environment to run the model or update the code to use device="cpu" when calling torch.load(..., device="cpu") and model.to(device="cpu")


Use base name of object name in flan_find_oinfo

The object name given to flan_open_object is passed through basename(..), thus removing all characters up until the last /. However, flan_find_oinfo does not do the same, resulting in a null pointer being returned if you look up an object whose name contains a slash.
This PR fixes this by adding the call to basename in flan_find_oinfo.
A few messages were exchanged about this issue in the official Discord server.

Can you  please sign your commit with - s in such a way that it has the signed by tag.
Please use "flan:" before the commit message.
The rest  is good

Can you  please sign your commit with - s in such a way that it has the signed by tag.

Please use "flan:" before the commit message.

The rest  is good

Should be fixed now :)

This is already part of the new jag/flanv2. please update to see this commit there.


Rename "age" as "life_stage"

The term "age" has a vocabulary of values that do not express age in years, but rather a lifestage.
https://github.com/tdwg/camtrap-dp/blob/88ac2d6905276f27f93ab5e4a7895ad413d9348b/observations-table-schema.json#L140-L155
I would therefore rename the term to life_stage, cf. Darwin Core. Thoughts?

@ben-norton @kbubnicki ok with this change?

Excellent point. lifeStage is the correct term, especially given the association with Darwin Core and in the greater biodiversity data context. You could use relatuve_age, but that drops that cross reference with Darwin Core, which we should avoid wherever possible.

Ok, will make a pull request to update this.


Fix typo in archetypes.md

Related
N/A

What
Really just a typo

Unfortunately you only fixed it in a generated file (see https://github.com/rerun-io/rerun/blob/bca6c9804ea9dafa57404a769f6133bce8244712/docs/content/reference/types/archetypes.md#L5).
Proper fix coming in: https://github.com/rerun-io/rerun/pull/8253

Oh, in fact I just clicked on this link:
 Openning #8259 to report this problem!


Communication

Post 1.0.0 we should figure out some ways to spread the word about regl.  This would involve giving some talks and maybe writing some articles.  Let's use this issue to start making a list of possible venues.

Another way of generating interest in the framework is writing cool demos. When I published that wireframe world demo, regl suddenly got a ton of traffic, and got like 30stars in two days.
Implementing something like realtime radiosity is also something that would result in a cool demo, and would probably generate even more interest in the framework. Especially since no one has ever done this in WebGL thus far. At least to my knowledge.

It sounds trendy in a way that I don't necessarily like and might also be a bit early, but what about an awesome-regl repo with examples and tools? There are some interesting tools like regl-recorder that would be nice to collect in a single place. The website would work, but the ease of a markdown PR might increase contributions.

Thank you. I added gl-fourier to the list in issue #181

Going to close this issue.  It is too vague.


usb: add SoF event

Start of Frame events can now be accessed from USB classes.
This will be useful when implementing idle rate functionality.
Signed-off-by: Marcin Szymczyk<EMAIL_ADDRESS>

Codecov Report

Merging #11597 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #11597   +/-   ##
=======================================
  Coverage   48.22%   48.22%
=======================================
  Files         279      279
  Lines       43281    43281
  Branches    10355    10355
=======================================
  Hits        20872    20872
  Misses      18270    18270
  Partials     4139     4139

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 474b2b3...517ed0c. Read the comment docs.

So how are you going to handle that event?

So how are you going to handle that event?

I want to use SoFs to count milliseconds elapsed between SET_IDLE request and present, to check whether new report should be sent or device has to NAK. (See HID Specification 1.11, Chapter 7.2.4 Set_Idle Request)


In the new version vscode auto complete stopped working

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
In the version prior to 3.16.0 when you pressed ctrl+space it gave an auto complete, helping with productivity, after this version the autocomplete stopped working as shown in the screenshots below
Expected results
I hope you can get it working again
Actual results
I hope you can get it working again
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Same for me. The auto complete for parameters that require a function like builder was very helpful.

I have the same issue

can reproduce on stable as well, master does not have this issue

I am facing the same issue on stable as well, however it only happens in vscode, android studio and intellij show the suggestions normally.

@dam-ease That's right, only in stable it doesn't work

A new version 3.16.1 has just come out and you still have the same problem

Since this is vscode plugin issue only, I think it need to be reported in plugin's dedicated repo: https://github.com/Dart-Code/Dart-Code/issues so please file the same there for further resolution.
Closing from here. There are couple of similar issues related to autocomplete not working reported in it that you can refer: https://github.com/Dart-Code/Dart-Code/issues/4794

That's right, only in stable it doesn't work

This indicates that it is working on master and per our triage policy, we'll go ahead and close it. If anybody disagrees, write in comments and we'll reopen it.


authentication ignored if there are no users created

Hello,
just a suggestion, but wouldn't make sense that even if the authentication is enabled, but there are no users created yet, the authentication get ignored or at least let us create the default admin ? For example mongodb has a similar approach, described here (http://docs.mongodb.org/manual/core/authentication/#localhost-exception). An design like that would make automated configuration with puppet and similar tools way easier.
If you guys agree I am happy to create a PR.

That sounds more usable to me, we'd happily take a PR for it :)

cool ... In that case then we have few options

extend the current GRANT ALL PRIVILEGES syntax and add an option to setup the password at the same time. For example something like GRANT ALL PRIVILEGES TO jdoe WITH PASSWORD
extend the localhost exception that it can run only CREATE USER foo WITH PASSWORD 'something' and GRANT ALL PRIVILEGES TO foo. This are two commands and it's a bit confusing.

If I could choose I would go with the first option

You're thinking the GRANT ALL PRIVILEGES TO jdoe WITH PASSWORD would create the user? That is a little confusing to me. I'd prefer to keep it as two separate statements.
Your init script could still do it in a single query (GET request) to the server. You just have the create user statement then a ; then the grant privileges statement.
You can have multiple statements in a query.

@pauldix we had it sort of this way once, and specifically removed it because it created significant issues lower in the code.  I can't remember the exact specifics, and we might have evolved our code past those issues by now, but I do remember that it was a real problem having it allow a "one time free throw".
As for simply ignoring auth turned on if no users are created, this strikes me as a pretty serious security vulnerability.  Imagine a user configuring their system, turning on auth, forgetting to create a user (or the script he used fails to create the user and he doesn't realize it).  Then, he updates his client to use the users he THINKS were created.  Everything works fine as it ignores auth, but the server is actually not secure at all.

@corylanou I remember when that got removed and I was very much against it since I think having this in makes things much more usable.
Although I think the problem there was that we had a situation where the "first user" could be created (but from anywhere). In this case it has the limitation that it can only be done against from the localhost so maybe that'll make it easier?
I think what's being suggested here is that the config file has auth enabled. That means that all requests against the database will fail initially. Until the setup script (this person is probably using puppet, chef, or ansible) then creates the admin user from the localhost.
Then clients will be free to do things against the database with the user that exists. I didn't see this as suggesting that auth should be ignored if no users are created. The flag in the config is what should be followed.
The only exception is if you're making a request from localhost you can create users and give them privileges. At least that's my understanding of it.

@pauldix correct, that's the idea.
If authentication is enable, but there are no admin users you will be able to create the admin user via localhost. Once the first admin user is created you will need to use proper authentication.
I will have a look at the code during the weekend and hopefully I will be able to easily add this functionality.
However there is a potential problem. With that design you will be able to create more than one user, until one of them is clusteradmin . That was the reason why I was hoping that we could create the first clusteradmin with one command.

How are we going to validate the request came from the localhost?

didnt have a chance to have a look at the code yet, but can't we just check if the request destination is localhost (<IP_ADDRESS>) we know it was generated from localhost ?

None of that information is reliable.  It's easily spoofed if you wanted to launch an attack.  Also, if the box was ever compromised, then checking this also wouldn't help.
To be clear, I agree that our current scenario is less than ideal.  But due to being open source, it's not if we get hacked, it's when.  I'm still searching for a way to do this that doesn't leave a back door open.  I do want to find another way, but so far, none of these strike me as ideal.  I know I'm probably the minority on this thinking.

yeah definitely it's not ideal, but we need something like that if not automating installs become really painful.
On the other side this "initial" user creation will be available only for a short period of time. MongoDB is using  a similar approach and for example ES doesn't have any kind of authentication :)

@n1tr0g I mis-read the intention.  I agree that if we are bound to the localhost interface that we can do this one time creation.  It's probably as secure as we are going to get anything.  If someone compromises your box, I'm willing to say we aren't responsible after that :-).

@gunnaraasen what's the status on this? Didn't we already implement this?

This is partially implemented.
We do not currently check if the request is from localhost when there are no users and auth is enabled. Should be easy to check, just need to add it.

@gunnaraasen, I talked with @pauldix today and he's on board with the runtime user creation workaround. E.g. with auth enabled you can only create a user as a cluster admin OR by passing a specific user creation flag to influxd.

@jwilder @rkuchan @gunnaraasen I think we already did this, didn't we?

I can see this code inside of 0.13 and it's probably been there for longer than that. I'm going to close this.


Use process instead of system.exec

Apologies @vincens2005 I didn't seen this PR as I didn't have notifications for this repository. I am closing this because @Guldoman re-did the same thing.


Twiss on a cycled line with BeamInteraction element produces different optics

The differences observed between the original and the cycled line twiss are around 2%. Attaching a simple case with an FCC-ee lattice showing the issue. It should be noted that the the FCC-ee lattice has synchrotron radiation and tapering of the magnetic strengths in the ring. The differences are possibly not an issue, but rather a by-product of the radiation and tapering.
cycled_line_twiss.tar.gz

It is indeed an effect of the radiation, exploring different solutions at the moment. Solution should come in an upcoming release

As of v0.23 of xtrack, a MAD-X like twiss which symplectifies the effect of radiation can be obtained with:
tracker.twiss(radiation_method='kick_as_co')


Support a map for networks as well as string[]

Documented here: https://docs.docker.com/compose/compose-file/#aliases
Example:
⟫ cat docker-compose-network-map.yml
version: '2'
services:
  postgres:
    image: mdillon/postgis:9.5
    networks:
      default:
        aliases:
          - db

Current behavior:
⟫ ./container-tx < docker-compose-network-map.yml
Error ingesting file: yaml: unmarshal errors:
  line 6: cannot unmarshal !!map into []string

Expected:
I'm guessing something like this (not 100% sure yet):
⟫ ./container-tx < docker-compose-network-map.yml
docker network create projectname_default

######## postgres ########
docker run \
    --name postgres \
    --network projectname_default \
    --network-alias db \
    mdillon/postgis:9.5

Yea this is another one of those cases where docker-compose keeps changing (improving?) their format, and it leaves everyone chasing their tail to keep up with it.
One bigger strategy for all this might be ingesting compose's openAPI schema definitions and searching for all the fields with a schema of oneOf, and then appropriately parsing each case


Night mode fixes

Can you point to what these are supposed to fix? While trying to verify the first one, I noticed the "Discard changes" buttons are really hard to read, not sure if that's what this was supposed to modify.

@timabbott I changed the default light mode color in #10250, maybe you should rebase this PR off of it?


gguf reader for layer and size estimates

i've found that without some sort of layer and size estimate it's very hard to choose the right number of layers to offload
todo:

get a size estimate based on needed context size!

if you think this should be it's own repo, im cool with that

Hey @earonesty this makes sense and I do want to integrate gguf more closely into llama-cpp-python. Is it possible to use the pip published gguf package to reduce the amount of maintenance required when that's updated?

Hey @earonesty this makes sense and I do want to integrate gguf more closely into llama-cpp-python. Is it possible to use the pip published gguf package to reduce the amount of maintenance required when that's updated?

unfortunately that package has no reader support.   i used the source for that to reverse engineer the format and write the reader!


Added Traffic Signs Recognition Project

I have added the Traffic signs recognition project. I had trained the dataset from the kaggle competition (GTSRB - German Traffic Sign Recognition Benchmark). I have also added the link for dataset in the README.md. This PR resolves issue no. #44 .

Just resolve module not found error for tensorflow and execute the ipynb file again and I will merge it straight away. @vaishnavi-1

Just resolve module not found error for tensorflow and execute the ipynb file again and I will merge it straight away. @vaishnavi-1


Please can you provide a PRONTOQA dataset after the bugfix?

Dear Abulhair,
firstly, thank you very much for your fantastic work on providing these datasets to the scientific world. I hear the regularly discussed, which shows they provide great value. Could you provide a dataset for download after the bugfix? This would be super helpful. Thank you so much! A

Hello,
Thank you for your interest in this work! Sorry I didn't have time to address your issue until now, but I just updated the repo with the regenerated data which should include all bugfixes so far.

Dear Abulhair,
thank you so very much! Your work is highly appreciated because it provides a way to nicely investigate the reasoning capabilities with LLMs. Also, I am using SBERT as a means to compare semantical similarity between answers and hope to find ways to optimize an LLMs reasoning capability.
All the best,
Alexander
Von: Abulhair Saparov @.>
Datum: Donnerstag, 17. Oktober 2024 um 07:36
An: asaparov/prontoqa @.>
Cc: Alex @.>, Author @.>
Betreff: Re: [asaparov/prontoqa] Please can you provide a PRONTOQA dataset after the bugfix? (Issue #6)
Hello,
Thank you for your interest in this work! Sorry I didn't have time to address your issue until now, but I just updated the repo with the regenerated data which should include all bugfixes so far.
—
Reply to this email directly, view it on GitHubhttps://github.com/asaparov/prontoqa/issues/6#issuecomment-2418541813, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABYOKP6D6VFTCW35NYCOSFLZ35EEVAVCNFSM6AAAAABOUKJYHSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJYGU2DCOBRGM.
You are receiving this because you authored the thread.Message ID: @.***>


R uses an entire CPU core, even when Obsidian is closed

In the picture above, the plugin has run three R-scripts, and then Obsidian has been closed, but an entire core continues to be used by each script.

This should have been fixed by #139; it seems like the fix wasn't as functional as expected.
What OS are you on?
What version of the plugin are you using?
Could you send a screenshot of your plugin settings?

I am on arch linux, x86.
I am using version 1.4.0.
Here are my settings:

Thank you!
Do you have the pkill command available? I'm sorry: I'm not familiar with Arch, so I don't want to assume.

It is avaible, and it is the way I kill the process afterwards.

I understand, thanks. Do you use SIGTERM or SIGKILL?

The issue seems to have been fixed in the latest version of the plugin.
I used SIGKILL when the problem still was around.

Understood, thanks! May the issue be closed?

Yes!