move client manager class var into wrapper class

Context
Previously on startup we had the Ruby warning:
config/initializers/registers_client.rb:1: warning: class variable access from toplevel

Changes proposed in this pull request
Wrap the access to the class var in a class to stop this warning, similar to the pattern described in:
http://ruby-doc.org/core-2.5.0/Module.html#method-i-class_variable_set
Guidance to review
Warning should no longer show on startup.

@arnau agreed this is just a first step. I will make a new card for next steps.


tcmu-runner: add reset netlink support

Will do the netlink reset when starting and just before it could
receive and handle the netlink requests from kernel space.
Signed-off-by: Xiubo Li<EMAIL_ADDRESS>

https://www.spinics.net/lists/target-devel/msg16902.html
The kernel patch set has been applied.

@lxbsz @mikechristie Thanks for all the work involved in getting changes at the kernel land.
This patch looks to me, I will test this later.
Thanks!

@pkalever @mikechristie
Updated it with debugging info.

@mikechristie @pkalever
Updated it again, here will set the reset netlink to 2 stages:
1, block_netlink and then reset_netlink before the netlink setup right away.
2, unblock_netlink before g_main_loop_run().
because we cannot put the reset_netlink after tcmulib_initialize() --> open_devices() --> add_device(), which will call tcmu_block_device() --> tcmu_cfgfs_file_is_supported() --> "/sys/kernel/config/target/core/user_XX/" and will introduce another stuck.
This is because after the old tcmu-runner process was crashed or killed, the destroy_device is still in D state for tcmu_destroy_device() --> tcmu_netlink_event() --> wait_for_completion(). So if we come to "/sys/kernel/config/target/core/user_XX/" here again, it will dead lock in VFS.
So we must reset the netlink and clean the old spending netlink events before any accessing to "/sys/kernel/config/target/core/user_XX/".
Thanks

There is a crash problem by doing:
1, pkill -9 tcmu-runner
2, then the gluster-block-target service will be terminated by systemd which will call 'targetctl clear'
3, if no IOs going on, the 'targetctl clear' will stuck in tcmu_destroy_device() --> tcmu_netlink_event() --> wait_for_completion(), this will be okay when 'systemctl restart tcmu-runner'
4, or if there is any IO going on, the 'targetctl clear' will stuck in iscsit_free_session() --> iscsit_cause_connection_reinstatement() firstly, and then after the reset ring cleaning it and then goto stuck in STEP 3.  But in tcmu-runner the reset netlink must ahead of reset ring due to the reason from Comment 23. But the reset ring is done in the open_device(), that's to say in userspace the device is opened and then it will be deleted in kernel space.
And the following upstream kernel patches and its related pathces should be backported to RHEL 7.6 to fix the crash:
https://patchwork.kernel.org/patch/2875871/
https://patchwork.kernel.org/patch/10392845/

Let's discuss this here instead of a closed bz. Here is what I wrote before:

https://patchwork.kernel.org/patch/10392845/

This patch is bad. It adds multiple regressions:
https://lkml.org/lkml/2018/6/20/689

https://patchwork.kernel.org/patch/2875871/

This patch sort of adds a regression. For drivers like tcmu where the parent is not removed every time (it is tied to a module or a pci device) then the memory is not freed when the uio device is unregistered like it was before:
https://lkml.org/lkml/2017/6/14/30
So for tcmu where the uio device is tied to the lun and you would commonly add/remove luns a lot but pretty much never unload the module, then it would look like a memory leak.
For all these issues we need to properly fix the lifetime management to handle where userspace cannot be shutdown cleanly like Brian was working on here:
https://patchwork.kernel.org/patch/6057431/

One question.
If you do not have these patches or at least this one
https://patchwork.kernel.org/patch/2875871/
Does it still work ok in your updated patch in this PR where you make sure netlink is flushed first? It seems like we would avoid the case where we open a device while it is also being destroyed/unregistered/freed.

One question.
If you do not have these patches or at least this one
https://patchwork.kernel.org/patch/2875871/
Does it still work ok in your updated patch in this PR where you make sure netlink is flushed first? It seems like we would avoid the case where we open a device while it is also being destroyed/unregistered/freed.

There are two stuck case:
[1], If there has any uncompleted IO or cmd, 'targetctl clear' process will stuck in iscsit_free_session() --> iscsit_cause_connection_reinstatement() first, then after all the IOs or cmds completed, it will stuck in [2].
[2], If there has no uncompleted IOs or cmds, 'targetctl clear' process will stuck in tcmu_destroy_device() --> tcmu_netlink_event() --> wait_for_completion().
If we are in the [1] case, no matter the netlink flush option is exist or not, it still works well because the reset ring will wake up the 'targetctl clear' process and then tcmu-runner daemon could process the followed deletion netlink event.
If we are in the [2] case, the netlink flush is a must before reset ring.
Before all my test case was concentrated on [2] case, and since @pkalever hit the [1] case and then use the [1] case I hit the crash problem in RHEL, but the upstream code works well.  So this is why we need the uio fixing patches here.
Thanks

Let's discuss this here instead of a closed bz. Here is what I wrote before:
https://patchwork.kernel.org/patch/10392845/
This patch is bad. It adds multiple regressions:
https://lkml.org/lkml/2018/6/20/689
https://patchwork.kernel.org/patch/2875871/
This patch sort of adds a regression. For drivers like tcmu where the parent is not removed every time (it is tied to a module or a pci device) then the memory is not freed when the uio device is unregistered like it was before:
https://lkml.org/lkml/2017/6/14/30
So for tcmu where the uio device is tied to the lun and you would commonly add/remove luns a lot but pretty much never unload the module, then it would look like a memory leak.
For all these issues we need to properly fix the lifetime management to handle where userspace cannot be shutdown cleanly like Brian was working on here:
https://patchwork.kernel.org/patch/6057431/

The crash will happen only in the [1] stuck case in the previous comment:
1), 'targetctl clear' process will stuck in iscsit_free_session() --> iscsit_cause_connection_reinstatement().
2), block netlink --> flush netlink --> reset ring in tcmu-runner daemon
3), just before reset ring option, the tcmu-runner daemon will open the /dev/uioX device, because the target device hasn't been deleted yet.
4), at the same time 'targetctl clear' process was already woken up, and then tried to delete the target device, but in step 2) the tcmu-runner has already blocked the netlink, so the deletion in kernel space just returns without successfully notifying to tcmu-runner daemon and then deletes target device's UIO resources in kernel space, but the tcmu-runner in userspace still accessing that.
The kernel code:
1626 static int tcmu_init_genl_cmd_reply(struct tcmu_dev *udev, int cmd)
1627 {
...
1636         mutex_lock(&tcmu_nl_cmd_mutex);
1637
1638         if (tcmu_netlink_blocked) {
1639                 mutex_unlock(&tcmu_nl_cmd_mutex);
1640                 pr_warn("Failing nl cmd %d on %s. Interface is blocked.\n", cmd,
1641                         udev->name);
1642                 return -EAGAIN;
1643         }
...

1924 static void tcmu_destroy_device(struct se_device *dev)
1925 {
1926         struct tcmu_dev *udev = TCMU_DEV(dev);
1927
1928         del_timer_sync(&udev->cmd_timer);
1929         del_timer_sync(&udev->qfull_timer);
1930
1931         mutex_lock(&root_udev_mutex);
1932         list_del(&udev->node);
1933         mutex_unlock(&root_udev_mutex);
1934
1935         tcmu_send_dev_remove_event(udev);
1936
1937         uio_unregister_device(&udev->uio_info);
1938
1939         /* release ref from configure */
1940         kref_put(&udev->kref, tcmu_dev_kref_release);
1941 }

5), then the kernel crashes.
Actually, only this https://patchwork.kernel.org/patch/2875871/ patch could fix the crash problem.
The related code is:
@@ -864,13 +860,9 @@  void uio_unregister_device(struct uio_info *info)

 	uio_free_minor(idev);

-	if (info->irq && (info->irq != UIO_IRQ_CUSTOM))
-		free_irq(info->irq, idev);
-
 	uio_dev_del_attributes(idev);

 	device_destroy(&uio_class, MKDEV(uio_major, idev->minor));
-	kfree(idev);

 	return;
 }

I have checked the upstream code, for that regression there still hasn't any fix yet, right ?
So currently, we only need the following two patches:
https://patchwork.kernel.org/patch/2875871/
https://lkml.org/lkml/2015/3/19/665
With these two patches I have test for a whole night in RHEL and it works well, no any crash any more.
Thanks,

https://patchwork.kernel.org/patch/10392845/

This patch is bad. It adds multiple regressions:

https://lkml.org/lkml/2018/6/20/689

@mikechristie To be simple, if we switch the spin lock to mutex ? Is that okay ?
Thanks,

@mikechristie To be simple, if we switch the spin lock to mutex ? Is that okay ?

I think so. It works for me and it seems we always have proper context to block.

https://patchwork.kernel.org/patch/2875871/

For that patch did you see my comment about the possible mem leak? Were you going to fix that too or because it is binding resources to the parent the reason that we are not crashing?
Also nice debugging!

@mikechristie To be simple, if we switch the spin lock to mutex ? Is that okay ?

I think so. It works for me and it seems we always have proper context to block.

But the lock is protecting the idev->info struct data, and this data will also be used in IRQ routine and the mutex lock couldn't be used in IRQ routing too. So there maybe much more work todo.
I have post the related patches to the kernel list, please help review whenever you are availiable.

https://patchwork.kernel.org/patch/2875871/

For that patch did you see my comment about the possible mem leak?

Yeah, only with this patch there has mem leak as you mentioned before.

Were you going to fix that too or because it is binding resources to the parent the reason that we are not crashing?

If only with this patch there is no crash but with memory leak exist.
If we sync up to the upstream code, there will introduce new crash, and I have found the root cause.
Will fix it.
Thanks Mike.

Also nice debugging!

https://patchwork.kernel.org/patch/2875871/
For that patch did you see my comment about the possible mem leak?
Yeah, only with this patch there has mem leak as you mentioned before.

Ignore my comment. It is fixed upstream. I think I was just looking at the wrong RHEL patchset. I see in the current RHEL V3 where you brought in everything you got the fix for it too.

@mikechristie
Updated done.


Minor issues in examples

Hello was going through the examples of some calls and I noticed a few minor inconsistencies.
Status should allows have a message and code even of they are null. (In my opinion).
Status should always be present in all calls.
TypeOfgermplasmStorageCode is describe as an array of strings an in the example there is a INT.
cheers
Bruno

Hi Bruno,
in the documentation (https://github.com/plantbreeding/API/tree/master/Specification) we note that
"status: The status object contains a list of objects with the keys "code" and "message". If no status is reported, the empty list should be returned."
I assumed it to mean that if everything is ok, the status should be reported as the empty list. This just as an easy way to check if there is an error or not.
cheers
Lukas

handled in #225


fix: don't override embeddings model name with UNSPECIFIED

Fixes #3312

I dunno if the forced model: "rerank-2" from https://github.com/continuedev/continue/commit/5a1bb2d36f1f52d6398d02c709500e7898913c6f#diff-2cb932451d95e56151c82e9433db890e0b6e801d1cd3930acdd48fbd5f430c27R493 is problematic, so didn't touch it.
Let me know if something similar should be done there.


fix(style): correct style in standard

fix a couple of style problems into standard:

add or remove non-standard spaces

spaces between zh and en words
spaces between numbers and words
spaces between one-line code block and words

fix Lowcase specific word into Upcase

cc @zhaohuabing


Dependency Issue with Librarian

Hello,
I am trying to utilize 'augeasproviders' in a Puppetfile but it looks to be having a dependency issue that cannot be resolved:
[Librarian] Resolving herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]   Checking manifests
[Librarian]   Module herculesteam-augeasproviders_grub found versions: 3.1.0, 3.0.1, 3.0.0, 2.4.0, 2.3.0, 2.2.0, 2.1.0, 2.0.1, 2.0.0
[Librarian]     Checking herculesteam-augeasproviders_grub/3.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/3.1.0 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/3.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/3.0.1 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/3.0.1 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/3.0.1 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/3.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/3.0.0 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/3.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/2.4.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/2.4.0 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/2.4.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/2.3.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/2.3.0 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/2.3.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/2.2.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/2.2.0 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/2.2.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/2.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/2.1.0 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/2.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/2.0.1 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/2.0.1 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/2.0.1 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking herculesteam-augeasproviders_grub/2.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between herculesteam-augeasproviders_grub/2.0.0 <https://forgeapi.puppetlabs.com> and herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
[Librarian]       Backtracking from herculesteam-augeasproviders_grub/2.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]   Failed to resolve herculesteam-augeasproviders_grub (< 4.0.0, > 3.1.0) <(no source specified)>
Could not resolve the dependencies.

According to the Forge, the dependency for augeasprovideers_grub is >3.1.0 < 4.0.0:
https://forge.puppet.com/herculesteam/augeasproviders/dependencies
herculesteam/augeasproviders_grub (>3.1.0 <4.0.0)
The latest available version of augeasproviders_grub is 3.1.0 so this looks to be causing dependency resolution to fail.
Should it be >=3.1.0 to allow it to resolve the current version (3.1.0)?
Thanks
Travis

Fixed in https://github.com/hercules-team/augeasproviders/commit/3ad2c57f7cc8d2ea043e18a5b52a3b32216104d0


Sets result bundle for scan temporarily until Fastlane is updated in the pipeline.

Checklist:

[xx] Did you sign the Contributor License Agreement?
[ ] Does the CI pipeline pass?

This works locally - I'm sure PR_CI will fail on tests for this PR though


Allow enabling of AES-NI support through a feature flag

This crate currently enables AES support if AES-NI support is detected (by target_feature=+aes being set somehow). To the best of my knowledge, the only way of setting this option is by setting RUSTFLAGS or by passing -C ... to rustc somehow. Sadly Cargo does not provide a sane way (that I know of) for passing such settings conditionally. Instead, you either have to pass it manually or pass it always.
But there is a way around this: aHash could include a build.rs that looks like this:
fn main() {
    if cfg!(feature = "aes") {
        println!("cargo:rustc-cfg=target_feature=\"aes\"");
    }
}

This allows setting of target_feature settings for this crate, which can then be driven by a feature flag set through Cargo. aHash could then enable AES support if it either detects AES-NI support on its own, or when forced by setting this feature flag. This in turn allows depending crates to reuse this functionality. All this makes it easier to (conditionally) build depending crates (and aHash) with or without AES-NI support.
For example, if project X depends on aHash, this setup allows users of X to enable/disable AES-NI support easily; instead of having to set RUSTFLAGS. It also allows X to enable it by default, something you can't really do with RUSTFLAGS easily that I know of (at least not without requiring users to go through a Makefile or edit Cargo.toml by hand).
I'd be happy to provide a patch adding support for this. But before I do so: does this sound reasonable, or are there perhaps better ways of doing this that I am not aware of?

Context:
In this issue I looked into enabling AES-NI support for a project of mine. I would like to enable it for all x86-64 CPUs by default, without locking the project down to specific architectures (e.g. Skylake). Using a feature flag seems most reasonable: it would be enabled by default, and if desired users can still disable it (e.g. when compiling on an x86-64 CPU that for some reason doesn't support the feature).
Assuming aHash would support the proposed setup, all I'd have to do in this case is add something like this to my Cargo.toml:
[features]
default = ["aes"}
aes = ["ahash/aes"]

Users can then build the project like so:
cargo build --no-default-features # No AES support
cargo build # AES support

That just enables the cfg flag but AFAIK doesn't actually make rustc use the AES instructions. In particular this will causes issues since LLVM not inline the AES intrinsics from core::arch, which will end up hurting performance overall.
The only way to make this work is with RUSTFLAGS or via .cargo/config.

@Amanieu That's a bummer. Thanks for the info, I'll close this issue then :smiley:

@Amanieu Just to double check: wouldn't the build.rs option emitted have the same effect as RUSTFLAGS setting it?

It seems the build.rs approach indeed does not work as I expected. I used this build.rs:
fn main() {
    println!("cargo:rustc-cfg=target_feature=\"aes\"");
}

I then used a main.rs that looks like this:
use std::process::exit;

fn aesenc(value: u128, xor: u128) -> u128 {
    use core::arch::x86_64::*;
    use core::mem::transmute;

    unsafe {
        let value = transmute(value);
        transmute(_mm_aesenc_si128(value, transmute(xor)))
    }
}

fn main() {
    let x = aesenc(42, 48);

    // This is just to make sure the `x` is not optimised away.
    if x > 0 {
        exit(0);
    }
}

I then used cargo-asm to get the assembly of the main function. I ran it like so ("playground" is the project name):
cargo asm --build-type release playground::main

This outputs the following:
playground::main:
 sub     rsp, 56
 mov     eax, 42
 movq    xmm0, rax
 movdqa  xmmword, ptr, [rsp, +, 16], xmm0
 mov     eax, 48
 movq    xmm0, rax
 movdqa  xmmword, ptr, [rsp, +, 32], xmm0
 mov     rdi, rsp
 lea     rsi, [rsp, +, 16]
 lea     rdx, [rsp, +, 32]
 call    core::core_arch::x86::aes::_mm_aesenc_si128
 mov     rax, qword, ptr, [rsp]
 or      rax, qword, ptr, [rsp, +, 8]
 jne     .LBB5_2
 add     rsp, 56
 ret
.LBB5_2:
 xor     edi, edi
 call    qword, ptr, [rip, +, _ZN3std7process4exit17h88a2719248972658E@GOTPCREL]
 ud2

Note the call to the AES function. If I set the target feature via RUSTFLAGS, it gets inlined:
playground $ env RUSTFLAGS="-C target-feature=+aes" cargo asm --build-type release playground::main
playground::main:
 push    rax
 mov     eax, 48
 movq    xmm0, rax
 mov     eax, 42
 movq    xmm1, rax
 aesenc  xmm1, xmm0
 movq    rax, xmm1
 pshufd  xmm0, xmm1, 78
 movq    rcx, xmm0
 or      rcx, rax
 jne     .LBB4_2
 pop     rax
 ret
.LBB4_2:
 xor     edi, edi
 call    qword, ptr, [rip, +, _ZN3std7process4exit17h88a2719248972658E@GOTPCREL]
 ud2

So it seems you're right: RUSTFLAGS or .cargo/config is the only way to make this work :cry:


docs: added documentation for Cypress

fix: removed an issue in cira test

Codecov Report

Merging #194 (0d30db5) into master (f7b98dc) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 0d30db5 differs from pull request most recent head 394b4ec. Consider uploading reports for the commit 394b4ec to get more accurate results

@@           Coverage Diff           @@
##           master     #194   +/-   ##
=======================================
  Coverage   50.12%   50.12%
=======================================
  Files          33       33
  Lines         822      822
  Branches       86       86
=======================================
  Hits          412      412
  Misses        377      377
  Partials       33       33

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 f7b98dc...394b4ec. Read the comment docs.


GUI: Fetch monitored services for sidebar & dashboard

Hits AWS Timestream API for table names. We only create tables for services monitored by the user so this is a clever way of knowing what services are monitored across multiple computers.

@awcrotwell I think we should try and stay away from using data as a generic variable name, it's going to get our wires crossed as we deal with each level of server requests


Fixed conflict between field ids

Summary
Field ID for Homey webhook was named 'webhook_id'. Appears to conflict with field ID on TTN server side.
Changes
Renamed webhook_id (used to enter webhook ID from Homey app) to homey_webhookID
Notes for Reviewers
Please also note logo for Homey appears to be failing/ broken when I view it
Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Compatibility: The changes are backwards compatible, they don't break existing deployments.
[x] Testing: The changes are tested.
[x] Documentation: Relevant documentation is added or updated.

@OOHehir the logo is broken because the website that is hosting it probably marked it as not servable outside their domain. It would be nice if you could host it, on an S3 bucked or something

@nejraselimovic OK, I'll create a new pull request.


Pitchbend not working during release

Serious bug - pitchbend does not work after a note has been released.   Reaper 6 ; Windows 10 ; VST2 ; VST3 ;

Fixed in 1e1432b177c3eef6d5c6a69b8e38d4c1ee87b17d


Use libz?

Hi @zecruel .
Maybe use -lz for support *.dxfz?

Hi @zvezdochiot .
Well, the project has the miniz library (https://github.com/richgel999/miniz) built in, which I think is equivalent to libz.
I particularly don't know the .dxfz format. Could you explain its purpose? Do you have an example file?

Hi @zecruel .
*.dxfz == gzip *.dxf.

In this case, it is possible to make a plugin. CadZinho has exposed zip file functions, via Lua API.
However, it is not interesting to support this file type in project. I believe it is more practical to use a system compressed file manager, since it is a regular zip file.

@zecruel say:

is not interesting to support this file type in project.

Yes. Not interesting. But most of the text (XML) based projects (abiword, gnumeric,...) use this approach.

Yes I know. By the way, we have a plugin to read XLSX files in CadZinho: https://github.com/zecruel/CadZinho/blob/opengl/script/xlsx_lua.lua


Asset hierarchy builder

Add asset-hierarchy synchronization method. Add tests. Add documentation for the core asset handling features of the SDK.

That is a pretty solid quality stamp, I'd say ;)


Verify that "Dealu Lamasoi" is listed in the drop-down menu with diacritics

Description:
When the user types "Dealu Lamasoi", the location appears written with diacritics in the drop-down menu next to the commune and county it belongs to.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Dealu Lamasoi"

Expected results
The location appears in search bar as "Dealu Lamasoi" and in the drop-down menu appears with diacritics as "Dealu Lămășoi, Alba (Albac)"


CLI flag for directory base

The ability to add a "root" or "base" directory already exists. However, it only was exposed via API and not CLI.
This adds a flag called --base-path <base> which would use that as the root. Defaults to "".
In order to wire it up into Source, and specifically the whole ParseInput*() without adding even more variants, I rewired them to just take variadic options funcs, and created the funcs for the ones we know exist. I recognize that this looks good to me, but may be a little off the wall for others. I am more than happy to take redirection on it.
I thought about doing the same in source.go with NewFromDirectoryWithName() and NewFromDirectoryRootWithName() and NewFromDirectoryWithNameVersion() and etc. etc. But that already had the *Root* variants, so I left it alone. I can add it, if wanted.
Either way, this does work.

Clean CI always is nice 😁

How can I help move this along @kzantow ?

API-wise this is about to introduce a new pattern on an object that is about to be deleted in https://github.com/anchore/syft/pull/1846 (which I'm hoping to land for final review this week). I think it makes sense to hold off on this PR, get #1846 in, then I can rebase this on the changes there.

Huzzah!

So it is just syft packages --base-path /path/to/base?
Is this going into a release version?

@deitch yes either --base-path or env var SYFT_BASE_PATH=..., it'll be in the next release, of course. We can look at getting a release done this week, does that work for you?

Sure. Can I bother you to comment here when it is in? I will start to adopt it upstream in various places then.

@deitch this has made it into a release: https://github.com/anchore/syft/releases/tag/v0.85.0

Shouldn't the base-path default to "/" instead of ""?
I solved a CI problem (that occured as of the latest syft release) by adding --base-path /.
FYI we are scanning a temp directory with symlinks to *.jar files, because we only want a report on those JARs used by our application.

@CLechleitner42 could you open an issue for this? Symlinks are hard. We probably need a broader discussion to change the behavior -- but absolutely can if it's determined to be the right thing to do!

OK, I'll create an issues shortly, first I have to make sure our CI is fixed, it blocks a major project's acceptance ;-)
Yes symlinks are not trivial to handle once you start to think about link symlinks to symlinks, loops, and so on.


HU translation

Dear All,
I have translated the MapSwipe website into Hungarian. You can deploy it.
Thanks in advance
Gábor

Thank you for your contributions! And apologies that no one has completed this process. I see that #53 has been open for a long time. I am not familiar with how to complete this but I will bring it up for discussion on the next MapSwipe community call and see how we can get this published.

Gosh, I'm not sure why I never merged this PR, it's super old now, and I normally do this on every release. Apologies for missing it, I don't know what happened, but it's clearly my mistake.
I will merge before next release, though ideally, we would update translations before doing so.


Improve code coverage (#66)

Improve code coverage

Coverage increased (+3.4%) to 100.0% when pulling 8160e3a2432e963716fd09939035c1cdd0aba597 on develop into f65846378ccdb6369914d71db607dbd320c1f98e on master.

Coverage increased (+3.4%) to 100.0% when pulling 8160e3a2432e963716fd09939035c1cdd0aba597 on develop into f65846378ccdb6369914d71db607dbd320c1f98e on master.

Coverage increased (+3.4%) to 100.0% when pulling 8160e3a2432e963716fd09939035c1cdd0aba597 on develop into f65846378ccdb6369914d71db607dbd320c1f98e on master.

Coverage increased (+3.4%) to 100.0% when pulling 8160e3a2432e963716fd09939035c1cdd0aba597 on develop into f65846378ccdb6369914d71db607dbd320c1f98e on master.


Update notification-hub-limits.md

Remove the limit on tags per installation/registration as it does not exist anymore.

@spelluru Are you currently working with Notification Hubs?  Can you verify this limitation is removed for everyone now. I'm thinking it was extended at customer request at one time and I don't know the current behavior since I haven't worked in this area in some time.

@dimazaid - Would you review the proposed changes? Thanks.

Hello - we still have tag limits per installation. @tiantun Can you ping me offline to discuss this? Thank you.

@dimazaid - Do you want to keep this pull request open or shall we close it? Thanks.

Thank you for the reply Dima, closing the request.


Broken tests:  ResponseFormats_Kestrel_ContentLength etc

A bunch of these tests were broken by the new runtime on High Sierra.
Assert.Null() Failure
Expected: (null)
Actual:   True
   at ServerComparison.FunctionalTests.ResponseTests.CheckContentLengthAsync(HttpClient client, ILogger logger)
   at ServerComparison.FunctionalTests.ResponseTests.ResponseFormats(ServerType serverType, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, Func`3 scenario, ApplicationType applicationType, String testName) in /_/test/ServerComparison.FunctionalTests/ResponseTests.cs:line 196
--- End of stack trace from previous location where exception was thrown ---
------- Stdout: -------
| TestLifetime Information: Starting test ResponseFormats_Kestrel_ContentLength_Kestrel_CoreClr_x64_Portable
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: Deploying [Variation] :: ServerType=Kestrel, Runtime=CoreClr, Arch=x64, BaseUrlHint=, Publish=False
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: Executing dotnet run --no-restore --framework netcoreapp2.1 -- --server.urls http://localhost:56915/  --server Microsoft.AspNetCore.Server.Kestrel
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: SET ASPNETCORE_ENVIRONMENT=Responses
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: SET ASPNETCORE_DETAILEDERRORS=true
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: Started dotnet. Process Id : 82402
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: Using launch settings from /Users/aspnetci/Documents/buildAgent/work/33bdfc1cae7b2a38/modules/ServerTests/test/ServerComparison.TestSites/Properties/launchSettings.json...
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: dotnet stderr: The launch profile "(Default)" could not be applied.
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: dotnet stderr: A usable launch profile could not be located.
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: Hosting environment: Responses
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: Content root path: /Users/aspnetci/Documents/buildAgent/work/33bdfc1cae7b2a38/modules/ServerTests/test/ServerComparison.TestSites/bin/Release/netcoreapp2.1/
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: Now listening on: http://localhost:56915
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: Application started. Press Ctrl+C to shut down.
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: Application ready at URL: http://localhost:56915/
| ResponseFormats Warning: Retry count 1..
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: \x1b[40m\x1b[32minfo\x1b[39m\x1b[22m\x1b[49m: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout:       Request starting HTTP/1.1 GET http://localhost:56915/
| ResponseFormats Information: Testing ContentLength
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: \x1b[40m\x1b[32minfo\x1b[39m\x1b[22m\x1b[49m: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout:       Request finished in 114.76ms 200
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: \x1b[40m\x1b[32minfo\x1b[39m\x1b[22m\x1b[49m: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout:       Request starting HTTP/1.1 GET http://localhost:56915/contentlength
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: \x1b[40m\x1b[32minfo\x1b[39m\x1b[22m\x1b[49m: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout:       Request finished in 5.546ms 200
| ResponseFormats Warning: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.NoWriteNoSeekStreamContent, Headers:
|                          {
|                            Connection: close
|                            Date: Sat, 10 Mar 2018 00:53:40 GMT
|                            Server: Kestrel
|                            Content-Length: 14
|                          }
| ResponseFormats Warning: Content Length
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: Attempting to cancel process 82402
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: dotnet stdout: Application is shutting down...
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: Unable to terminate the host process with process Id '82402
| Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Information: [Time]: Total time taken for this test variation '5.350861' seconds
| TestLifetime Information: Finished test ResponseFormats_Kestrel_ContentLength_Kestrel_CoreClr_x64_Portable in 5.351803s

Did #104 fix this?

Yes


form data in a dash.Output does not work

Using forms as State or Input in a dash.callback works fine. Using it as Output does not work. The layout will be rendered just fine but no callback works and I see a "Overlapping wildcard callback outputs" error in the browser logs.
Below is an example. The second callback causes the bug. If I remove it the other callback will work again. I also tried a allow_duplicate=True which also did not work.
I realized that there is no example in any tutorial where form data is used as Output. So probably it's rather a feature request than a bug report.
import dash_mantine_components as dmc
import dash
from dash import Input, Output, State, callback, html
from dash_pydantic_form import ModelForm
from pydantic import BaseModel, Field, ValidationError

email_regex =<EMAIL_ADDRESS>

class LoginData(BaseModel):
    email: str = Field(
        title="Email",
        description="Work email only, no gmail allowed",
        pattern=email_regex,
    )
    password: str = Field(title="Password", description="Make it strong", min_length=6)

stack = dmc.Stack(
    [
        ModelForm(LoginData, "login", "auto", submit_on_enter=True),
        html.Div(dmc.Button("Submit", id="submit", mt=-10)),
        html.Div(dmc.Button("Prefill", id="prefill", mt=-10)),
        html.Div(id="output"),
    ]
)

@callback(
    Output("output", "children"),
    Output(ModelForm.ids.errors("login", "auto"), "data"),
    Input("submit", "n_clicks"),
    Input(ModelForm.ids.form("login", "auto"), "data-submit"),
    State(ModelForm.ids.main("login", "auto"), "data"),
    prevent_initial_call=True,
)
def check_form(_trigger: int, _trigger2: int, form_data: dict):
    try:
        LoginData.model_validate(form_data)
    except ValidationError as exc:
        errors = {":".join([str(x) for x in error["loc"]]): error["msg"] for error in exc.errors()}
        return dmc.Text("Try again", fw=500, c="red"), errors

    return dmc.Text("Form is valid", c="green"), {}

@callback(
    Output(ModelForm.ids.main("login", "auto"), "data"),
    Input("prefill", "n_clicks"),
    prevent_initial_call=True,
)
def prefill(_trigger: int):
    return<EMAIL_ADDRESS>password="abcabc").model_dump()

dash._dash_renderer._set_react_version('18.2.0')
app = dash.Dash(__name__, external_stylesheets=dmc.styles.ALL)
app.layout = dmc.MantineProvider(stack)

if __name__ == '__main__':
    app.run_server()

As you say this is not currently supported. An easy workaround however is to target the parent of the form in the callback and replace it with a new one.

That works very well for me. Thanks a lot!


fix: Increase csr wait time

Increase csr wait time, to resolve low network performance issues.

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


users_can_select_backend defaults to true

Thanks for submitting an issue to cloud_controller_ng. We are always trying to improve! To help us, please fill out the following template.
Issue
users_can_select_backend defaults to true
Context
The DEAs are gone. Trying to set the backend will only bring sadness.
Possible Fix
users_can_select_backend should default to false

@zrob sounds reasonable to me. WDYT?

We should just go ahead and remove this property entirely

it's gone!


Centos 7 not supported by terminal - CXXABI version

VS Code's Terminal appears to require libstdc++ v6.0.20 or newer (gcc 4.9.x) but Centos 7 libstdc++ supplies 6.0.19 without the CXXABI version required.
Is there a workaround? Cannot find a way to update Centos 7 version of libstdc++
Using latest vscode and latest centos 7

/duplicate and CXXABI is a good term to search open issues with.


MatrixSubstract should be Subtract

Typo in the function name.

Thanks for the review! Corrected in commit https://github.com/raysan5/raylib/commit/cd6c36248531e9fe4b9e3220f34fd1d4a66c6533.


Can items belong to multiple collections?

Currently the item spec has the collection field which is a string.  Could this be a list instead?  It seems possible that an item could and should belong to multiple collections.

No, that's not possible at the moment. Indeed, there's theoretically the possibility to add two collection links, but the collection field doesn't allow a list of values. Just making it a list is not just that as it would/could lead to conflicts with the commons extension. What do you think @matthewhanson ?

I'm inclined to say that there are others ways to model this with the current structure, and that it keeps clients a lot simpler if they don't have to check multiple collection links and try to interpret what that means. Like it seems to imply multiple inheritance potentially, which may be useful, but also is a lot more complicated.
I'd say if the desire is to represent the same 'thing' in multiple collections then you could just have two items that have a relation to each other, that says 'this item in another collection is the same as me'.  Or if the important thing is for an item to link to two collection json files then you can have one be the collection field, and then add a 'link' to the other collection that should be used.
I could be convinced if there's really clear use cases that really require this, but if it's just a desire to have a single item included in multiple containers then I'd say just use links and propose an extension.

The use of the 'Commons extension really makes this a major headache, as it means you would have to consider inheritance from multiple items.
However, we are discussing removing the Commons extension, which makes this much easier. But I agree with @cholmes I'm not sure if there's a real need for this.

If Commons goes away, I guess the only issue to make it more flexible is to make the collection property in the Item an array (or remove it altogether and use the link references somehow).

A common query on Items is to find all Items belonging to a certain collection. This is more difficult if the server must parse the entire links array to find collections....and it's also not guaranteed that the collection link includes the collection ID - you'd have to follow the link to get the collection ID.

So Commons has been removed, but now there's the Item Asset extension. How do we proceed? Should we allow multiple collections in the collections field?

We also had a need in having items that belong to multiple collections. It ended up being a STAC Layer / Group Extension which adds a separate concept of 'layers': groups of items the belong to different collections. Each layer can also have a summary about all items that belong to it.
How much it makes sense to push this idea towards being an extension rather than being a change in the collections relationship?
To make it work, STAC API would only have to implement a query extension. However, to request layer 'summaries', it would be neccesary to implement STAC API Layer Extension.

During the STAC sprint we talked a bit about the Layer Extension and about items belonging to multiple collections;
The conclusion was that probably we don't need it (both: layer extension and items with multiple collections), but what can be an option is the Aggregation extension, where the result of the aggregation can be represented as a collection.
/cc @matthewhanson @m-mohr

Conclusion: We discussed that in the Python room today and came to the conclusion that this is likely not needed. You can have multiple collections referring to a single item, but you always have a just a single collection you inherit from. If you want to do aggregations, we need to come up with API aggregation functionality and will work on that tomorrow. If you create new/dynamic collections on top of existing items, then you can't change the item anyway. So closing this.


fix: enUs locale spelling of canceled

Fixes #2495 (i85n enUs locale spelling of 'canceled')
Changes proposed in this pull request:

Changed spelling of "cancelled" to "canceled" in the src/shared/locales/enUs/medications/index.ts file.

Newly added dependencies with Bundlephobia links:
-None-
Note: pull requests without proper descriptions may simply be closed without further discussion. We appreciate your contributions, but need to know what you are offering in clearly described format. Provide tests for all code that you add/modify. If you add/modify any components update the storybook. Thanks! (you can delete this text)

LGTM, thanks @FanciestW


Add unified struct validation

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #1

PR #2

PR #3

PR #4

PR #6

PR #7   👈

PR #5

This stack of pull requests is managed by Graphite.


Lot sass color variable make white screen on android

Ionic version:  (check one with "x")
[ ] 1.x
[x] 2.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
When we use "to many" colors variables in theme/variables.scss color(), then we get a white screen at startup.
Expected behavior:
App start normally without white screen
Steps to reproduce:

Create a new App, for example :
ionic start checkColorBug sidemenu --v2

Modify color variable in app/theme/variables.css
$colors: ( primary:    #387ef5, secondary:  #32db64, danger:     #f53d3d, light:      #f4f4f4, dark:       #222, dark1:       #222, dark2:       #222, dark3:       #222, dark4:       #222, dark5:       #222, dark6:       #222, dark7:       #222, dark8:       #222, dark9:       #222, darka:       #222, darkz:       #222, darke:       #222, darkr:       #222, darkt:       #222, darky:       #222, darku:       #222, darki:       #222, darko:       #222, darkp:       #222, darkq:       #222, darks:       #222, darkd:       #222, darkf:       #222, darkg:       #222, );

Other information:
There is some cartesian product made for sass. Then with the cleanCss step, all values are merged.
It look that the cleanCss process make a to big line for android web view to understand it.
the app crash and an opacity: .4 is presented.
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.13
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.45
ios-deploy version: 1.9.0
ios-sim version: 5.0.11
OS: macOS Sierra
Node Version: v5.0.0
Xcode version: Xcode 8.1 Build version 8B62

I can confirm this. That's the reason why we override the cleancss config to not override the original main.css file in build folder.

Same problem.
It would be nice to avoïd generating so many css class (color^2) for component like toolbar, as we usually use one color for the whole application.

This issue was moved to driftyco/ionic-app-scripts#506


Populate NodePort endpoint address on the backend

Today ip address for endpoint having allNodes=true, gets populated on the UI side. We have to populate it on the backend as some UI users might not have access to host(s) to fetch the ip

Duplicate/fix for https://github.com/rancher/rancher/issues/12849


azure-iot-hub not available for pip installation

Just tried to install azure-iot-hub using pip on my Ubuntu:
sudo pip3 install azure-iot-hub
error message is as below
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 342, in run
    requirement_set.prepare_files(finder)
  File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/lib/python3/dist-packages/pip/index.py", line 568, in _get_pages
    page = self._get_page(location)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 683, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/lib/python3/dist-packages/pip/index.py", line 795, in get_page
    resp.raise_for_status()
  File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/models.py", line 935, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://pypi.org/simple/azure-iot-hub/

Most likely it boils down to nothing being available at https://pypi.org/simple/azure-iot-hub/ ?

The package has not been released yet. We are planning for the first release of azure-iot-hub on October 15th

Any news on this ?

The package has been released as of yesterday:
https://pypi.org/project/azure-iot-hub/

@bukarev, @abouroubi, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey

We still have : "Note that these SDKs are currently in preview, and are subject to change."
What kind of change are expected?
Can I start the upgrade to this version in my production devices?
Or will I have to update my code in few weeks because it is not stable


Configure image options for caches

When configuring two WMS sources with transparent image options and two caches, requesting with an empty cache will result in proper merged transparent images. Once the cache contains the (properly stored transparent) tiles the merge will result in the tiles not being transparent any more as the ImageSource instances are created without image_opts.
If image options are configured on file caches they were only used to determine the file format to store the tiles. This PR changes that to also pass the image options to the ImageSource instances, resulting in proper behaviour when merging images.

Nice! Maybe you can add tests for the new behaviour?

Nice! Maybe you can add tests for the new behaviour?

Funnily enough, the behaviour was already specified in the spec.py, so I just added a test to see that validation does not fail when caches are configured with image.

All right then, thanks for the fix!


Dev server does not work in IE 11

Linked to issue: nolimits4web/Framework7#1430

Fixed in Framework7-Vue


Use SignalR In MudBlazor.Templates , StateHasChanged invalid

Bug type
Component
Component name
No response
What happened?
I would like to create a simple competition page where the host can modify the data and synchronously update each contestant's page display through SignalR. But the player's client data changed, but the page did not refresh, and StateHasChanged did not work. I am now creating a Chat room based on Microsoft Documentation and have found that there is no problem with using MudBlazor, but there are issues with using it.
Microsoft Documentation ：https://learn.microsoft.com/zh-cn/azure/azure-signalr/signalr-tutorial-build-blazor-server-chat-app?cid=kerryherger#build-a-local-chat-room-in-blazor-server-app
Expected behavior
MudBlazor Timely refresh of multi person chat room component data
Reproduction link
https://github.com/KiisMyGun/TestMud.git
Reproduction steps
1.dotnet new --install MudBlazor.Templates
2.dotnet new mudblazor --host wasm --name MyApplication (can update mudblazor 6.2.2)
3.dotnet add package Microsoft.AspNetCore.SignalR.Client --version 3.1.7
5.Microsoft Documentation add file:BlazorChatSampleHub.cs,ChatRoom.razor
6.update Program.cs : app.MapHub<BlazorChatSampleHub>(BlazorChatSampleHub.HubUrl);
7.run
Relevant log output
No response
Version (bug)
6.2.2
Version (working)
No response
What browsers are you seeing the problem on?
Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[X] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi. Your reproduction link gives 404

@ScarletKuro sorry，The repertory is now public ,The link can be opened now

Have you tried to replace StateHasChanged to InvokeAsync(StateHasChanged);? The thing is that when BroadcastMessage fires it's not on UI thread.

@ScarletKuro
Thank you, that's true.
Could you please help me explain that the tutorials in Microsoft documentation are okay, but MudLazor Templates are not? Did Muds kidnap the UI thread?
be deeply grateful

When I open English Microsoft documentation I see
https://learn.microsoft.com/en-us/azure/azure-signalr/signalr-tutorial-build-blazor-server-chat-app#build-a-local-chat-room-in-blazor-server-app
InvokeAsync(StateHasChanged);

Your example probably contains a code mistake or old code for .net5

@ScarletKuro
What I see in China is indeed different from what I see in the United States. But I did test using the. net7 project to ensure that the components of the two chat pages were properly refreshed (without any Mudblazor, use StateHasChanged() ). If you are interested in this, you can take a look at this link  https://github.com/KiisMyGun/BlazorChat.git

There are some differences between the examples you provided:
The BlazorChat project (at https://github.com/KiisMyGun/BlazorChat) is using version 3.1.7 of Microsoft.AspNetCore.SignalR.Client.
The TestMud project (at https://github.com/KiisMyGun/TestMud/blob/master/TestMud.csproj) is using version 7.0.5 of Microsoft.AspNetCore.SignalR.Client.
If you were to update the BlazorChat project to use 7.0.5 version of Microsoft.AspNetCore.SignalR.Client, the behavior would become similar to the TestMud project. Specifically, the state would not always be updated; it would only be updated when you click a button. This is because Blazor by design rerenders after every EventCallback invoke.
The reason for this difference in behavior between 3.1.7 and more recent versions of Microsoft.AspNetCore.SignalR.Client is that 3.1.7 was likely capturing the SynchronizationContext, while more recent versions are not. This is why the projects behave differently.
I hope this explanation helps.

thanks


Glitched GUI rendering on connections from RDP to GNOME Desktop on CentOS 7

Hi there,
I installed Ghidra 9.0.2 on my CentOS 7 server which has GNOME as desktop GUI. When I connect to the server by RDP from my Windows 10 laptop I get a very bad and glitched GUI display of Ghidra.
To Reproduce
Steps to reproduce the behavior:

Deploy a CentOS 7 server,
Install GNOME desktop on it,
Install xRDP to server
Install Ghidra 9.0.2 on server
Connect through RDP to the server and start Ghidra.

These will be the finishing results: (SCREENSHOTS)
http://prntscr.com/n8te77
http://prntscr.com/n8tgbe
**Environment: **

OS: CentOS 7 Core (64 bits with GNOME Desktop as GUI and xRDP as RDP server daemon)
Java Version: 11.0
Ghidra Version: 9.0.2

Glitched GUI only appears for Ghidra or other GUI apps or other Java apps (you can test BinDiff, for example)?
BTW, I use VNC and SSH with X forwarding. It is works very well for me (only Linux <-> Linux tested).

Are you running multiple monitors?

Are you running multiple monitors?

Yes.

I am going to close this as a duplicate of #161.  Please check out the conversation over there to see potential workarounds.


Deserialization of object with private setter does not provide warning/error

When serializing an object with a private setter, and the value cannot be set, I expect to see some error or trace warning. Eating this condition makes it very difficult to find a but in deserialization. I understand that there are other ways to deserialize this: JsonProperty attribute, or constructor parameter that is named same as property, but I won't know to use one of these without a fair amount of pain.
class Test1
{
    public string Value { get; private set; }
}

[TestClass]
public class UnitTest1
{
    private const string json = "{\"Value\":\"Hi\"}";

    [TestMethod]
    public void TestMethod1()
    {
        //  BUG: Happily constructs the object without setting the value!
        //  I think this should throw an exception, or at the very least, trace some output to show a warning.
        var obj = JsonConvert.DeserializeObject<Test1>(json);
        Assert.AreEqual("Hi", obj.Value);
    }
}

Created pull request #575 to address.


Generation Date

It would be helpful to include the generation timestamp either in the html meta tags or visible somewhere in the generated page.

I can add this next week!

Where should this date be printed, do you think?

I think there are two candidate: at the top and bottom.
At the top, It could appear as one of the starting headers:
Generated: YYYY MMMM DD, HH:MM:SS GMT
At the bottom, same data format but probably in italics.
I imagine having a flag to turn this on or off will be useful, in the case folks don't want the date present in the text.

+1 for this.

Related to https://github.com/decentralized-identity/credential-manifest/issues/16


Fixed Minor broken code in Total Variation Denoising Notebook

Fixes #34
Summed up the loss as loss was a tensor. This fixes loss.item() The functionality is similar to the older code.

Check out this pull request on
See visual diffs & provide feedback on Jupyter Notebooks.
Powered by ReviewNB

This doesn't show the output of the changes but it is appearing in my local as well as colab

awesome ! now that you are here, could be great to also add the HF gradio badge https://github.com/kornia/tutorials/pull/33

awesome ! now that you are here, could be great to also add the HF gradio badge #33

Done !


Add Oracle Linux to support tables

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


replace Attached condition with Accepted in HTTPRoute docs

The HTTPRoute docs have several references to
an "Attached" condition, however this condition
does not exist for routes. Replaces these
references with the appropriate "Accepted"
condition.
Signed-off-by: Steve Kriss<EMAIL_ADDRESS>What type of PR is this?
/kind documentation
What this PR does / why we need it:
The HTTPRoute docs have several references to
an "Attached" condition, however this condition
does not exist for routes. Replaces these
references with the appropriate "Accepted"
condition.
See https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io%2Fv1beta1.RouteConditionType for the list of valid Route condition types and reasons.
Which issue(s) this PR fixes:

Does this PR introduce a user-facing change?:

NONE

This change is one hundred percent correct as per the current spec, but I'm currently working on a status rewrite which proposes we move to Attached everywhere. So maybe this should wait until I finish that up and we discuss it?

This content likely needs to be revisited now that #1383 has merged.

So this was just trying to fix a bug in the v0.5.0 spec/docs, but I guess at this point it's probably missed the boat for inclusion in v0.5.1? If so, and the broader v0.6.0 conditions changes will cover this, then we can just close this one out and live with the v0.5.x docs bug.

Rebased in case we want to include it in v0.5.1, if not, and will be covered by larger v0.6 changes, feel free to close.

Thanks @skriss! If you follow up with a cherry-pick PR into release-0.5, I'll add it to the v0.5.1 changelog.
/lgtm
/approve


UEFI Boot Support for Bare Metal Installs

Current situation
Existing documentation indicates that UEFI boot support is not available and that the original CoreOS team did not have sufficient time to implement it prior to the acquisition by RedHat.
Impact
The lack of UEFI boot support precludes the ability to boot from PXE with non-embedded NICs (a la 10GB PCIe). Also prevents usage of UEFI Secure Boot.
Ideal future situation
Enable support for UEFI boot on bare metal systems.
Implementation options
[ Optional: please provide one or more options for implementing the feature requested ]
Additional information
Appreciate you guys continuing on with the CoreOS philosophy! I'm looking to move my K8s installs over to flatcar from Ubuntu via the Typhoon tooling.

One other thing I just discovered, newer, particularly embedded systems are being released without SCM/legacy BIOS support:
https://forum.odroid.com/viewtopic.php?t=33097
https://www.anandtech.com/show/12068/intel-to-remove-bios-support-from-uefi-by-2020
Intel NUCs are having their legacy boot option removed by firmware update: https://community.intel.com/t5/Intel-NUCs/legacy-boot/td-p/585096?profile.language=en

And it would appear that fedora-coreos does support UEFI: https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/

Hey Ryan,
We actually test UEFI on a few platforms and it works fine. It's possible that this is just a documentation issue and we need to update our docs to say that we support UEFI. Or maybe there's some specific use case that needs to get UEFI support and doesn't have it yet.
Did you encounter any specific issues trying to use UEFI? If yes, please detail your use case and the problems you encountered. If you assumed it wouldn't work because of the docs, then please try it out and let us know. Thanks!

@marga-kinvolk,
Great news!
I've been trying to get it to work with systems deployed via PXE/iPXE & Matchbox. System installs fine, but does not register as an available boot option within the UEFI firmware. Is there a particular switch that needs to be passed to the system for the UEFI install or should it auto-detect based on boot type?

Here is the resultant partition table on the disk:
Disk /dev/nvme0n1: 223.6 GiB,<PHONE_NUMBER>36 bytes, 468862128 sectors
Disk model: KINGSTON SA1000M8240G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 00000000-0000-0000-0000-000000000001

Device           Start     End Sectors  Size Type
/dev/nvme0n1p1    4096  266239  262144  128M EFI System
/dev/nvme0n1p2  266240  270335    4096    2M BIOS boot
/dev/nvme0n1p3<PHONE_NUMBER>487 2097152    1G unknown
/dev/nvme0n1p4 2367488 4464639 2097152    1G unknown
/dev/nvme0n1p6 4464640 4726783  262144  128M Linux filesystem
/dev/nvme0n1p7 4726784 4857855  131072   64M unknown
/dev/nvme0n1p9 4857856 9285631 4427776  2.1G unknown

Can you give more details on how you're doing the installation? What command are you using to install? Which image are you installing?
Also, which channel are you using?  If you've tried stable, please also try the beta channel in case your issue is fixed with the upcoming update (the new version that's about to go to stable includes a ton of changes).

Yup. Here's the config files that the system installs with. I'm using Beta channel, 2605.3.0.
profile:
{
        "id": "k8s-cached-flatcar-linux-install-h2-0",
        "ignition_id": "k8s-cached-flatcar-linux-install-h2-0.yaml.tmpl",
        "boot": {
                "kernel": "/assets/flatcar/2605.3.0/flatcar_production_pxe.vmlinuz",
                "initrd": [
                        "/assets/flatcar/2605.3.0/flatcar_production_pxe_image.cpio.gz"
                ],
                "args": [
                        "initrd=flatcar_production_pxe_image.cpio.gz",
                        "flatcar.config.url=http://matchbox.holthome.net:8070/ignition?uuid=${uuid}\u0026mac=${mac:hexhyp}",
                        "flatcar.first_boot=yes",
                        "console=tty0",
                        "console=ttyS0"
                ]
        }
}

ignition profile:
---
systemd:
  units:
    - name: installer.service
      enabled: true
      contents: |
        [Unit]
        Requires=network-online.target
        After=network-online.target
        [Service]
        Type=simple
        ExecStart=/opt/installer
        [Install]
        WantedBy=multi-user.target
    # Avoid using the standard SSH port so terraform apply cannot SSH until
    # post-install. But admins may SSH to debug disk install problems.
    # After install, sshd will use port 22 and users/terraform can connect.
    - name: sshd.socket
      dropins:
        - name: 10-sshd-port.conf
          contents: |
            [Socket]
            ListenStream=
            ListenStream=2222
storage:
  files:
    - path: /opt/installer
      filesystem: root
      mode: 0500
      contents:
        inline: |
          #!/bin/bash -ex
          curl --retry 10 "http://matchbox.TLD:8070/ignition?{{.request.raw_query}}&os=installed" -o ignition.json
          flatcar-install \
            -d /dev/nvme0n1 \
            -C beta \
            -V 2605.3.0 \
            -b http://matchbox.TLD:8070/assets/flatcar \
            -i ignition.json
          udevadm settle
          systemctl reboot
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDgWHeNLYHvFUf2XJnjgQ0jA+ZfcqY3JTQcEApTXl7lf1TagWvckoy57uA2Uifk5xct9G/IjoASWYy702yB8m6AWvYhdKBQ4wSnJRi587cuWYVUYLYns2qbEqejLIrKwo6SzSD3m3sg2xb0kpJQr1lA14WKhCnHQ7FSCmuNr3APbWeD7EvPfmwYcddVUVY6zbyjA8C04esSOWiekJTNKicKtolycrJZVgSCKaG68OeK7YioPiGCi7mbGteLSmoAsIrK/q18IUiY0aLgfuUINdO0FpfWcVkxjzdbPY1xWIcRDg4Tb4rfZjoTycVpnj8pwmpvfmspRcTpx7LgyLO8cwl"

Could it be an issue with the partition table being placed on the drive? Getting these errors in the console before it reboots:

You mentioned not seeing the image from the UEFI firmware... Do you see a GRUB menu when it reboots? I think our UEFI installations all go through GRUB. I don't think we've tested booting directly from the firmware.

Hey @marga-kinvolk -- Doesn't get to a grub screen. I get a black screen post firmware.

I also ran into a similar problem with UEFI booting a bare-metal install of Flatcar-Linux (2705.1.0 & 2723.0.0, earlier release install fail completely) on Odroid-H2+ hardware. The installation was successful using PXE but once it had finished and tried to boot the installed Flatcar-Linux from the filesystem it fails with "Failed to Set MokListRT: Not Found".
I mounted the /boot partition from a livedisk and the efibootmgr entry regarding boot disk UUID and bootx64.efi file location looks to be correct.

@pysen my device was also an h2

@pysen my device was also an h2

I was able to successfully boot my Odroid-H2+ with the latest 1.22 firmware and Flatcar-Linux Alpha 2723.0.0.
The issue with the "Failed to Set MokListRT: Not Found" is no longer present like it was on the previous 1.12 firmware that the board was delivered with.
I was able to get rid of the MokListRT error on firmware 1.12 by adding a MOK following the Debian wiki instructions at https://wiki.debian.org/SecureBoot#MOK_-Machine_Owner_Key but the boot process stalled at a black screen with a single underscore "" symbol and not proceed to the grub menu.
The bios update files can be found on the Odroid wiki for anyone having this issue.
@marga-kinvolk I believe this issue can be closed.

I was able to successfully boot my Odroid-H2+ with the latest 1.22 firmware and Flatcar-Linux Alpha 2723.0.0.
The issue with the "Failed to Set MokListRT: Not Found" is no longer present like it was on the previous 1.12 firmware that the board was delivered with.
I was able to get rid of the MokListRT error on firmware 1.12 by adding a MOK following the Debian wiki instructions at https://wiki.debian.org/SecureBoot#MOK_-Machine_Owner_Key but the boot process stalled at a black screen with a single underscore "" symbol and not proceed to the grub menu.
The bios update files can be found on the Odroid wiki for anyone having this issue.
@marga-kinvolk I believe this issue can be closed.

@carpenike This may have been a firmware issue - UEFI boot is supported on all platforms. What doesn't work is secure boot, unless you enroll our special keys in your firmware but there no guides to do so. We'll track secure boot here: #501. Closing, please reopen if needed.

@carpenike This may have been a firmware issue - UEFI boot is supported on all platforms. What doesn't work is secure boot, unless you enroll our special keys in your firmware but there no guides to do so.

@jepio
I believe this issue should be re-opened. UEFI boot does not work when using the flatcar_production_iso_image.iso image on UEFI bare metal. In my case, a Dell PowerEdge R450 with Secure Boot disabled running Flatcar LTS 3033.3.0. Flatcar will only boot with the iso when I change the mode to standard BIOS.
Please don't confuse what works (PXE/iPXE bootstrapping) with installing a standalone Flatcar server and no supporting infrastructure. In some of my environments I intended to have the very first server run Flatcar. But I have to snowflake the box and run BIOS instead of UEFI.

I believe this issue should be re-opened. UEFI boot does not work when using the flatcar_production_iso_image.iso image on UEFI bare metal.

Just following up to my post because I witnessed some odd behavior. While the Flatcar .iso boots only with standard BIOS to perform a flatcar-install, I had to change BIOS back to UEFI in order to boot into installed instance.

This issue looks to be firmware related as it happened again on Odroid-h3+, issue opened on https://forum.odroid.com/viewtopic.php?f=173&t=46878&p=371199#p371199

I am also getting the Failed to set MokListRT: Not Found error trying to boot flatcar (installed the alpha) on my Minisforum NPB7. If I enable secure boot, I get a different error (https://github.com/flatcar/Flatcar/issues/501#issuecomment-1583470286).
@pysen and @carpenike did you manage to get through this? Would you recommend looking for a firmware update? or manually adding a MOK file?

Failed to set MokListRT: Not Found message may appear during boot but this should not be a blocker. If you could create a separate issue for any boot issue you are seeing @saulshanabrook , that would be great.


[schema] enable Schema.AUTO if functions or connectors are using GenericRecord

Motivation
For connectors like JDBC connector, we will be using GenericRecord for mapping individual fields to the sink destination. If a function or connector is programming using the GenericRecord, pulsar should use Schema.AUTO to detect schema automatically.
Modifications
Enable Schema.AUTO in functions and connectors
Result
We are able to use GenericRecord in functions and connectors.

run java8 tests

run integration tests


implemented & covered float.signum

Fixes #234

@yegor256/z everybody who has role REV is banned at #261; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 5min)

Job gh:cqfn/eo#261 is not assigned, can't get performer


Add option to configure milliseconds in the SchedulerBuilder

As cron string doesn't support milliseconds, it would be cool to add option to schedule job with delay in ms to the SchedulerBuilder class.

Hi and thank you for your issue :) I will take a look asap to add milliseconds


Doesn't work for League of Legends client update

Requests come through when the updated League of Legends launches (verified by tailing the logs), but something causes it to fail to patch.

Not sure as of this point in time, but the new patcher may be forcing HTTPS and validating certificates.

I've figured out and fixed why League does not work at all. I have my own fork that merges steamcache and generic: https://github.com/kixelated/steamcache

League's CDN does not support the slice module. While downloading, you get random errors because the ETag mismatches between slices. This is pretty bad because nginx doesn't know if it's downloading the same file when the ETag randomly changes. My fix is to just disable slicing for League (this is what multiplay/lancache does).

Everything may work for a few days, but eventually you stop being able to load into a game. It's because this config ignores the Expire/Cache-Control header. League polls a file containing the current patch version every 30 seconds. Normally this file has an expires header, but steamcache ignores it and caches the file for a year instead. The client will never learn there is a new patch and will be rejected by the game server.

I don't think it's possible to have a one-size-fits-all caching strategy. Slice is needed for Origin/Battle.net/Windows but not needed for Steam and will not work for League. Steam and Battle.net also need to ignore cache headers, meanwhile Riot and probably others should obey them. It's annoying but you need to treat these services separately.

@kixelated Awesome! I've tried out your container, but it appears to be having a different issue:
2017/02/27 01:07:03 [crit] 12#12: *9 pwritev() "/data/tmp/0000000011" has written only 4096 of 8192 while reading upstream, client: <IP_ADDRESS>, server: riot, request: "GET /re
leases/Maclive/projects/league_client/releases/<IP_ADDRESS>/packages/files/BIN_0x00000002 HTTP/1.1", upstream: "http://<IP_ADDRESS>:80/releases/Maclive/projects/league_client/releas
es/<IP_ADDRESS>/packages/files/BIN_0x00000002", host: "l3cdn.riotgames.com"
2017/02/27 01:07:13 [crit] 12#12: *22 pwritev() "/data/tmp/0000000012" has written only 4096 of 8192 while reading upstream, client: <IP_ADDRESS>, server: riot, request: "GET /r
eleases/Maclive/projects/league_client/releases/<IP_ADDRESS>/packages/files/BIN_0x00000002 HTTP/1.1", upstream: "http://<IP_ADDRESS>:80/releases/Maclive/projects/league_client/release
s/<IP_ADDRESS>/packages/files/BIN_0x00000002", host: "l3cdn.riotgames.com"
<IP_ADDRESS> - - [27/Feb/2017:01:07:13 +0000] riot "GET l3cdn.riotgames.com/releases/Maclive/projects/league_client/releases/<IP_ADDRESS>/packages/files/BIN_0x00000002" - 200 190983
357 "-"  MISS -<PHONE_NUMBER>04
2017/02/27 01:07:24 [crit] 12#12: *25 pwritev() "/data/tmp/0000000013" has written only 4096 of 8192 while reading upstream, client: <IP_ADDRESS>, server: riot, request: "GET /r
eleases/Maclive/projects/league_client/releases/<IP_ADDRESS>/packages/files/BIN_0x00000002 HTTP/1.1", upstream: "http://<IP_ADDRESS>:80/releases/Maclive/projects/league_client/release
s/<IP_ADDRESS>/packages/files/BIN_0x00000002", host: "l3cdn.riotgames.com"
<IP_ADDRESS> - - [27/Feb/2017:01:07:24 +0000] riot "GET l3cdn.riotgames.com/releases/Maclive/projects/league_client/releases/<IP_ADDRESS>/packages/files/BIN_0x00000002" - 200 196938
981 "-"  MISS -<PHONE_NUMBER>56

I'm running it using a 5TB external hard drive as the cache volume (not sure if that has something to do with it).  Adding fastcgi_buffering off to nginx.conf seems to have resolved the issue!

@pyro2927 Do you mean proxy_buffering off? We don't use fastcgi so I don't think that option will have an effect. Either way, it makes sense to turn buffering off because for our use case, clients will almost always be faster than the upstream.

Maybe it's purely coincidence?  I definitely used fastcgi_buffering off and not proxy_buffering, though as soon as I added that to the nginx config and build the container myself it started working.

And for future reference, don't use proxy_buffer off because it actually disables caching completely (undocumented of course). 4Head

We came to a similar conclusion in thinking that a one-size-fits-all caching strategy isn't possible, although this generic container comes close.
Need to investigate League of Legends and the slice module. We haven't hit that issue with this container yet.
Offering the ability to run it without the slice option would be quite simple however, sounds like a good feature request to me.

Hi @kixelated @astrolox @pyro2927 ,
I have created my cache server using Q-Con/qcacher and it seems to work fine, except for Riot League of legends, it give the error shown in the picture above.
I have read the disabling slicing or setting fastcgi_buffering off would solve the issue, but could you please help me on where to make those modifications? is it in the riot.conf file where riot's DNS records are? or i am obliged to do it for the whole server in nginx.conf?
Thanks in advance,
Elie

@ekhoury2000 If you're using qcache, you should probably ask those guys for help. The advice in this thread is specific to steamcache and my fork. For example, qcache doesn't appear to use slice so disabling it isn't an option.

@kixelated Thank you for your reply,
Since using steamcache and lancache on same server is impossible due to the ports limitation, i have created 2 servers, one for steamcache for steam games and one lancache for all other games like riot and blizzard.
i tested riot lol and it worked fine, but can i use your lancache to add more services? like twitch, youtube, .... maybe some other game clients?
Thanks a lot

My fork combines steamcache and steamcache/generic so you don't have that issue. Twitch is actually impossible to cache now because we switched over to HTTPS and even then, the URLs are unique per user. You can blame me for that one, I actually implemented it (I work for twitch).

@kixelated Oh thank you, i will try your for alone and let you know :) thanks a lot appreciate the help

Suggestions for fixing:

Separate tag for slice disabled/not ignoring expiry (keeps it within this project)
Fork to steamcache-league (Better fits with the ideology of this project)

My preference would be the second option, however the name of this project is unfortunate!

I've implemented a fix for League where we don't cache the .version and release listing files.


Install the Cloud Foundry Command Line Interface (CLI)

Tutorial URL: https://developers.sap.com/tutorials/cap-service-deploy.html
Installing Cloud Foundry CLI on windows, report to this issue
cloudfoundry/docs-cf-cli#57
For Windows 10 user, type :
SET HOMEDRIVE=C:
to solve the issue :
mkdir P:: The system cannot find the path specified.

Thank you for contacting us. Please close this issue cause it is a duplicate and already reported in #5019.


Cached dataset overflowing disk space

I'm training a Swedish Wav2vec2 model on a Linux GPU and having issues that the huggingface cached dataset folder is completely filling up my disk space (I'm training on a dataset of around 500 gb).
The cache folder is 500gb (and now my disk space is full).
Is there a way to toggle caching or set the caching to be stored on a different device (I have another drive with 4 tb that could hold the caching files).
This might not technically be a bug, but I was unsure and I felt that the bug was the closest one.
Traceback (most recent call last):
File "/home/birger/miniconda3/envs/wav2vec2/lib/python3.7/site-packages/multiprocess/pool.py", line 121, in worker
result = (True, func(*args, **kwds))
File "/home/birger/miniconda3/envs/wav2vec2/lib/python3.7/site-packages/datasets/arrow_dataset.py", line 186, in wrapper
out: Union["Dataset", "DatasetDict"] = func(self, *args, **kwargs)
File "/home/birger/miniconda3/envs/wav2vec2/lib/python3.7/site-packages/datasets/fingerprint.py", line 397, in wrapper
out = func(self, *args, **kwargs)
File "/home/birger/miniconda3/envs/wav2vec2/lib/python3.7/site-packages/datasets/arrow_dataset.py", line 1983, in _map_single
writer.finalize()
File "/home/birger/miniconda3/envs/wav2vec2/lib/python3.7/site-packages/datasets/arrow_writer.py", line 418, in finalize
self.pa_writer.close()
File "pyarrow/ipc.pxi", line 402, in pyarrow.lib._CRecordBatchWriter.close
File "pyarrow/error.pxi", line 97, in pyarrow.lib.check_status
OSError: [Errno 28] Error writing bytes to file. Detail: [errno 28] No space left on device
"""
The above exception was the direct cause of the following exception:

I'm using the datasets concatenate dataset to combine the datasets and then train.
train_dataset = concatenate_datasets([dataset1, dataset2, common_voice_train])

Hi @BirgerMoell.
You have several options:

to set caching to be stored on a different path location, other than the default one (~/.cache/huggingface/datasets):

either setting the environment variable HF_DATASETS_CACHE with the path to the new cache location
or by passing it with the parameter cache_dir when loading each of the datasets: dataset = load_dataset(..., cache_dir=your_new_location)

You can get all the information in the docs: https://huggingface.co/docs/datasets/loading_datasets.html#cache-directory

I wouldn't recommend disabling caching, because current implementation generates cache files anyway, although in a temporary directory and they are deleted when the session closes. See details here: https://huggingface.co/docs/datasets/processing.html#enable-or-disable-caching

You could alternatively load the datasets in streaming mode. This is a new feature which allows loading the datasets without downloading the entire files. More information here: https://huggingface.co/docs/datasets/dataset_streaming.html

Hi @BirgerMoell,
We are planning to add a new feature to datasets, which could be interesting in your case: Add the option to delete temporary files (decompressed files) from the cache directory (see: #2481, #2604).
We will ping you once this feature is implemented, so that the size of your cache directory will be considerably reduced.


Added New Build Task - Transform Entitlement Property

My Problem
While building an iOS app that requires push notification I have set the entitlements.plist to include the following property
<dict>
    <key>aps-environment</key>
    <string>development</string>
</dict>

The problem comes when I want to transition from a development environment to a production environment. I was unable to publish my build to the Apple App Store or Test Flight until I updated the xml to read as follows:
<dict>
    <key>aps-environment</key>
    <string>production</string>
</dict>

This is a simple transform that we should be able to apply at build time depending on the build we are running. The version number build tasks are very specific which is good. We should add a new task that allows us to leverage the more of the PlistBuddy command to provide more customization to a plist file and in our case here the entitlements.plist file.
Solution
Create a new VSTS Build Task that provides support to edit entitlement.plist properties.
Sample Build Configuration

Sample Build Output

As part of this pull request I updated the extension version to 8 since we are adding a new task to the suite of mobile tasks

@jamesmontemagno any chance we can get this reviewed and merged in so we can have the new task available on your marketplace extension. Currently I have a private extension that I am using but would love to have this in the one everyone is using

@ahoefling any changes here or you think is good to go?

@jamesmontemagno I just updated the branch with additional changes from my private fork that I use on my own instance of Azure DevOps.
The big change was the addition of npm and gulp so it is easier to determine if the TypeScript will actually build and run before we get it to Azure DevOps. I found this easy to quickly iterate on the code.
This should be good to merge and publish. Let me know if you need anything from me for this change


postToConnection: No method found matching route

When calling the sendmessage Lambda function, the following line:
await apigwManagementApi.postToConnection({ ConnectionId: connectionId, Data: postData }).promise();
returns an error:
No method found matching route test0/@connections/PxWP8cfSDoECFYw= for http method POST.
The connection ID is that of the caller, so should be able to mirror the message back to the caller.
Is this just a permissions issue, maybe the account calling the function doesn't have permission to post the the connection endpoint.

Hey @Ady88w1, can you provide the steps to reproduce this?

Hey @dgomesbr thanks for the reply. Because I had mapped the gateway api to a custom domain, using a default stage I needed to also change the endpoint parameter of the API initialization, so it now reads (removing event.requestContext.stage):
const apigwManagementApi = new AWS.ApiGatewayManagementApi({
  apiVersion : '2018-11-29',
  endpoint   : event.requestContext.domainName + '/'
});


Non-deterministic failure for test_pdf_to_opensearch

Describe the bug
I have seen some non-deterministic failures in the test_pdf_to_opensearch test. The issue appears to be related to how guidance is returning results. In some cases, the returned map does not contain an answer key:
E                         File "/home/runner/work/sycamore/sycamore/sycamore/execution/transforms/entity/entity_extractor.py", line 41, in extract_entity
E                           document.properties.update({f"{self._entity_to_extract}": entities["answer"]})
E                                                                                ~~~~~~~~^^^^^^^^^^
E                         File "/home/runner/.cache/pypoetry/virtualenvs/sycamore-QdKr-uPZ-py3.11/lib/python3.11/site-packages/guidance/_program.py", line 470, in __getitem__
E                           return self._variables[key]
E                                  ~~~~~~~~~~~~~~~^^^^^
E                       KeyError: 'answer'

From https://github.com/aryn-ai/sycamore/actions/runs/6176295926/job/16765129778#step:10:312
This looks to be non-deterministic, because the very next run of the exact same workflow succeeded:

Failed run: https://github.com/aryn-ai/sycamore/actions/runs/6176295926/attempts/1
Successful run: https://github.com/aryn-ai/sycamore/actions/runs/6176295926/attempts/2

The code is failing from here:
https://github.com/aryn-ai/sycamore/blob/a076d86644375a60f0c527b83e96d5d3e12345a5/sycamore/execution/transforms/entity/entity_extractor.py#L41
We will likely need to add some additional logging to get to the bottom of this.

Hello @bsowell,
I've been investigating the non-deterministic failures you've mentioned. I noticed that test_pdf_to_opensearch does not pass llm_kwargs here, and OpenAI is ultimately set here. I believe you're referring to the retry mechanism here?
So, my queries are:

Would it be beneficial to add a similar mechanism to _generate_using_guidance?

To enhance our retry mechanism, I'm considering utilizing the Retry-After header in the event of a RateLimitError from OpenAI:
class wait_retry_after(tenacity.wait.wait_base):
    def __call__(self, retry_state: any) -> float:
        exception = retry_state.outcome.exception()
        if isinstance(exception, openai.error.RateLimitError):
            retry_after = exception.headers.get('Retry-After', wait_random(min=1, max=2))
            return float(retry_after)
        return 0.0

And subsequently modifying the retry decorator like so:
@retry(
    stop=stop_after_attempt(3),
    wait=wait_retry_after(),
    retry=retry_if_exception_type(openai.error.RateLimitError),
    reraise=True
)

I would appreciate your thoughts on this. Please let me know if I am heading in the right direction.

Also i think this is related #36 is related

Also, i think this is related to https://github.com/aryn-ai/sycamore/issues/36

Hey @ChillOrb! Thanks so much for taking a look.
So guidance, which is another library for interacting with LLMs, does have some retries enabled by default (e.g. see the default parameter here). Even with that, we still sometimes see timeouts. I do think eventually we want to move off of guidance and just use openai directly -- we aren't getting too much value, and I think we will want to customize the behavior, for example by using some of the techniques you linked. One place to start might be to see if we are doing the right thing in terms of retries for the non-guidance based access.
I do think this is slightly different than #36. That issue is about OpenSearch. When writing to OpenSearch we can sometimes overwhelm the cluster and need to add mechanisms to backoff. Here we are hitting issues access OpenAI. Kind of unfortunate in this project that everything starts with Open :).

Hey @bsowell ,
Thanks for clarifying,
Code here  looks fine to me.
Still a few things I was thinking about which could be addressed either now,
1. Deciding on number of max retries (currently 3)
2. Using exponential backoff which I think can be useful since I predict this error can be more frequent as one scales up.
3. Also will it be a good idea to check for content length here
4. What are your views on creating a custom retry backoff mechanism as mentioned here and calculate delay and retries based on headers here ?
5. Custom retry can also help in surfacing the error more clearly.
6. Is there a need for batching request parallelly? Ref:  here .
Let me know if this is something that needs to be worked on right now.


Add ForwardRef wrapper when using _eval_type on ConnectionField

Thank you for maintaining good library!
i read your issue on strawberry to request relay implementation.
i checked your library and your interface is pretty good!
but i think i found some issue when making connection inside of node.
Versions
python 3.8.1
django 3.2.5
strawberry-django-plus            1.8
strawberry-graphql                0.109.1
strawberry-graphql-django         0.2.5
Problem Situation
class Fruit(models.Model):
    name = models.CharField(max_length=20)
    color = models.ForeignKey(
        "Color",
        blank=True,
        null=True,
        related_name="fruits",
        on_delete=models.CASCADE,
    )

class Color(models.Model):
    name = models.CharField(max_length=20)

@strawberry_django.type(models.Fruit)
class FruitNode(Node):
    name: str = ""

    # here : Adding connection inside of node.
    @relay.connection
    async def color(self: Fruit, info) -> List[ColorNode]:
        return await info.context.data_loaders["fruits_by_color_loader"].load(self.pk)

    @classmethod
    def resolve_node(
        cls, node_id: str, *, info: Optional[Info] = None, required: bool = False
    ):
        return FruitNode(id="asdf", name="asdf")

    @classmethod
    def resolve_nodes(
        cls, *, info: Optional[Info] = None, node_ids: Optional[Iterable[str]] = None
    ):
        return [FruitNode(id="bcd", name="asdf")]

from strawberry_django_plus.relay import connection, Connection

@strawberry.type
class Query:
    ...
    fruits_conn: Connection[FruitNode] = connection()
    ...

when i try to set this on schema, and running server, i got this error
...
File "/Users/turing-211231/Documents/MathKingAPIv2/fruits/types.py", line 56, in FruitNode
  async def color(self: Fruit, info) -> List[ColorNode]:
File "/Users/turing-211231/.pyenv/versions/3.8.1/lib/python3.8/site-packages/strawberry_django_plus/relay.py", line 1218, in connection
  f = f(resolver)
File "/Users/turing-211231/.pyenv/versions/3.8.1/lib/python3.8/site-packages/strawberry_django_plus/relay.py", line 895, in __call__
    raise TypeError(
TypeError: Connection nodes resolver needs a decoration that is a subclass of Iterable, like `Iterable[<NodeType>]`, `List[<NodeType>]`, etc

so i wrapped nodes_type with ForwardRef in relay.py and it works!
https://stackoverflow.com/questions/67500755/python-convert-type-hint-string-representation-from-docstring-to-actual-type-t
from typing import (
   ...,
   ForwardRef
)

class ConnectionField(RelayField):
    """Relay Connection field.

    Do not instantiate this directly. Instead, use<EMAIL_ADDRESS>
    """

    ...

    def __call__(self, resolver: Callable[..., Iterable[Node]]):
        ...
        # here i changed
        resolved = _eval_type(ForwardRef(nodes_type), namespace, None)
        ...

Any issue to solve this like this?
Thanks.

Hey @OdysseyJ ,
Hrm, that's interesting... I did not see that issue before and I'm impressed that wrapping the type with ForwardRef fixes it.
I don't have any issues with this as long as it doesn't break anything else! Can you open a PR with the change? It would also be nice to have a test there that causes the issue but that change fixes it if you can :)

This should have been fixed in the latest version.


wcslib: 8.3 -> 8.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/wcslib/versions.
meta.description for wcslib is: World Coordinate System library for astronomy
meta.homepage for wcslib is: https://www.atnf.csiro.au/people/mcalabre/WCS/
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 8.4 with grep in /nix/store/ln6mw7sk2a0dpbh2d9h6f73wn34qs2q2-wcslib-8.4
found 8.4 in filename of file in /nix/store/ln6mw7sk2a0dpbh2d9h6f73wn34qs2q2-wcslib-8.4

Rebuild report (if merged into master) (click to expand)

6 total rebuild path(s)

6 package rebuild(s)

First fifty rebuilds by attrpath

gnuastro
kstars
siril
stellarsolver
wcslib

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ln6mw7sk2a0dpbh2d9h6f73wn34qs2q2-wcslib-8.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A wcslib https://github.com/r-ryantm/nixpkgs/archive/60fd285fa927864f3bd32c3edea39ab07c65ac1c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/60fd285fa927864f3bd32c3edea39ab07c65ac1c#wcslib

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ln6mw7sk2a0dpbh2d9h6f73wn34qs2q2-wcslib-8.4
ls -la /nix/store/ln6mw7sk2a0dpbh2d9h6f73wn34qs2q2-wcslib-8.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 6 packages built:

gnuastro
kstars
siril
stellarsolver
wcslib
wcslib.man

Maintainer pings
cc @hjones2199 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 361224

aarch64-darwin

:white_check_mark: 4 packages built:

gnuastro
stellarsolver
wcslib
wcslib.man


Add support for fire & forget voice message

It would be great if there was an action that allowed you to send a message as text (with options to select the voice & language) that would be "read" to a target number

the link to the ticket in the commit:
#13 try to fetch from database with a delay if the request for a sms
is wrong should be for issue #16, I will keep the commit message just to not break the history.

I have reviewed the code and I made some changes


Create apisix_plugin_config_test.go

Type of change:

[ ] Bugfix
[ ] New feature provided
[ ] Improve performance
[ ] Backport patches
[ ] Documentation
[ ] Refactor
[ ] Chore
[X] CI/CD or Tests

What this PR does / why we need it:
Increase unit tests would enhance the code coverage

Pre-submission checklist:

[X] Did you explain what problem does this PR solve? Or what new features have been added?
[X] Have you added corresponding test cases?
[X] Have you modified the corresponding document?
[X] Is this PR backward compatible? If it is not backward compatible, please discuss on the mailing list first

@Gallardot have a look


services/fs: Efficient and resumable ListDir

Use https://github.com/karrick/godirwalk for fask dir read.

Implemented in https://github.com/aos-dev/go-service-fs/pull/9