Maximum point in the grid over assets a being a max point multiplied with the wage.

Hi Jeppe
Why is it that the maximum point for the a-grid is written as: par.w*par.a_max and not just par._a_max?
Best,
Jacob

Hi
Good question! w is basically a scale parameter here, if it doubles so does c and a. Therefore I would often also like to double the maximum value in my grid for a.
However, this is not completely true, when there is non-zero borrowing limit (as this is not scaled by w). I should therefore either remove the scaling with w or scale the borrowing limit by w, i.e. a >= w*b.
Best,
Jeppe


slang v3.0

In order to achieve #99, we need to add a possibility to add more "hints". Therefore, a breaking change is needed:
1. New hint syntax
There are named hints (e.g. param: appleCount) and flag hints (e.g. rich). This allows developers to combine as many hints as they want.
"apple(param: appleCount, rich)": {
  "one": "I have $appleCount apple.",
  "other": "I have $appleCount apples."
}

2. New default plural parameter: n
count does fit for cardinals. But not for ordinals. n is a better default parameter.
"apple": {
  "one": "I have $n apple.",
  "other": "I have $n apples."
}

3. Dynamic Translations
If #52 brings any breaking changes, then it would be reasonable to release it now (v3) instead of another breaking release (v4).

A dev version is released. Stable release is coming soon.


Intrisic parameters and poses?

Hi guys.
Do I need to generate Intrinsic and pose files in some external software in order to use "main_depth.py" with my own images?  If so, can I use colmap for that?

Yes, we need the intrinsic and pose files for depth prediction, and they can be produced with colmap. You can refer to our demo files on Scannet (https://github.com/autonomousvision/unimatch/tree/master/demo/depth-scannet) for the file format.

Thanks for the quick reply!
That link takes me to the same text files that inspired this question in the first place however.  How should I parse those mysterious numbers in those text files?   For example, is that a set of quaternions for the poses?  If so, what order are they in the following order "QW, QX, QY, QZ, TX, TY, TZ,"?   Does the intrinsic file contain the focal length, lens distortion, etc?   Is there a guide or legend for what these numbers mean?   Thanks!

Currently we are using ScanNet's data format for intrinsic and pose parameters, maybe taking a look at the data loading code (https://github.com/autonomousvision/unimatch/blob/master/dataloader/depth/datasets.py#L73-L80) would make it clearer. Hope it helps, thanks.


GH-43454: [C++][Python] Add Opaque canonical extension type

Rationale for this change
Add the newly ratified extension type.
What changes are included in this PR?
The C++/Python implementation only.
Are these changes tested?
Yes
Are there any user-facing changes?
No.

GitHub Issue: #43454

I believe I've fixed everything here, thanks for the reviews!

Any further comments here?

Any further comments here?

None for me. I based some of my work on Bool8 on the implementation here, so ideally we could get another C++ reviewer to approve as a third party.

I'm going to merge this in a bit given the radio silence

Apologies for the late question. Is opaque type intentionally not registered?
https://github.com/apache/arrow/blob/f078942ce2df68de8f48c3b4233132133601ca53/cpp/src/arrow/extension_type.cc#L145-L157
If it's an oversight I can add registration in https://github.com/apache/arrow/pull/37298.

It was an oversight, thanks for spotting it

If it's an oversight I can add registration in #37298.

Let's do that as a separate PR (it should also require to update the tests slightly, and then it doesn't depend on the timeline of merging the other PR)

Opened https://github.com/apache/arrow/issues/43787 to keep track of it.


Automated cherry pick of #9544

Cherry pick of #9544 on release-6.3.
/cc  @AGMETEOR
NONE

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: 1993b1ef6c1cda77ce6975e89803bb054975ab84


Translate /content/docs/tasks/security/https-overlay/index.md

Translate /content/docs/tasks/security/https-overlay/index.md
@fleeto

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: xieydd
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: fleeto
Assign the PR to them by writing /assign @fleeto in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content_zh/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@xieydd: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Hi @xieydd. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Improved CUPS web interface

Please improve the CUPS web interface by utilizing AJAX, HTML5, and Responsive design for more user friendly but also give an option the user to switch back to classic cups web interface.

Sorry, we will not be making major changes to the (disabled by default) cups web interface.


flip_y_requires_shift

I have just spent a some time debugging why my set_viewport calls seem to cause inconsistent behaviour between metal on macos and my vulkan linux. After some investigation into wgpu-hal and blade, I found a difference in how viewports are created.
In blade, the viewport in vulkan always has the y set to the height upon starting a render
/// blade:s begin_render
let viewport = vk::Viewport {
    x: 0.0,
    y: target_size[1] as f32,
    width: target_size[0] as f32,
    height: -(target_size[1] as f32),
    min_depth: 0.0,
    max_depth: 1.0,
};

but wgpu-hal sometimes has it set to 0
/// wgpu-hal:s, begin_render
let vk_viewports = [vk::Viewport {
    x: 0.0,
    y: if self.device.private_caps.flip_y_requires_shift {
        desc.extent.height as f32
    } else {
        0.0
    },
    width: desc.extent.width as f32,
    height: -(desc.extent.height as f32),
    min_depth: 0.0,
    max_depth: 1.0,
}];

Furthermore, upon a call to set_viewport in wgpu-hal, it is apparently transformed as such:
let vk_viewports = [vk::Viewport {
    x: rect.x,
    y: if self.device.private_caps.flip_y_requires_shift {
        rect.y + rect.h
    } else {
        rect.y
    },
    width: rect.w,
    height: -rect.h, // flip Y
    min_depth: depth_range.start,
    max_depth: depth_range.end,
}];

In wgpu-hal vulkan/mod.rs they state:
struct PrivateCapabilities {
    /// Y-flipping is implemented with either `VK_AMD_negative_viewport_height` or `VK_KHR_maintenance1`/1.1+. The AMD extension for negative viewport height does not require a Y shift.
    ///
    /// This flag is `true` if the device has `VK_KHR_maintenance1`/1.1+ and `false` otherwise (i.e. in the case of `VK_AMD_negative_viewport_height`).
    flip_y_requires_shift: bool,
    // ..
}

I checked and apparently BOTH my stationary computer and my laptop has this flip_y_requires_shift set to true whereas my apple mac mini doesn't and thus worked as I expected. My main computers didn't.
You most likely know much more than me about this but here is some rejection code and how this flag is set from wpgu-hal (https://github.com/gfx-rs/wgpu/blob/4772cd8c63ec0ef485bf4d84be17960834259b5b/wgpu-hal/src/vulkan/adapter.rs#L1495)
if !phd_capabilities.supports_extension(vk::AmdNegativeViewportHeightFn::name())
    && !phd_capabilities.supports_extension(vk::KhrMaintenance1Fn::name())
    && phd_capabilities.device_api_version < vk::API_VERSION_1_1
{
    log::warn!(
        "viewport Y-flip is not supported, hiding adapter: {}",
        info.name
    );
    return None;
}

/// ...

let private_caps = super::PrivateCapabilities {
    flip_y_requires_shift: phd_capabilities.device_api_version >= vk::API_VERSION_1_1
        || phd_capabilities.supports_extension(vk::KhrMaintenance1Fn::name()),
     // ...
};

Would it be possible to introduce this fix in blade as well? Should it be added to the Workarounds or where would it fit?

perhaps a throwback, but here was a PR that introduced the flip_y_requires_shift flag in gfx instead of the maintenance_level: u8
https://github.com/gfx-rs/gfx/pull/3624

Do I understand it correctly that since blade requires vulkan be >= API_VERSION_1_1, and always has a flipped y, blade should always shift the viewport rect.y + rect.h?


Backup tool

Building a backup tool to export all of your store data into a single backup file that can be imported into a fresh install.

First version done and added to API, checking with developer at OpenBazaar to make sure it's how they want it.

How is this going? Have you looked at the comments from the devs?

Yeah. Looking into how sqlite backup api works with python and how the restored data can collide with the existing data. Also to build the table structure automatically which could be done with the "sqlite_master" table and "pragma table_info".

So how's this going now? It needs more test coverage?
Maybe @gpseiridis can look at that?


Is Windows 11 supported?

It is not explicit stated, that Windows 11 is supported, only Windows 10.
Is Windows 11 support?
Thankx!

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: fa82e6ef-7f35-9672-2ca3-9006de31b2cf
Version Independent ID: 1dca040b-d5ba-8449-627b-b3069bd9be0e
Content: DirectAccess
Content Source: WindowsServerDocs/remote/remote-access/directaccess/DirectAccess.md
Product: windows-server
Technology: remote
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

#assign:xelu86

Hey @iwhp,
Thanks again for contacting Microsoft. We value your feedback.
A documentation change was made adding Windows 11 Enterprise as a supported OS for Direct Access. Changes are live. We will now be closing this thread.
Thank you and have a most pleasant day.
#please-close


feature/bugfix:(dep build) Allow dependency build to add/resolve repo

fixes #7214
The main issue was due to dependency build not adding the
repo causing the command to fail. The ideal response should be
to add the repo and then continue with the command,
something that dependency update does.
The functionality has been exported and then shared between
dependency build and update as a method.
cc @hickeyma

There are some failing tests. Could you check them? https://circleci.com/gh/helm/helm/10734?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

@waveywaves Can you fix the build issues?

@hickeyma on it sorry for the long delay

@hickeyma I have resolved the failing tests

@hickeyma @bacongobbler can you PTAL?

@waveywaves While testing #7214, it seems like it is working and doesn't need any changes. I am awaiting a reply from the OP for confirmation and will block the PR until then. Thanks for your patience.

@hickeyma, thanks for taking the time to check this out. It seems like a better implementation also.

Thanks for pushing the PR @waveywaves.  Can you make changes required for helm dep build as described in https://github.com/helm/helm/issues/7214#issuecomment-606052189?

@hickeyma I will just make the necessary changes.

@hickeyma I wasn't able to reproduce the issue after building with latest code from master.

Closing this PR as unable to reproduce this issue in #7214. It may have been resolved in another PR.
Thanks for the effort on this @waveywaves

@waveywaves Re-opened this PR in light of @akanix42 finding pattern to reproduce in https://github.com/helm/helm/issues/8036#issuecomment-627692870. Would you be interested in continuing with it? If so, do you mind rebasing against master as it has been a while since last used.

@hickeyma let me try that out and rework base d on the new reproducer

@hickeyma I have rebased the branch and see no issues anymore. i think we can merge this. Can you confirm ?

@waveywaves We might just have to hold on this because @technosophos has unearthed some more issues around helm dep in #8118. You input here is welcome @technosophos also.

Thx for all of you for putting your efforts into solving this problem. It's really a quite anoying behaviour when working with different repositories and a CI/CD setup. A .lock is a lock and has all information to fetch and verify the required resource.
Our workaround is now to drop the Chart.lock from git


Cannot get it to run with NUnit

Using Visual Studio 2022 a .net core 6.0 project with NUnit 3.13.3, Verify 17.10.2 and VerifyNunit 17.10.2 i cannot get the verification mechanism to kick in.
The test just passes all the time, no files are being generated, no diff tool is popping up.
I created a public test project which i ask you to have a look at.
https://github.com/andreasmuellergin/VerifyTest

Nevermind i noticed my mistake.
I was unaware of the fact that Verify actually returns a Task which is to be awaited or exposed to the Test runner.
Keep up with the great work, thank you.

glad you got it working


[FRONTEND] Create Forgot Password Page

Task
Create a Forget Password page.
Acceptance Criteria

Make follow the design style.

Hey @BRAVO68WEB
I'd like to take upon this issue.
Also could you give some resources as to how to proceed? I'm afraid I'm quite new in open source as well as webD, although I'd love to put in the time and effort to learn it.
I am good with HTML, CSS, working on my javascript and react.

@pranavajith Give it a try for now, will assist in improving it

@BRAVO68WEB Roger!
Will come back for doubts soon!!

If this problem isn't resolved, I'd like to get involved. can you assign me this issue?


Added ray version of the html2parquet transform

Why are these changes needed?
Added ray version of the html2parquet transform
Related issue number (if any).
Issue #635

Great. Thank you very much @sungeunan-ibm for finishing this. It looks like the conflict in yml is the result of 1) The move of this transform from universal to the language folder and 2) The fact that a new hap transform was added yesterday. But, the main reviewer for the correct implementation of ray is @daw3rd.


Cargo 0.9.0 on FreeBSD 11 random hangs 200% cpu usage

This seems to be completely random. If I run cargo build or cargo run sometimes the process hangs with 200% CPU usage on 4 core machine before even anything is printed out to the console. I believe this was the same in 0.8.0.
$ cargo --version
cargo 0.9.0 (built 2016-04-03)

truss shows no output.
Backtrace from the hung Cargo process:
(gdb) bt
#0  0x0000000801e781fc in pthread_cleanup_pop () from /lib/libthr.so.3
#1  0x000000000082dbe0 in path::Display$LT$$u27$a$GT$.fmt..Display::fmt::h39521bb124cd5fa9lpm ()
#2  0x0000000000829d3a in path::Display$LT$$u27$a$GT$.fmt..Display::fmt::h39521bb124cd5fa9lpm ()
#3  0x000000000082948d in path::Display$LT$$u27$a$GT$.fmt..Display::fmt::h39521bb124cd5fa9lpm ()
#4  0x00000000005c04e7 in ops::cargo_rustc::engine::CommandPrototype.fmt..Display::fmt::h782f965052777d76SWm ()
#5  0x00000000005bb7a0 in ops::cargo_rustc::engine::CommandPrototype.fmt..Display::fmt::h782f965052777d76SWm ()
#6  0x000000000050ff3a in core::resolver::Resolve.fmt..Debug::fmt::hcd44d9fe0b0534b2ydf ()
#7  0x000000000052507a in core::resolver::Resolve.fmt..Debug::fmt::hcd44d9fe0b0534b2ydf ()
#8  0x000000000051c81d in core::resolver::Resolve.fmt..Debug::fmt::hcd44d9fe0b0534b2ydf ()
#9  0x0000000000518f71 in core::resolver::Resolve.fmt..Debug::fmt::hcd44d9fe0b0534b2ydf ()
#10 0x0000000000590c3c in util::config::Definition.fmt..Display::fmt::h4d7b3ba9a23cdb5fwEu ()
#11 0x000000000046e6ac in ?? ()
#12 0x000000000041b992 in ?? ()
#13 0x0000000000415117 in ?? ()
#14 0x0000000000412163 in ?? ()
#15 0x0000000000836075 in sync::mpsc::RecvError...core..fmt..Debug::fmt::hcf7b4162be8df7f3Adp ()
#16 0x00000000008305b9 in sync::mpsc::RecvError...core..fmt..Debug::fmt::hcf7b4162be8df7f3Adp ()
#17 0x000000000082bc79 in path::Display$LT$$u27$a$GT$.fmt..Display::fmt::h39521bb124cd5fa9lpm ()
#18 0x0000000000835dab in sync::mpsc::RecvError...core..fmt..Debug::fmt::hcf7b4162be8df7f3Adp ()
#19 0x0000000000411a6f in ?? ()
#20 0x0000000800b70000 in ?? ()
#21 0x0000000000000000 in ?? ()

Interesting! Could I poke around in the project that this was building as well?

It happens even with a unmodified "cargo new ---bin" project... Regardless of having done clean or not. Maybe 50% of the times..
I am running modified bleeding edge 11-CURRENT that was built a month ago so maybe something weird with my system. I'm currently rebuilding latest unmodified world and kernel from git. Will report back if the problem disappears.

Hm that backtrace looks suspicious in the sense that it's probably not right unfortunately, but maybe a custom build of Cargo can help provide some more debug information?
You can also try running with RUST_LOG=debug to see if that emits anything useful.

This is what I get with RUST_LOG=debug.
Working:
DEBUG:cargo::ops::cargo_compile: compile; manifest-path=/usr/home/mirama/dev/helloworld/Cargo.toml
DEBUG:cargo::ops::cargo_compile: loaded package; package=hello_world v0.0.1 (file:///usr/home/mirama/dev/helloworld)
DEBUG:cargo::ops::cargo_compile: loaded config; configs={}
DEBUG:cargo::core::registry: load/missing  file:///usr/home/mirama/dev/helloworld
DEBUG:cargo::core::registry: load/locked   file:///usr/home/mirama/dev/helloworld
DEBUG:cargo::ops::cargo_rustc::fingerprint: fingerprint at: /usr/home/mirama/dev/helloworld/target/debug/.fingerprint/hello_world-9cfc6d5a6c812145/bin-hello_world
INFO:cargo::ops::cargo_rustc::job_queue: start: hello_world v0.0.1 (file:///usr/home/mirama/dev/helloworld) => Target(bin: hello_world)/Profile(build) => Host
INFO:cargo::ops::cargo_rustc::job_queue: end: hello_world v0.0.1 (file:///usr/home/mirama/dev/helloworld) => Target(bin: hello_world)/Profile(build) => Host
     Running `target/debug/hello_world`
Hello, world!

Hanging:
DEBUG:cargo::ops::cargo_compile: compile; manifest-path=/usr/home/mirama/dev/helloworld/Cargo.toml
DEBUG:cargo::ops::cargo_compile: loaded package; package=hello_world v0.0.1 (file:///usr/home/mirama/dev/helloworld)
DEBUG:cargo::ops::cargo_compile: loaded config; configs={}
DEBUG:cargo::core::registry: load/missing  file:///usr/home/mirama/dev/helloworld
DEBUG:cargo::core::registry: load/locked   file:///usr/home/mirama/dev/helloworld

Can try building Cargo later, maybe tomorrow.

Hm this may be fixed on nightly? Worth a shot at least building from source!

Can I build on FreeBSD without patches? The rust-nightly port is rather outdated....

In theory, yeah, we have Cargo nightlies for FreeBSD and you should be able to use that to just run cargo build --release in the Cargo repo

Yeah I realized we're talking about cargo, not rustc... I pulled Cargo from git and built but the problem remains..

Hm could you try building a debug build of Cargo and getting a backtrace from that? I'm hoping that's a bit more informative in terms of what the actual backtrace here is.

Using lldb seemed to give better backtrace than gdb :)
[mirama@PC1-13-0006 /usr/home/mirama/dev/helloworld]$ lldb ~/git/cargo/target/debug/cargo -p 35238
Warning: program arguments are ignored when attaching.
(lldb) process attach --pid 35238
Process 35238 stopped

Executable module set to "/home/mirama/git/cargo/target/debug/cargo".
Architecture set to: x86_64-unknown-freebsd11.0-unknown.
(lldb) bt
* thread #1: tid = 101105, 0x00000008024781fc libthr.so.3
  * frame #0: 0x00000008024781fc libthr.so.3
    frame #1: 0x0000000000d929c0 cargo`thread::JoinHandle$LT$T$GT$::join::h2669136896472513086 + 80
    frame #2: 0x0000000000d8eb1a cargo`process::Child::wait_with_output::h7c4bc40d7bad01afGXm + 1994
    frame #3: 0x0000000000d8e26d cargo`process::Command::output::h61a21c368db5a290oIm + 253
    frame #4: 0x00000000007ab271 cargo`util::process_builder::ProcessBuilder::exec_with_output::h6d073edd7b890064Pew + 113
    frame #5: 0x00000000007ab1b7 cargo`ops::cargo_rustc::context::Context$LT$$u27$a$C$$u20$$u27$cfg$GT$::target_info::_$LT$closure$GT$::closure.44206 + 103
    frame #6: 0x00000000007ab081 cargo`result::Result$LT$T$C$$u20$E$GT$::or_else::h13225125334620460470 + 497
    frame #7: 0x00000000007a6487 cargo`ops::cargo_rustc::context::Context$LT$$u27$a$C$$u20$$u27$cfg$GT$::target_info::h55941492f2e28c79RLl + 1239
    frame #8: 0x0000000000634aa5 cargo`ops::cargo_rustc::context::Context$LT$$u27$a$C$$u20$$u27$cfg$GT$::new::hcb13b17213b9ad7d3Il + 437
    frame #9: 0x000000000065868e cargo`ops::cargo_rustc::compile_targets::h37d0196e30234148Pjp + 2622
    frame #10: 0x000000000064aec9 cargo`ops::cargo_compile::compile_pkg::h2ab267fac37d8ac9CTh + 11129
    frame #11: 0x00000000006470ed cargo`ops::cargo_compile::compile::h490b83a0a157882e6Nh + 2989
    frame #12: 0x00000000007506ba cargo`ops::cargo_run::run::hbcb7939a49dc0ce5hvl + 2154
    frame #13: 0x00000000004c45e4 cargo`cargo::run::execute(options=Options at 0x00007fffffffa690, config=0x00007fffffffe560) + 2916 at run.rs:88
    frame #14: 0x00000000004bf7ca cargo`cargo::call_main_without_stdin<cargo::run::Options,()>(exec=0x00000000004c3a80, shell=0x00007fffffffe560, usage=(data_ptr = "\nRun the main binary of the local package (src/main.rs)\n\nUsage:\n    cargo run [options] [--] [<args>...]\n\nOptions:\n    -h, --help              Print this message\n    --bin NAME              Name of the bin target to run\n    --example NAME          Name of the example target to run\n    -j N, --jobs N          The number of jobs to run in parallel\n    --release               Build artifacts in release mode, with optimizations\n    --features FEATURES     Space-separated list of features to also build\n    --no-default-features   Do not build the `default` feature\n    --target TRIPLE         Build for the target triple\n    --manifest-path PATH    Path to the manifest to execute\n    -v, --verbose           Use verbose output\n    -q, --quiet             No output printed to stdout\n    --color WHEN            Coloring: auto, always, never\n\nIf neither `--bin` nor `--example` are given, then if the project only has one\nbin target it will be run. Otherwise `--bin` specifies the bin target to run,\nand `--example` specifi...", length = 1298), args=&[collections::string::String] at 0x00007fffffffaaa0, options_first=false) + 714 at lib.rs:98
    frame #15: 0x000000000042e8eb cargo`cargo::execute(flags=Flags at 0x00007fffffffdc00, config=0x00007fffffffe560) + 21995 at cargo.rs:164
    frame #16: 0x000000000041d1df cargo`cargo::call_main_without_stdin<cargo::Flags,()>(exec=0x0000000000429300, shell=0x00007fffffffe560, usage=(data_ptr = "\nRust's package manager\n\nUsage:\n    cargo <command> [<args>...]\n    cargo [options]\n\nOptions:\n    -h, --help          Display this message\n    -V, --version       Print version info and exit\n    --list              List installed commands\n    -v, --verbose       Use verbose output\n    -q, --quiet         No output printed to stdout\n    --color WHEN        Coloring: auto, always, never\n\nSome common cargo commands are:\n    build       Compile the current project\n    clean       Remove the target directory\n    doc         Build this project's and its dependencies' documentation\n    new         Create a new cargo project\n    init        Create a new cargo project in an existing directory\n    run         Build and execute src/main.rs\n    test        Run the tests\n    bench       Run the benchmarks\n    update      Update dependencies listed in Cargo.lock\n    search      Search registry for crates\n    publish     Package and upload this project to the registry\n    install     Install a Rust binary\n\nSee 'cargo help <...", length = 1078), args=&[collections::string::String] at 0x00007fffffffdea0, options_first=true) + 751 at lib.rs:98
    frame #17: 0x000000000041bc81 cargo`fnfn(rest=&[collections::string::String] at 0x00007fffffffdf18, shell=0x00007fffffffe560) + 113 at lib.rs:85
    frame #18: 0x0000000000414a73 cargo`fnfn + 1491 at lib.rs:113
    frame #19: 0x00000000004141aa cargo`cargo::process<(),closure>(callback=closure at 0x00007fffffffe6a0) + 106 at lib.rs:106
    frame #20: 0x0000000000414130 cargo`cargo::execute_main_without_stdin<cargo::Flags,()>(exec=0x0000000000429300, options_first=true, usage=(data_ptr = "\nRust's package manager\n\nUsage:\n    cargo <command> [<args>...]\n    cargo [options]\n\nOptions:\n    -h, --help          Display this message\n    -V, --version       Print version info and exit\n    --list              List installed commands\n    -v, --verbose       Use verbose output\n    -q, --quiet         No output printed to stdout\n    --color WHEN        Coloring: auto, always, never\n\nSome common cargo commands are:\n    build       Compile the current project\n    clean       Remove the target directory\n    doc         Build this project's and its dependencies' documentation\n    new         Create a new cargo project\n    init        Create a new cargo project in an existing directory\n    run         Build and execute src/main.rs\n    test        Run the tests\n    bench       Run the benchmarks\n    update      Update dependencies listed in Cargo.lock\n    search      Search registry for crates\n    publish     Package and upload this project to the registry\n    install     Install a Rust binary\n\nSee 'cargo help <...", length = 1078)) + 64 at lib.rs:84
    frame #21: 0x0000000000413f48 cargo`cargo::main + 56 at cargo.rs:62
    frame #22: 0x0000000000d9ae65 cargo`sys_common::unwind::try::try_fn::h2572142542097746770 + 21
    frame #23: 0x0000000000d95399 cargo`__rust_try + 9
    frame #24: 0x0000000000d90a59 cargo`sys_common::unwind::try::inner_try::h70386a2dfcca07ecb3s + 105
    frame #25: 0x0000000000d9ab9b cargo`rt::lang_start::h5add7867338d7a1a64x + 2011
    frame #26: 0x0000000000430b5a cargo`main + 58
    frame #27: 0x0000000000413e2f cargo`_start + 383
(lldb)

Could you try getting a backtrace of all threads? That backtrace looks pretty normal

Sure. Sorry about that.
(lldb) bt all
* thread #1: tid = 101105, 0x00000008024781fc libthr.so.3
  * frame #0: 0x00000008024781fc libthr.so.3
    frame #1: 0x0000000000d929c0 cargo`thread::JoinHandle$LT$T$GT$::join::h2669136896472513086 + 80
    frame #2: 0x0000000000d8eb1a cargo`process::Child::wait_with_output::h7c4bc40d7bad01afGXm + 1994
    frame #3: 0x0000000000d8e26d cargo`process::Command::output::h61a21c368db5a290oIm + 253
    frame #4: 0x00000000007ab271 cargo`util::process_builder::ProcessBuilder::exec_with_output::h6d073edd7b890064Pew + 113
    frame #5: 0x00000000007ab1b7 cargo`ops::cargo_rustc::context::Context$LT$$u27$a$C$$u20$$u27$cfg$GT$::target_info::_$LT$closure$GT$::closure.44206 + 103
    frame #6: 0x00000000007ab081 cargo`result::Result$LT$T$C$$u20$E$GT$::or_else::h13225125334620460470 + 497
    frame #7: 0x00000000007a6487 cargo`ops::cargo_rustc::context::Context$LT$$u27$a$C$$u20$$u27$cfg$GT$::target_info::h55941492f2e28c79RLl + 1239
    frame #8: 0x0000000000634aa5 cargo`ops::cargo_rustc::context::Context$LT$$u27$a$C$$u20$$u27$cfg$GT$::new::hcb13b17213b9ad7d3Il + 437
    frame #9: 0x000000000065868e cargo`ops::cargo_rustc::compile_targets::h37d0196e30234148Pjp + 2622
    frame #10: 0x000000000064aec9 cargo`ops::cargo_compile::compile_pkg::h2ab267fac37d8ac9CTh + 11129
    frame #11: 0x00000000006470ed cargo`ops::cargo_compile::compile::h490b83a0a157882e6Nh + 2989
    frame #12: 0x00000000007506ba cargo`ops::cargo_run::run::hbcb7939a49dc0ce5hvl + 2154
    frame #13: 0x00000000004c45e4 cargo`cargo::run::execute(options=Options at 0x00007fffffffa690, config=0x00007fffffffe560) + 2916 at run.rs:88
    frame #14: 0x00000000004bf7ca cargo`cargo::call_main_without_stdin<cargo::run::Options,()>(exec=0x00000000004c3a80, shell=0x00007fffffffe560, usage=(data_ptr = "\nRun the main binary of the local package (src/main.rs)\n\nUsage:\n    cargo run [options] [--] [<args>...]\n\nOptions:\n    -h, --help              Print this message\n    --bin NAME              Name of the bin target to run\n    --example NAME          Name of the example target to run\n    -j N, --jobs N          The number of jobs to run in parallel\n    --release               Build artifacts in release mode, with optimizations\n    --features FEATURES     Space-separated list of features to also build\n    --no-default-features   Do not build the `default` feature\n    --target TRIPLE         Build for the target triple\n    --manifest-path PATH    Path to the manifest to execute\n    -v, --verbose           Use verbose output\n    -q, --quiet             No output printed to stdout\n    --color WHEN            Coloring: auto, always, never\n\nIf neither `--bin` nor `--example` are given, then if the project only has one\nbin target it will be run. Otherwise `--bin` specifies the bin target to run,\nand `--example` specifi...", length = 1298), args=&[collections::string::String] at 0x00007fffffffaaa0, options_first=false) + 714 at lib.rs:98
    frame #15: 0x000000000042e8eb cargo`cargo::execute(flags=Flags at 0x00007fffffffdc00, config=0x00007fffffffe560) + 21995 at cargo.rs:164
    frame #16: 0x000000000041d1df cargo`cargo::call_main_without_stdin<cargo::Flags,()>(exec=0x0000000000429300, shell=0x00007fffffffe560, usage=(data_ptr = "\nRust's package manager\n\nUsage:\n    cargo <command> [<args>...]\n    cargo [options]\n\nOptions:\n    -h, --help          Display this message\n    -V, --version       Print version info and exit\n    --list              List installed commands\n    -v, --verbose       Use verbose output\n    -q, --quiet         No output printed to stdout\n    --color WHEN        Coloring: auto, always, never\n\nSome common cargo commands are:\n    build       Compile the current project\n    clean       Remove the target directory\n    doc         Build this project's and its dependencies' documentation\n    new         Create a new cargo project\n    init        Create a new cargo project in an existing directory\n    run         Build and execute src/main.rs\n    test        Run the tests\n    bench       Run the benchmarks\n    update      Update dependencies listed in Cargo.lock\n    search      Search registry for crates\n    publish     Package and upload this project to the registry\n    install     Install a Rust binary\n\nSee 'cargo help <...", length = 1078), args=&[collections::string::String] at 0x00007fffffffdea0, options_first=true) + 751 at lib.rs:98
    frame #17: 0x000000000041bc81 cargo`fnfn(rest=&[collections::string::String] at 0x00007fffffffdf18, shell=0x00007fffffffe560) + 113 at lib.rs:85
    frame #18: 0x0000000000414a73 cargo`fnfn + 1491 at lib.rs:113
    frame #19: 0x00000000004141aa cargo`cargo::process<(),closure>(callback=closure at 0x00007fffffffe6a0) + 106 at lib.rs:106
    frame #20: 0x0000000000414130 cargo`cargo::execute_main_without_stdin<cargo::Flags,()>(exec=0x0000000000429300, options_first=true, usage=(data_ptr = "\nRust's package manager\n\nUsage:\n    cargo <command> [<args>...]\n    cargo [options]\n\nOptions:\n    -h, --help          Display this message\n    -V, --version       Print version info and exit\n    --list              List installed commands\n    -v, --verbose       Use verbose output\n    -q, --quiet         No output printed to stdout\n    --color WHEN        Coloring: auto, always, never\n\nSome common cargo commands are:\n    build       Compile the current project\n    clean       Remove the target directory\n    doc         Build this project's and its dependencies' documentation\n    new         Create a new cargo project\n    init        Create a new cargo project in an existing directory\n    run         Build and execute src/main.rs\n    test        Run the tests\n    bench       Run the benchmarks\n    update      Update dependencies listed in Cargo.lock\n    search      Search registry for crates\n    publish     Package and upload this project to the registry\n    install     Install a Rust binary\n\nSee 'cargo help <...", length = 1078)) + 64 at lib.rs:84
    frame #21: 0x0000000000413f48 cargo`cargo::main + 56 at cargo.rs:62
    frame #22: 0x0000000000d9ae65 cargo`sys_common::unwind::try::try_fn::h2572142542097746770 + 21
    frame #23: 0x0000000000d95399 cargo`__rust_try + 9
    frame #24: 0x0000000000d90a59 cargo`sys_common::unwind::try::inner_try::h70386a2dfcca07ecb3s + 105
    frame #25: 0x0000000000d9ab9b cargo`rt::lang_start::h5add7867338d7a1a64x + 2011
    frame #26: 0x0000000000430b5a cargo`main + 58
    frame #27: 0x0000000000413e2f cargo`_start + 383

  thread #2: tid = 101277, 0x0000000802692c6a libgcc_s.so.1`??? + 138
    frame #0: 0x0000000802692c6a libgcc_s.so.1`??? + 138
    frame #1: 0x0000000801284153 ld-elf.so.1`dl_iterate_phdr + 387
    frame #2: 0x0000000802692a8c libgcc_s.so.1`_Unwind_Find_FDE + 348
    frame #3: 0x000000080268fb8e libgcc_s.so.1`??? + 110
    frame #4: 0x0000000802690612 libgcc_s.so.1`??? + 82
    frame #5: 0x0000000802690560 libgcc_s.so.1`_Unwind_ForcedUnwind + 96
    frame #6: 0x0000000802477c35 libthr.so.3`??? + 501
    frame #7: 0x0000000802477a3b libthr.so.3`pthread_exit + 11
    frame #8: 0x000000080246c82c libthr.so.3`??? + 300

  thread #3: tid = 101278, 0x0000000802692c7c libgcc_s.so.1`??? + 156
    frame #0: 0x0000000802692c7c libgcc_s.so.1`??? + 156
    frame #1: 0x0000000801284153 ld-elf.so.1`dl_iterate_phdr + 387
    frame #2: 0x0000000802692a8c libgcc_s.so.1`_Unwind_Find_FDE + 348
    frame #3: 0x000000080268fb8e libgcc_s.so.1`??? + 110
    frame #4: 0x0000000802690612 libgcc_s.so.1`??? + 82
    frame #5: 0x0000000802690560 libgcc_s.so.1`_Unwind_ForcedUnwind + 96
    frame #6: 0x0000000802477c35 libthr.so.3`??? + 501
    frame #7: 0x0000000802477a3b libthr.so.3`pthread_exit + 11
    frame #8: 0x000000080246c82c libthr.so.3`??? + 300
(lldb)

There are 2 threads using 100% CPU each according to top.

Whoa! There could be one of a few things at play here:

Are any weird messages getting printed to the console? Something looks like it's unwinding, which could indicate a panic.
The two spinning threads are probably those that look like they're unwinding. That means either a panic happened or somehow the compiler is producing a corrupt executable that libgcc on FreeBSD is choking on.
The version of FreeBSD you're using is so up to date that there's perhaps a bug?

There is no other output from Cargo except what I posted earlier, even for debug build of Cargo.

In that case it looks like this bug is not specific to Cargo at all as those two threads have fishy backtraces.

There was some gcc stuff committed to FreeBSD source recently and after building new world from git the problem seems to been fixed. I've run "cargo run" in while loop a few hundred times and not a single hang so I would say it is fixed. Thanks for the help!

Hurray! Glad it got fixed :)


CSV output inconsistency

I have no idea what is the common representation of empty fields in CSV output, but in the current implementation of the command line tools they are sometimes show as empty strings (in between successive commas) and sometimes as a pair of double quotes (quoted empty strings in between successive commas). See the example below, showing the inconsistency
$ fasta2prot < patient_TS19_CDS | sed -ne '27{p;q}' | prot2pept | peptfilter | unipept pept2lca -el
sequence,taxon_id,taxon_name,taxon_parent_id,taxon_rank,superkingdom_name,kingdom_name,subkingdom_name,superphylum_name,phylum_name,subphylum_name,superclass_name,class__name,subclass_name,infraclass_name,superorder_name,order_name,suborder_name,infraorder_name,parvorder_name,superfamily_name,family_name,subfamily_name,tribe_name,subtribe_name,genus_name,subgenus_name,species_group_name,species_subgroup_name,species_name,subspecies_name,varietas_name,forma_name,superkingdom_id,kingdom_id,subkingdom_id,superphylum_id,phylum_id,subphylum_id,superclass_id,class__id,subclass_id,infraclass_id,superorder_id,order_id,suborder_id,infraorder_id,parvorder_id,superfamily_id,family_id,subfamily_id,tribe_id,subtribe_id,genus_id,subgenus_id,species_group_id,species_subgroup_id,species_id,subspecies_id,varietas_id,forma_id
INYDFAGK,171549,Bacteroidales,200643,order,Bacteria,"","",Bacteroidetes/Chlorobi group,Bacteroidetes,"","",Bacteroidia,"","","",Bacteroidales,"","","","","","","","","","","","","","","","",2,,,68336,976,,,200643,,,,171549,,,,,,,,,,,,,,,,
YLLEANIR,976,Bacteroidetes,68336,phylum,Bacteria,"","",Bacteroidetes/Chlorobi group,Bacteroidetes,"","","","","","","","","","","","","","","","","","","","","","","",2,,,68336,976,,,,,,,,,,,,,,,,,,,,,,,
ADASSR,1,root,1,no rank,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
FAEGHR,1,root,1,no rank,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
VHGASAR,95486,Burkholderia cenocepacia,87882,species,Bacteria,"","","",Proteobacteria,"","",Betaproteobacteria,"","","",Burkholderiales,"","","","",Burkholderiaceae,"","","",Burkholderia,"",Burkholderia cepacia complex,"",Burkholderia cenocepacia,"","","",2,,,,1224,,,28216,,,,80840,,,,,119060,,,,32008,,87882,,95486,,,
NEGIGK,1,root,1,no rank,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Original issue by @pdawyndt on Sat May 10 2014 at 10:30.
Closed by an unknown user on Mon May 12 2014 at 09:09.

It seems like empty strings are shown as "", and empty numbers as nothing.
Original comment by @bmesuere on Sat May 10 2014 at 10:48.

That's what I thought at first too, but look at the last CSV record in the above example. The first half of the empty fields are missing names, and they are shown without double quotes. Also, I would have expected all strings to be enclosed in double quotes. My guess was that CSV common practice was to only quote field content in case it contains the delimiter character (in this case a comma). In that case, however, most of the fields should not use double quotes. But it's a detail anyway (problem with loosely defined formats).
Original comment by @pdawyndt on Sat May 10 2014 at 10:54.


Add output parameter as an expected value for a test

We want to support specifying an expected value in a test so the developer can use XCTAssertEqual function.
So with the following feature, you could write test for simple power function
    @Parametrize(input: [1,2,3], output: [1, 4, 9])
    func testPow2(input n: Int, output result: Int) {
        XCTAssertEqual(pow2(n),result)
    }

and single expansion should look like this
    func testPow2_n_3_result_9() throws {
        let n: Int = 3
        let result: Int = 9
        XCTAssertEqual(pow2(n),result)
    }

Also, unit tests for this are needed

implemented under #8


Error when trying to run libp2p module in the browser

Hey All,
I am facing an error "Uncaught Error: callback is required(…)" when trying to dial another peer by using multiaddr between two already started libp2p modules. I have included the steps to reproduce this in the browser and a screenshot of the stack trace. Any help on resolving this would be much appreciated.
Background(if interested): We are trying to use libp2p as the basis for a webrtc based project in the browser.
browser details:
os: ubuntu 16
browser: chrome 54
npm: v4.0.0
node: v4.2.6
steps to reproduce:

npm install -g libp2p-webrtc-star
cd /usr/local/lib/libp2p-webrtc-star/src/signalling-server
node bin
then open try1.html in chrome

code run in the browser(also attached as html inside compressed file):
PeerInfo.create(function(err,pi1){
	var ma1 = '/libp2p-webrtc-star/ip4/<IP_ADDRESS>/tcp/9090/ws/ipfs/'+pi1.id.toB58String();
	pi1.multiaddr.add(ma1);

	node1 = new Libp2PIpfsBrowser.Node(pi1);
	node1.start(function(err,resp){
		if(err)console.error(err);
		PeerInfo.create(function(err,pi2){
			var ma2 = '/libp2p-webrtc-star/ip4/<IP_ADDRESS>/tcp/9090/ws/ipfs/'+pi2.id.toB58String();
			pi2.multiaddr.add(ma2);
			node2 = new Libp2PIpfsBrowser.Node(pi2);
			node2.start(function(err,resp){
				if(err)console.error(err);
				else console.debug("sucessfully created 2 nodes");
				console.log("dialing ma2="+ma2+" from node 1");
				node1.dialByMultiaddr(ma2);
			});
		});
	});
});

STACK TRACE:

CODE:
javascript.tar.gz

Closing this issue since it was fixed with the latest release! A Thank you to whoever was responsible. :)


Fix typo in description

Bad quoting. The result is that in Recommended content section referring to this page you cannot see the correct text

@fziglio : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@markingmyname : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Softmax in attention block

Just realized something in the base model:
https://github.com/DCASE-REPO/DESED_task/blob/master/desed_task/nnet/CRNN.py
Could you please elaborate why in the attention block you are applying softmax across the classes dimension? I believe the softmax here should be applied across the time axis.
 self.softmax = nn.Softmax(dim=-1)

if self.attention:
            sof = self.dense_softmax(x)  # [bs, frames, nclass]
            if not pad_mask is None:
                sof = sof.masked_fill(pad_mask.transpose(1, 2), -1e30)  # mask attention
            sof = self.softmax(sof)
            sof = torch.clamp(sof, min=1e-7, max=1)
            weak = (strong * sof).sum(1) / sof.sum(1)  # [bs, nclass]

Applying softmax /Normalizing  across classes actually hinders the models ability in detecting polyphony as it promotes a single event per temporal segment.
The very introduction of normalization across time for weighted pooling which I think it was originally proposed in this work, :
https://arxiv.org/pdf/1610.01797.pdf
was to help the detection of short events which their detection may get lost with vanilla average pooling, otherwise it wouldnt really much affect the detection of long events as they will have multiple positive classified segments across the recording. not to mention that also in the case of long events the output of softmax could potentially as well be uniform-like across the width of the event with values close to each other.
Frankly, I think its just a mistake in chosing the correct dimension in the Softmax module.

Isn't attention pooling from https://arxiv.org/pdf/1711.00927.pdf ?

Can you double-check if they apply softmax over the classes or frames in this work and also in [6] which seems closer to what it is done in CRNN ? [14] is a bit different from CRNN implementation.

Seems that softmax is applied over classes. Have you tried running baseline code with softmax over frames instead ?

Hi there,
Very sorry about the late answer.
This is not an easy question.
I've actually tried the attention on both dimensions.
On classes axis:

Increase the class detection (whichever it is). Indeed, reduce the impact of polyphony. But for each frame, improve the detection of a class and a better segmentation (which class are we sure about at a certain frame ?)
Let's take a
On frame axis:
Increase the detection of a certain frame but reduce the segmentation. Which frame are we sure about for a certain class ? (The idea behind is that obviously for most frames, the softmax will have a very small value)

Intuitively, I would say that frame attention is very good if you want to do some tagging (sound event recognition). However, if you want to do sound event detection, doing class attention helps.
Very happy to discuss about it, it is not a simple question, and also happy to discuss with other people who have thought and tried the different ways. (maybe we could include @qiuqiangkong, I wouldn't be surprised that we already talked about that during some conferences)

Seems that in literature there is no agreement on this.  [6]  uses class wise to me but I am not sure. There is a previous work that uses frame-wise but I cannot find it anymore.

Did you get the answer to your question @Moadab-AI ?


Remove __all__ split and perturbation matchers in metric names

The __all__ matcher was a hack used to get certain HEIM aggregations to work where the stats context was not set correctly. We should strongly consider reducing tech debt by removing it.

Going to mark this as wontfix. I'm okay with keeping some hacks for HEIM. We should strongly discourage future use of the __all__ matcher, though.


python3Packages.influxdb-client: 1.17.0 -> 1.18.0

Motivation for this change
Update to latest upstream release 1.18.0
Change log: https://github.com/influxdata/influxdb-client-python/releases/tag/v1.18.0
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 127511 run on x86_64-linux 1

3 packages built:

home-assistant
python38Packages.influxdb-client
python39Packages.influxdb-client


 This should cover the necessary functionality for https://github.com/ScanMountGoat/Smush-Material-Research. Perfectly rebuilding the shader binaries is not a goal at this time. The large amount of header and footer information makes it unrealistic to research all of it.

[ ] export nushdb metadata for uniforms, buffers, etc from the footer for use with decompiled shaders
[ ] extract the program binary code itself for each shader

The easiest is probably to create functions that take a Shdr from ssbh_lib as input and return some data. The returned data could be higher level or lower level representations of the binary data depending on the use case. Creating conversion APIs similar to the other ssbh_data types won't work well due to all the missing fields.


CI Instructions link is broken

Not sure you're aware, but this link in README/docs doesn't take you anywhere.

Thank you for raising, this has been resolved.


Draft: feat(RPS-676): robot model validation

Nice snapshot thingy! I'm adapting this here on top of the generic robot rendering #131 I think the code generation / python dep isn't necessarily fortunately 😄


AutoRelay/RelayService

I am a newbie and I want to try to modify the code.

I have three nodes, A B C. When A and B are behind NAT and I want to relay via C, I add AutoRelay, RelayService to libp2p.new, but it doesn't work

AutoRelay (CircuitV1) is deprecated, use RelayClient (CircuitV2) instead and that should work

Hi, thank you for your reply. I didn't find the RelayClient option, where is it.
I am using go-libp2p 0.19.0, Isn't AutoRelay the v2 used?

Do I need to specifically specify a relay node and will libp2p automatically post the relay address for me?

Ah sorry, I got that wrong. AutoRelay used to be for CircuitV1, but now all that stuff has been removed (https://github.com/libp2p/go-libp2p/pull/1368/commits/29fd1022a490acc1a155a78170f09729b57c7aa5).
I'm honestly sure where to point you, Libp2p haven't updated the docs or provided any CircuitV2 examples as far as I know, you might want to search for the term "CircuitV2" in GitHub and see if you find any projects that use it.

@QZAiXH I'll take a look into CircuitV2 this weekend and what would need to be implemented to enable this. So far I've held off on integrating a circuit relay into hyprspace because in version 1 there weren't good authentication controls. Within IPFS this meant that if you enabled the relay on one of your nodes, anyone on the entire IPFS network could use your node to relay data which could have quickly ate up many people's bandwidth and thus it was highly discouraged that anyone ran their own circuit relay. Instead trusted relays were provided by the IPFS team.
I'm curious about your use case, Hyprspace should already be able to connect your two peers (A & B) that are both behind NATs without having to go through a third peer. Have you tested that yet and if so are your firewalls blocking anything in specific that we could work on?

Yes, I performed the test. I tested between my company computer and my friend's company computer and we could not connect to each other. My company's NAT type is Port Restricted Cone NAT, my friend's is unknown for now

Hi @alecbcs, any progress on CircuitV2 please? I have researched the code for ipfs and it just creates CircuitV2, how to limit the users connected is not seen.

@QZAiXH is there any chance that your NAT blocks access to non-standard ports? (80, 443, etc...) I'd be curious if you all are able to connect if you do something similar to #80.
Also apologies on the bad communication around the delay getting circuit relay into Hyprspace, I started working on the circuit relay integration but that lead rise to a much larger discussion of a rewrite of the way that we handle peers in general/how we should allow people to create private hyperspace clusters with their own bootstraping peers. Anyway it's coming but I don't have a estimated date yet. In the mean time I'm curious if #80 gives us any insight into your situation.

My friend's company network is Symmetric NAT, and port 80 443 is already occupied, so I can only use a relay to connect.

@QZAiXH I want to thank you for your interest in Hyprspace, but if you require a relay to connect between the two nodes why not just use Wireguard to connect the nodes instead? Hyprspace is really meant to connect two nodes directly without passing packets between a publicly available node like as is the case with Wireguard.

@alecbcs thanks for your suggestion. However, what I mentioned above are just my individual scenarios. What I want to achieve is that it is best to connect directly, and relay if not. I think Hyprspace can do exactly the same as zerotier and tailscale.


Attachment can not be downloaded

Once attached to a file the download button appears. Once click on the button it shows an empty progress bar and the download is not continuing. Own tracker doesnt help. The difference is only that in case I own a tracker I can download files that I share. But I cant download files shared by other people. The same situation is on edumeet.geant.org deployment. We use edumeet 3.4.0 version. The link is edumeet.uran.ua

Just testet on edumeet.uran.ua and it worked.
Usually the tracking server does not work properly, second reason is turn service is not working and behind restrictive firewall, but then audio/video is is not working as well. We try to integrate tracker-service directly into edumeet - will soon be fixed.
edumeet.geant.org uses default tracker which is not available anymore.

Dear Stefan,
Thank you for your kind prompt reply. I will wait for a new version and always ready to deploy new software in our NREN.
Best regards,
Yevhenii


chore: move eslint-plugin-prettier to devDependencies

I noticed this dependency was added to the dependencies of my app after upgrading to the latest version. However, it's only needed during development, so it can be moved to devDependencies.

Thank you!


Add --no-cache-dir for pip to disable pip installation caching

Hello,
I'm just starting to explore TTS gen AI, and your project is a great starting point. Thank you!
I've noticed that starting the project with Docker Compose takes some time, particularly due to downloading the main image ghcr.io/rsxdalv/tts-generation-webui:main, which currently is 28.4GB.
This PR aims to reduce the image size by disabling the pip cache, which is only used during installation (pip install command).
By disabling the cache, we can achieve a reduction of around 6GB in size.
Example:
$ docker images
REPOSITORY                             TAG            IMAGE ID       CREATED             SIZE
tts-generation-webui                   no-cache-dir   9a5456cca69b   About an hour ago   22GB    # improved version
ghcr.io/rsxdalv/tts-generation-webui   main           68b06fd3bd49   24 hours ago        28.4GB # original image

More information about pip cache:

https://pip.pypa.io/en/stable/topics/caching/#disabling-caching

Please contact me if you have any questions.
Thank you!

Thank you!
I would like to ask about cache dir in the case of multiple requirements files: if requirements_a.txt installs zzz==1.2.3 and requirements_b.txt installs zzz=1.2.4 and requirements_c.txt installs zzz==1.2.3 is there that small performance hit?
Normally such a thing should not happen but that's 50% of the reason we have multiple requirements files due to python's dependency extravaganza.
If so, I am thinking about a pipenv --clear option at the end instead.
Either way, excellent work. Having smaller container images will help me as much as others.
I am rebuilding the installer right now so I won't immediately merge this because it would create a merge conflict, but I think we should be good to merge soon!

And as for the size, I know that a conda install with cleared cache was below 20gb, so perhaps there's still potential for some space savings!

Hello @rsxdalv
I did an investigation regarding the cache directory and here are the findings:
$ docker run -it --rm ghcr.io/rsxdalv/tts-generation-webui:main bash
root@5108bfc52de5:/app/tts-generation-webui# du -h --max-depth=8 / 2> /dev/null| awk '$1 ~ /[0-9.]+G/'
4.8G    /usr/local/cuda-11.8/targets/x86_64-linux/lib
4.8G    /usr/local/cuda-11.8/targets/x86_64-linux
4.8G    /usr/local/cuda-11.8/targets
5.2G    /usr/local/cuda-11.8
5.2G    /usr/local
1.2G    /usr/lib
6.5G    /usr
1.1G    /root/.cache/pip/http-v2/6
1.2G    /root/.cache/pip/http-v2/3
5.9G    /root/.cache/pip/http-v2
6.0G    /root/.cache/pip
6.1G    /root/.cache
6.4G    /root
1.1G    /venv/lib/python3.10/site-packages/nvidia/cublas/lib
1.1G    /venv/lib/python3.10/site-packages/nvidia/cublas
3.7G    /venv/lib/python3.10/site-packages/nvidia
1.2G    /venv/lib/python3.10/site-packages/torch/lib
1.3G    /venv/lib/python3.10/site-packages/torch
8.8G    /venv/lib/python3.10/site-packages
8.8G    /venv/lib/python3.10
8.8G    /venv/lib
8.8G    /venv
24G     /

It appears that the only files we can safely remove are related to the pip cache. Other files belong to various libraries and might be required during runtime.
Regarding the alternative command, I think in our case we should use pip cache purge, right?
root@5108bfc52de5:/app/tts-generation-webui# pip cache purge
Files removed: 2343
root@5108bfc52de5:/app/tts-generation-webui# du -sh /root/.cache/*
55M     /root/.cache/node-gyp
25M     /root/.cache/pip

According to my experiments, the result is the same as disabling the pip cache. I was considering this change but decided to keep the number of layers smaller. However, using pip cache purge might be more convenient for development.
I can implement this change if you think it's a better approach. Please let me know your thoughts.
Thank you!

Regarding the cache directory and the case of multiple requirements files (e.g., requirements_a.txt installs zzz==1.2.3, requirements_b.txt installs zzz==1.2.4, and requirements_c.txt installs zzz==1.2.3), yes, this would be a bit less efficient during the build because of the absence of a shared cache.
Additionally, regarding Docker, I was considering leveraging Docker cache to speed up builds. However, due to the nature of how Docker handles cache for RUN instructions, it may not be suitable. The cache for RUN instructions isn't automatically invalidated between builds. You can read more about it here.
So regarding the current Dockerfile setup where we have "RUN git clone https://github.com/rsxdalv/tts-generation-webui.git", it's important to understand that subsequent builds in case of a docker cache hit won't automatically update the cloned repository unless a layer before it changes. A potential fix for this is to use the local repository with Dockerfile CP command..
Thanks

Well researched! I think we can make that change later if it seems better.
I merged these changes so that we can continue on top of this as needed. This repository is still far from requiring a 'beautiful' git history.
As for the cache - I might get burned with this but as far as I remember the github jobs don't typically cache. (One reason being - it is extra, a lot of extra storage that they would need to host). Although I vaguely remember that it is something that can be enabled but there are strict quotas.
What I think should be a fairly straightforward solution would be to make a base image that installs python/node/torch and the repo + requirements being an image that is rebuilt actively. The base image would be pushed to a docker repository acting as a cache. Of course, I have seen this go wrong so ultimately I prefer a cached and properly invalidated docker build.


Error encountered executing the python form-recognizer-receipts.py command

When i ran the following command...  python form-recognizer-receipts.py
I received the following error...
Traceback (most recent call last):
File "form-recognizer-receipts.py", line 23, in
with open(source, "rb") as f:
OSError: [Errno 22] Invalid argument: 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/contoso-allinone.jpg'
My python script is as follows...
########### Python Form Recognizer Async Receipt #############
import json
import time
from requests import get, post
Endpoint URL
endpoint = r"https://jbenderformrecognizer.cognitiveservices.azure.com/"
apim_key = "REMOVED FOR SECURITY PURPOSES"
post_url = endpoint + "/formrecognizer/v2.0/prebuilt/receipt/analyze"
source = r"https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/contoso-allinone.jpg"
headers = {
# Request headers
'Content-Type': '',
'Ocp-Apim-Subscription-Key': apim_key,
}
params = {
"includeTextDetails": True
}
with open(source, "rb") as f:
data_bytes = f.read()
try:
resp = post(url = post_url, data = data_bytes, headers = headers, params = params)
if resp.status_code != 202:
print("POST analyze failed:\n%s" % resp.text)
quit()
print("POST analyze succeeded:\n%s" % resp.headers)
get_url = resp.headers["operation-location"]
except Exception as e:
print("POST analyze failed:\n%s" % str(e))
quit()

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9d721621-becf-6cbf-f168-8e51858e3f06
Version Independent ID: 7d07be8b-1d15-9b67-cbb5-9b7e2d44cf2f
Content: Quickstart: Extract receipt data using Python - Form Recognizer - Azure Cognitive Services
Content Source: articles/cognitive-services/form-recognizer/quickstarts/python-receipts.md
Service: cognitive-services
Sub-service: forms-recognizer
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@jcbendernh Thanks for the question. We are investigating the issue and will update you shortly.

@jcbendernh Thanks for the feedback. We have forwarded to product team to check on this.
Meanwhile you can try the following using python - http.client or using Python-Request.
import http.client
import mimetypes
conn = http.client.HTTPSConnection("westeurope.api.cognitive.microsoft.com")
payload = "{\r\n  "source": "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/contoso-allinone.jpg\"\r\n}"
headers = {
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': ''
}
conn.request("POST", "/formrecognizer/v2.0/prebuilt/receipt/analyze", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
or
import requests
url = "https://westeurope.api.cognitive.microsoft.com/formrecognizer/v2.0/prebuilt/receipt/analyze"
payload = "{\r\n    "source": "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/contoso-allinone.jpg\"\r\n}"
headers = {
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': ''
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))

1) I've got a PR out to specify that this sample code actually uses a local file, not a url. So this should be updated on the docs page tomorrow AM.
**2) If you want to use a url, you need to make a few changes to the exisitng sample. **
a) Change the content type in the header.
'Content-Type': 'application/json'
b) Remove these two lines, as these are opening your local file:
with open(source, "rb") as f:
data_bytes = f.read()

Add the json for the url. Remember how we changed the content type to json, well here comes our json!

source_url = {"source": source}

When you call post, swap out the data argument for your json.

post(url = post_url, json = source_url, headers = headers, params = params)

Thanks, link to the PR: #https://github.com/MicrosoftDocs/azure-docs-pr/pull/127135.
@jcbendernh We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Two test failures due to arguments having incorrect types

I've just noticed that we weren't running the tests correctly in Gentoo, and we haven't been testing the C extension. After fixing that, I see two test failures:
FAILED test/test_box.py::TestBox::test_box_kwargs_should_not_be_included - TypeError: Argument 'box_recast' has incorrect type (expected dict, got bool)
FAILED test/test_box.py::TestBox::test_box_namespace - TypeError: Argument 'box_namespace' has incorrect type (expected tuple, got bool)

I can reproduce them with 7.0.1 release and git develop @ 1025c0ae23a3be2847029e1ebd29b42f7d32f73a.
To reproduce:
python3.10 -m venv .venv
. .venv/bin/activate
pip install -r requirements-dev.txt -r requirements-test.txt
pip install -e .
python -m pytest -vv

Full traceback:
============================================================== FAILURES ===============================================================
___________________________________________ TestBox.test_box_kwargs_should_not_be_included ____________________________________________

self = <test.test_box.TestBox object at 0x7f1436459b70>

    def test_box_kwargs_should_not_be_included(self):
        params = {
            "default_box": True,
            "default_box_attr": True,
            "conversion_box": True,
            "frozen_box": True,
            "camel_killer_box": True,
            "box_safe_prefix": "x",
            "box_duplicates": "error",
            "default_box_none_transform": True,
            "box_dots": True,
            "modify_tuples_box": True,
            "box_intact_types": (),
            "box_recast": True,
        }

>       bx = Box(**params)
E       TypeError: Argument 'box_recast' has incorrect type (expected dict, got bool)

test/test_box.py:1341: TypeError
_____________________________________________________ TestBox.test_box_namespace ______________________________________________________

self = <test.test_box.TestBox object at 0x7f1436458fa0>

    def test_box_namespace(self):
        bx = Box(default_box=True)
        assert bx._box_config["box_namespace"] == ()
        bx.a.b.c = 5
        assert bx.a._box_config["box_namespace"] == ("a",)
        assert bx.a.b._box_config["box_namespace"] == ("a", "b")
        bx.x = {"y": {"z": 5}}
        assert bx.x._box_config["box_namespace"] == ("x",)
        assert bx.x.y._box_config["box_namespace"] == ("x", "y")
        bx[None][1][2] = 3
        assert bx[None][1]._box_config["box_namespace"] == (None, 1)

        for modified_box in [
            bx.a + bx.x,
            bx.a - bx.x,
            bx.a | bx.x,
        ]:
            assert modified_box._box_config["box_namespace"] == ()
            assert modified_box.b._box_config["box_namespace"] == ("b",)
            assert modified_box.y._box_config["box_namespace"] == ("y",)

        bx.modified = {}
        assert bx.modified._box_config["box_namespace"] == ("modified",)
        bx.modified += bx.a
        assert bx.modified.b._box_config["box_namespace"] == ("modified", "b")
        bx.modified |= bx.x
        assert bx.modified.y._box_config["box_namespace"] == ("modified", "y")
        bx.modified -= bx.a
        assert bx.modified._box_config["box_namespace"] == ("modified",)

>       bx2 = Box(box_namespace=False)
E       TypeError: Argument 'box_namespace' has incorrect type (expected tuple, got bool)

test/test_box.py:1430: TypeError
======================================================= short test summary info =======================================================
FAILED test/test_box.py::TestBox::test_box_kwargs_should_not_be_included - TypeError: Argument 'box_recast' has incorrect type (expected dict, got bool)
FAILED test/test_box.py::TestBox::test_box_namespace - TypeError: Argument 'box_namespace' has incorrect type (expected tuple, got bool)
==================================================== 2 failed, 144 passed in 0.64s ====================================================

Unless I'm mistaken, it seems that the tests are passing incorrect argument types per the signatures.

Thanks for the info! I have not been able to replicate that on Windows or Ubuntu 22 WSL.
However the subs do need updated and flushed out better, and make sure mypy is updated and good to go so I will make those changes (which will update these tests) for the next version.

Updated in 7.1.0, hopefully fixed, but I was not able to re-create issue to verify. Let me know if there is still any issues!

Thanks, it looks good now!


Updated README.md file

Description
Readme.md file updated to explain more about the project
All pull requests should be related to open issues. Indicate the issue(s) bellow and remove this line:
Fixes #(issue number 2)

Great work and well done but as @taiwosunday99 and @Theshedman said, the changes they mentioned are very important

Great work @alexzender45 you have put in a lot to this project. Please review my request and see if you can make that happen. Also, please don't hesitate to contact me if you need any form of assistance.
Thanks once more and good job.

This PR when approved fixes #4


Determine doc impact of P1464R1

Determine doc impact of P1464R1
Occasionally, a paper increases restrictions on users (either at compile-time or run-time) without requiring implementations to diagnose improper usage.
This has no implementation impact, but may have doc impact.
Determine the doc impact of this paper.

moved to quest


Disable output (--out)

Hi there!
I'm generating documentation for a lib using typedoc, and I use this documentation in an angular application that uses only the json output. Thus, I'd like to know if this is possible to totally disable all output (html...) other than json
Cheers!

Just don't use --out, only use the --json option and Typedoc should only render the JSON output.

.... Okay i'm feeling really dumb: my IDE did not showed me files changes, and I didn't see that it actually worked.


Between a Rock, wrong amount of ammo moulds in item requirements

Should be 1x.
Issue is repeated in step requirements

Will be fixed by https://github.com/Zoinkwiz/quest-helper/pull/1390 - thank you for the report!


Rendering problems in a long post

I am moving a post redered by mathjax to a KaTeX backed blog. And I have encountered multiple errors. I have fixed a few including replacing \lt and \gt with < and >; removing all \left and \right; replacing \{ and \} with \lbrace and \rbrace; changing {\bf x} to \mathbf{x}; replacing \bar with \overline. However, I found that the lack of current status of KaTeX makes my effort aimless. Thus, I wonder that could someone familiar with KaTeX may give me some advice on how to make this post redered well. In another way, how to modify the equations in this post to make the KaTeX work.
The mathjax version of the post
http://www.optimizations.ml/2015/08/02/introdction-to-nonlinear-optimization-by-fukushima/
The source code
https://github.com/quxiaofeng/optimization/blob/master/_posts/2015-08-02-introdction-to-nonlinear-optimization-by-fukushima.md
The KaTeX version of the post
http://www.quxiaofeng.me/sudo-jekyll/introdction-to-nonlinear-optimization-by-fukushima.html
The source code
https://github.com/quxiaofeng/sudo-jekyll/blob/gh-pages/_posts/2015-08-02-introdction-to-nonlinear-optimization-by-fukushima.md
PS. Everyone is welcomed to take this post as an example or a test.

\left \right { } should all work fine…

Actually, it is not.
This code
\\[
graph \; f = \lbrace{} (\mathbf{x}, \beta)^T \in \Re^{n+1} \mid \beta = f(\mathbf{x}) \rbrace{} ,
\\]

renders as:

The code with \left\{\right\}
\\[
graph \; f = \left\{ (\mathbf{x}, \beta)^T \in \Re^{n+1} \mid \beta = f(\mathbf{x}) \right\} ,
\\]

renders as:

It works fine here: http://khan.github.io/KaTeX/

How are you running KaTeX? It looks like maybe something else is swallowing the backslashes. Note that in the output it shows "\left{", not "\left{".

Oh, it's my fault. It should be \\{ and \\} other than \{ and \}.
This code works
\\[
graph \; f = \left\\{ (\mathbf{x}, \beta)^T \in \Re^{n+1} \mid \beta = f(\mathbf{x}) \right\\} ,
\\]

Thank you very much!

This a github supported jekyll blog. I added the KaTeX support to the blog as this commit shows.
https://github.com/quxiaofeng/sudo-jekyll/commit/4527e18a3c75bb4294e404c2b3b9442aa1d6f3b3

Jekyll must be doing something weird then. You can see this example works fine without the extra backslash:
http://jsbin.com/nudecanexe/edit?html,js,output


Change Lea's email

Should be changed to<EMAIL_ADDRESS>Email data on team is in src/content/about/index.md

Email Updated and Pull Request Created.


Show Package Actions dropdown on every package page

I think the header should get a bit more consistent across these pages too.
"[Package name] [page]" with Package name being a link back to the Details.
Not sure about Package list being a button on each of those pages

Tested :+1:, UX feels much better, thanks @giggsey.
I like your idea with small package button on the left. You can change this as well :wink:

Using JavaScript to format the numbers to allow for different locales without having to build support into the backend

Nice, link to stats in package details is also good UX :+1:


Python - Allow for specifying flake8 for python2 and python3 executables.

Information
VIM version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Aug 14 2018 05:28:49)
macOS version

Operating System: macOS High Sierra (10.13.4)
What went wrong
I currently work on both python2 and python3 projects. I specify flake8 to ale using the variable:
g:ale_python_flake8_executable

I create a virtualenv to hold flake8 so I don't have to reinstall it in all of my virtualenvs. The problem I have is that I can only specify a single flake8 executable. So if I install it in a python3 virtualenv, my python2 projects sometimes get erroneous linter complaints because it's trying to lint the code as if it was python3.
Reproducing the bug

Install flake8 into a virtualenv using python3.
Edit a python script using a virtualenv which uses python2 and use something which only exists in python2, like xrange:

for i in xrange(10):
    pass

flake8 should complain about xrange.

You have to run flake8 for the version of Python that you want to support, and you can only run one version per file. Configure one executable path, and run that.

Sorry I didn't mean to say that this was a bug in ale - this is more of a feature request. You are right in that you can only run one version of flake8 per file and it wouldn't make sense otherwise.
I was just wondering if it would be possible to add functionality to specify for each python type and then detect the python version (for example using the current virtual environment) and then pick the appropriate linter based on that.
For example, neovim allows you to specify two python executables:
let g:python_host_prog = '/full/path/to/neovim2/bin/python'
let g:python3_host_prog = '/full/path/to/neovim3/bin/python'

I was wondering if it was possible to have something similar to that in ale. I understand if not.
Thanks for your work on this plugin.


feature: Support OAuth2UserTokenExchange as authentication type for destinations

It is not a big change but it took me a while to understand what I have to do while reading the docs.
I overloaded the fetchDestination method which is used to trigger the OAuth flows with a new signature containing the X-user-token if a user token is provided.
I also adjusted the authToken type in the destination response from the service as given here. So we use the http_header value directly. This has the advantage that we do not need to build it.

Could someone please have a look again?


Release notes for 1.0.5

General changes

- Support ClickHouse component [issues-6](https://github.com/EdurtIO/incubator-gcm/issues/6)

General changes

- Support ClickHouse component [issues-6](https://github.com/EdurtIO/incubator-gcm/issues/6)

Netty changes

- Support @RestController @RequestMethod annotation
- Support auto scan controller [issues-2](https://github.com/EdurtIO/incubator-gcm/issues/2)
- Support constom configuration path
- Rename NettyServer to GcmNettyApplication

Netty changes

- Support @RestController @RequestMethod annotation
- Support auto scan controller [issues-2](https://github.com/EdurtIO/incubator-gcm/issues/2)
- Support constom configuration path
- Rename NettyServer to GcmNettyApplication

Released

Released


[otbn] Make registers much more explicit in the ISS

This patch defines a new class for registers (called Reg, in reg.py).
It's a bit simpler than the riscvmodel version, but the big difference
is that it has no magic coercions. If you want to get the value as an
unsigned integer, you call Reg.read_unsigned. If you want set the
value as a signed integer, you call Reg.write_signed. It's all very
explicit, which should hopefully catch corner cases in the spec.
reg.py also defines a RegFile class, to hold the registers. This is
used as-is for the wide registers, but is subclassed for GPRs in
gpr.py. This allows us to give x0 and x1 special behaviour (a zeros
register and a call stack, respectively).
Most of the rest of this patch is porting the instruction definitions
in insn.py to use the new register interface. Because there are no
magic coercions, the definitions get rather longer, but they are
hopefully easier to understand.
One notable change from the previous Register class is that you get an
assertion error if you try to assign an integer that's out of range.
So state.gprs.get_reg(1).write_unsigned(1 << 32) will trigger an
error. This means that code that does arithmetic on operands generally
gains an explicit mask "foo & ((1 << 32) - 1)". This was an
intentional design decision, because it means the code in
insn.py (which defines what the instruction does) fully specifies the
semantics, rather than relying on magic inside the Register class.
Similarly, the register files no longer override __getitem__ and
__setitem__. I think the result is less magical and the syntax more
accurately shows what's actually happening in the Python simulation.
The plan is that when we do automatic extraction from the ISS to the
spec examples, we'll do some sort of transformation, turning e.g.
val1 = state.gprs.get_reg(self.grs1).read_unsigned()
...
state.gprs.get_reg(self.grd).write_unsigned(result)

to something more like
val = unsigned(state.gprs[self.grs1])
...
state.gprs[self.grd] = from_unsigned(result)

So the "trace the assignments" approach to reading the documentation
works again.
When porting the instruction definitions, I made one intentional
change to behaviour (to match the intended semantics): If a big number
ALU instruction specifies a right shift of shift_bytes, it's now a
logical right shift, rather than an arithmetic one.
I also got rid of most updates to variable values in the instruction
definitions, so they are now in a sort of "pseudo-SSA style". This
tends to be more convenient when you're looking at pseudo-code
documentation, especially when debugging or trying to write formal
definitions, because you can say "foo" rather than "the value of foo
at line 12".
Fixes #3560.

@rswarbrick what do you think? Wouldn't it be better to keep the overloading for the bitwise operators in the Reg type and let the instructions directly operate on this type without the "conversion" to int. I somehow feel that this could capture potential errors earlier. Like not applying the mask correctly when you do an invert.

I think I'd prefer to get rid of the overloading entirely. You're right about the possibility of messing up the masking, but at least that code is explicit in the instruction definition. And if you get something really badly wrong, you'll hit an assertion (all the register write functions check their inputs are in range).

Force-push fixes width in trace items (thanks, @felixmiller!) and rebases.

I think you're right about the signed numbers. I mean, it's not particularly surprising that sra is the exception: the whole point of 2's complement is that pretty much everything works the same as unsigned values, except for arithmetic right shift! Anyway, I don't see any particular need to shrink the interface further: the names are pretty clear, so I'd hope it's obvious what's going on. (Hopefully...)


Bug with ng-transclude

There is a slight bug in the template attribute of the directive, at
template: '{{name}}',

At least in Angular 1.4+, anything within the transcluded element will be replaced with the directive. This will cause {{name}} to be erased and show no 'a' element to a user. To achieve something similar, you should do.
template: '{{name}}

',

@nikkwong thanks for the catch.  Ill update this ASAP.


using un-mimified moment

Your addon is using the un-minified moment.js - how to force it to use the minified version?

Apologies, it's the ember end of things.


[BUG][Opensearch]Difference Node role between Official document and Helm chart value.yaml

Dear team,
Official document let me know master node.roles below as https://opensearch.org/docs/latest/opensearch/cluster/
node.roles: [ cluster_manager ]
By the way in the helm chart
roles:

master
ingest
data
remote_cluster_client

helm is going with master ? or cluster_manager is right ?
please let me know.
Thanks, Best regards.

[Triage] Hey @type-kimchi yes thats true the roles has to be updated to change cluster_manager for main branch of this repo, the 1.x branch uses 1.x version of OpenSearch so it can continue to use master.
Also just FYI https://opensearch.org/blog/Adopting-inclusive-language-across-OpenSearch/
You can also edit the line in chart to change to cluster_manager, please raise a PR if you think it has to be cluster_manager as the default value.
Thank you

It's not about only values.yaml. The role master is used in several places, it must be done comprehensively, e.g.:
https://github.com/opensearch-project/helm-charts/blob/1a2ba749b7215095adda7ee592b98ebadf946373/charts/opensearch/templates/statefulset.yaml#L357
I want to mention that it must be done because master is deprecated and may be removed in future releases of OpenSearch.

strongly agree with you @czepiec


Enable large log files to be downloaded. Fix for #141

At the end of LargeText.writeLogTo() the size size is returned back as
a long, but the calculation is done with int math, not long.  So we get
a problem for large files.
This fix enables files longer than Integer.MAX_VALUE to be handled.
Unfortunately the only way to test this is by writing out a file that is
larger than Integer.MAX_VALUE.  This test takes 24 seconds to run on my
MacBookPro 15" (2015), which has a very fast SSD.  To test in any other
way would mean much larger changes to LargeFile, just for test purposes.

BTW you will need to git merge master to fix CI builds.


[Feature Request] Define max length of a new tag

Hi there!
Thanks again for this awesome library!
The case: new tag length must not exceed 50 chars.
Possible fix: set maxlength on the input field.
RTFM already but still can not find a way to do it out-of-the-box.
Is it possible to define new tag max length or prevent typing in search-change event?
Cheers,
Denis.

Hey @spotman did you implement a workaround for this?

@brandonburkett Sorry, no. There is no way to control this behavior outside of the library, the only possible workaround is to fork-and-patch.

@spotman Here is my hack workaround for now (can be used in mounted or after multiselect is rendered)
await this.$nextTick();

const selectInput = document.querySelector('.multiselect__input')

if (selectInput) {
    selectInput.setAttribute('maxlength', '50');
}

Thanks for sharing, @brandonburkett !


Update keys to camelCase and support list of extensions

Related issue: https://github.com/Azure/azure-functions-host/issues/3214

@pragnagopa Please update the template in .ci/appveyor_setup_worker.py as well.

@pragnagopa The tests seem to be failing. Should we bump the host version as well?

Right. I will send the Dev build from host soon

@elprans - This is the dev build with the config changes. https://ci.appveyor.com/project/appsvc/azure-webjobs-sdk-script-y8o14/build/2.0.11983-cxlninww

@pragnagopa You just need to update the WEBHOST_URL  in setup.py

Has the logging configuration changed? I can no longer enable verbose console logging with host:logger:consoleLoggingMode': 'always' in the environment.

Yea. We have changes around how we load configuration settings. Can you try setting environment variable consoleLoggingMode to always

@pragnagopa  Have there been other changes?  The host seems to ignore the extensions in the bin/ folder of the function app.

This pr covers breaking changes wrt to language workers.
@fabiocav - any changes in how we load extensions?

Synced up with @fabiocav . We do not have a version of the CLI that installs the right version of extensions yet. As a workaround we need to checkin extensions.json file in the bin folder. I will add that file to this PR and send an update soon.

To clarify, the test runner does copy extensions.json to the bin folder of every test app. The extensions are there, but not being loaded.

So this will have to wait until a cli release?

@elprans  - Here is the generated extensions.json with the latest versions
{
  "extensions":[
    { "name": "CosmosDBConfiguration", "typeName":"Microsoft.Azure.WebJobs.Extensions.CosmosDB.CosmosDBConfiguration, Microsoft.Azure.WebJobs.Extensions.CosmosDB, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null"},
    { "name": "EventGridExtensionConfig", "typeName":"Microsoft.Azure.WebJobs.Extensions.EventGrid.EventGridExtensionConfig, Microsoft.Azure.WebJobs.Extensions.EventGrid, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null"},
    { "name": "HttpExtensionConfiguration", "typeName":"Microsoft.Azure.WebJobs.Extensions.Http.HttpExtensionConfiguration, Microsoft.Azure.WebJobs.Extensions.Http, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null"}
  ]
}

@fabiocav @pragnagopa How soon is the core tools release that is able to generate the correct metadata?  The worker testing infrastructure assumes that func extension does the right thing. There is no hardcoded extensions.json anywhere.

We should have a staging version of CLI soon. Can you point me to how to install the latest CLI bits for CI system?


Remove placement_id and bidder_request from BidderContext in Avro schema

we also need to change schema id from 52 to 53


Containerized app with Dapr sidecar are unreachable from host machine

here is my docker-compose file :
services:
  mockserver:
    image: "docker.io/mockserver/mockserver:latest"
    environment:
      MOCKSERVER_LOG_LEVEL: DEBUG
    ports:
      - "1080:1080"

  dapr:
    image: "daprio/daprd:1.13.2"
    command: [
      "./daprd",
      "-app-id", "mockserver-service",
      "-app-port", "1080",
      "-dapr-http-port", "3500",
      "-dapr-grpc-port", "50001",
    ]
    ports:
      - "3602:3602"
      - "6002:6002"
    network_mode: "container:mockserver"
    environment:
      DAPR_LOG_LEVEL: "debug"
      PORT: "1080"
    depends_on:
      - mockserver

How can I reach the dapr sidecar from my host machine running another app in debug ? I am unable to make service invocation and the app running in the container isn't visible in the daprdashboard.
It looks like a catch 22. It's impossible to reach a sidecar if it is containerized. I tried to use bridge network but i won't work if I use the network_mode. If I don't use the network_mode, dapr is hanging because it can't "discover" the app.

@CChenelFlo
This should help https://docs.dapr.io/developing-applications/debugging/debugging-docker-compose/#composedebugyml
p.s. I wrote this article, so happy to help


NoClassDefFoundError: PlatformAlarmReceiver

Using this API for the first time, looking at the sample on the home page. I run into the crash below when I call
        new JobRequest.Builder(MyJob.TAG)
                .setPeriodic(TimeUnit.MINUTES.toMillis(intervalInMins), TimeUnit.MINUTES.toMillis(5))
                .setPersisted(true)
                .build()
                .schedule();

Tried minSdkLevel 18 and 19 (I'd like 18 preferably).  I got the api through Gradle using the following snippet:

dependencies {
    compile 'com.evernote:android-job:1.1.10'
}

Stack trace:
05-23 02:20:23.713 2020-2020/com.bla I/dalvikvm: Could not find method android.app.AlarmManager.setExact, referenced from method com.evernote.android.job.v14.JobProxy14.plantOneOffExact
05-23 02:20:23.713 2020-2020/com.bla W/dalvikvm: VFY: unable to resolve virtual method 5: Landroid/app/AlarmManager;.setExact (IJLandroid/app/PendingIntent;)V
05-23 02:20:23.713 2020-2020/com.bla W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa5021678)
05-23 02:20:23.713 2020-2020/com.bla E/AndroidRuntime: FATAL EXCEPTION: main
                                                                     java.lang.NoClassDefFoundError: com.evernote.android.job.v14.PlatformAlarmReceiver
                                                                         at com.evernote.android.job.v14.JobProxy14.getPendingIntent(JobProxy14.java:184)
                                                                         at com.evernote.android.job.v14.JobProxy14.cancel(JobProxy14.java:151)
                                                                         at com.evernote.android.job.JobProxy$Common.cleanUpOrphanedJob(JobProxy.java:259)
                                                                         at com.evernote.android.job.JobManager.schedule(JobManager.java:218)
                                                                         at com.evernote.android.job.JobRequest.schedule(JobRequest.java:366)
                                                                         at com.bla.MyJob.schedule(MyJob.java:27)
                                                                         at com.bla.MainActivity.onResume(MainActivity.java:19)
                                                                         at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
                                                                         at android.app.Activity.performResume(Activity.java:5211)
                                                                         at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2780)
                                                                         at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2819)
                                                                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2266)
                                                                         at android.app.ActivityThread.access$600(ActivityThread.java:141)
                                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                         at android.os.Looper.loop(Looper.java:137)
                                                                         at android.app.ActivityThread.main(ActivityThread.java:5103)
                                                                         at java.lang.reflect.Method.invokeNative(Native Method)
                                                                         at java.lang.reflect.Method.invoke(Method.java:525)
                                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                                                                         at dalvik.system.NativeStart.main(Native Method)
05-23 02:25:38.163 2020-2020/? I/Process: Sending signal. PID: 2020 SIG: 9

I don't think this is a problem of the library. Are you using Proguard or do you have multidex enabled? If it's a problem of the library, can you provide a sample to reproduce the crash?

I do not have proguard or multidex enabled (they seem disabled by default with the latest android studio-generated project). I can see if I can cleanup what I have to provide you a sample, but it is just a simple hello world activity, that does something similar to what is on this readme - https://github.com/evernote/android-job  ..  I tried to schedule a periodic job (using the Advanced section) and triggered the scheduling of the Job in my main activity's onResume().  My main activity's onCreate() calls JobManager.create() using the context of the activity.

Please also test with an emulator (if you haven't done already). I don't see a reason why the class shouldn't be found. So I'd also appreciate a hello world sample, that reproduces the bug.

I made a fresh hello world app that reproduces this problem (for me at least) - https://github.com/karthikveeramani/EvernoteJobTest  ..  Please check. Sorry about the weird package names, I'm new to Android Studio and didn't get it right during the project creation.

I found the reason. It's not your fault, one dependency in the pom is missing. You should add the support library to your dependencies:
compile 'com.android.support:support-v4:25.0.0' // or newer

Thank you so much! I'll try that tonight and confirm.

@vRallev , first of all, thanks again for getting to this so quickly and helping me out, I appreciate this a lot.
I no longer see the crash after using your suggestion. I have a question though before I sign off ... now that my periodic job (15 min interval) runs, I see the following logcat dump -- notice the timestamps on the lines with "onRunJob", which is printed when the  job executes.  They don't seem to be 15 min apart as requested.  What am I missing here?
05-25 01:30:01.005 2828-2974/com.hello.world I/JobExecutor: Executing request{id=11, tag=MyJob}, context PlatformAlarmService
05-25 01:30:01.005 2828-2976/com.hello.world I/MyJob: onRunJob called
05-25 01:30:01.005 2828-2976/com.hello.world I/JobExecutor: Finished job{id=11, finished=true, result=SUCCESS, canceled=false, periodic=true, class=MyJob, tag=MyJob}
05-25 01:30:01.015 2828-2975/com.hello.world I/JobExecutor: Executing request{id=9, tag=MyJob}, context PlatformAlarmService
05-25 01:30:01.015 2828-2978/com.hello.world I/MyJob: onRunJob called
05-25 01:30:01.015 2828-2978/com.hello.world I/JobExecutor: Finished job{id=9, finished=true, result=SUCCESS, canceled=false, periodic=true, class=MyJob, tag=MyJob}
05-25 01:30:01.055 2828-2977/com.hello.world I/JobExecutor: Executing request{id=10, tag=MyJob}, context PlatformAlarmService
05-25 01:30:01.055 2828-2976/com.hello.world I/MyJob: onRunJob called
05-25 01:30:01.055 2828-2976/com.hello.world I/JobExecutor: Finished job{id=10, finished=true, result=SUCCESS, canceled=false, periodic=true, class=MyJob, tag=MyJob}

You've scheduled 3 different jobs with the same tag and Android is batching their execution. You probably only want to schedule this job once and not three times.


Allow snekbox to run in both 3.10 and 3.11

This PR updates the snekbox cog to run using Python 3.11 by default, and send a button with the code output response:

Clicking this button allows the use to re-run their same code, but under 3.10.

Clicking this button deletes the previous response and sends a new response, also with the button. Clicking the button again allows the user to change back to 3.11.
This also works with editing your evaled code, where the button ill always run the most recent edition of the user's code.
To do this the cog needed to track, for each user, the active eval's code, python version and response message.
Since a button press can now also trigger a job to continue, if we did not track these then editing your own code and then re-evaluating it would trigger the wait_fors in continue_job for each time you pressed the button to change languages.

Being able to run in 3.11 sounds good.
I'm not sure that the button to change versions is worth the added clutter given that in the vast majority of cases of eval commands the version wouldn't make a difference.
Was having a separate command like !eval3.10, or an optional argument like !eval 3.10 considered?

This PR does add optional argument to the commands too.
The thoughts behind the button is if the user runs into a 3.11 problem, they can easily switch to 3.10 and see if it works on that.

Something that could reduce the clutter would be making the delete action a button too, so it's inn line, rather an emoji below.

I get the following error when trying to use the delete button
2022-07-16 13:56:31 | discord.ui.view | ERROR | Ignoring exception in view <ViewWithUserAndRoleCheck timeout=180.0 children=2> for item <DeleteMessageButton style=<ButtonStyle.secondary: 2> url=None disabled=False label='Delete' emoji=None row=None>
Traceback (most recent call last):
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/discord/ui/view.py", line 412, in _scheduled_task
    await item.callback(interaction)
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/botcore/utils/interactions.py", line 86, in callback
    await interaction.delete_original_message()
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/discord/interactions.py", line 486, in delete_original_message
    await adapter.delete_original_interaction_response(
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/discord/webhook/async_.py", line 217, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10015): Unknown Webhook

I get the following error when trying to use the delete button
2022-07-16 13:56:31 | discord.ui.view | ERROR | Ignoring exception in view <ViewWithUserAndRoleCheck timeout=180.0 children=2> for item <DeleteMessageButton style=<ButtonStyle.secondary: 2> url=None disabled=False label='Delete' emoji=None row=None>
Traceback (most recent call last):
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/discord/ui/view.py", line 412, in _scheduled_task
    await item.callback(interaction)
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/botcore/utils/interactions.py", line 86, in callback
    await interaction.delete_original_message()
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/discord/interactions.py", line 486, in delete_original_message
    await adapter.delete_original_interaction_response(
  File "/home/mark/repos/python/bot-pydis/.venv/lib/python3.9/site-packages/discord/webhook/async_.py", line 217, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10015): Unknown Webhook

I keep using the wrong delete method for these interactions 😮💨
https://github.com/python-discord/bot-core/pull/104 for the fix.

Error
2022-07-16 14:17:41 | botcore.utils.scheduling | ERROR | Error in task Task-674<PHONE_NUMBER>92800!
Traceback (most recent call last):
  File "/home/mark/repos/python/bot-pydis/bot/exts/utils/snekbox.py", line 466, in run_job
    response = await self.send_job(ctx, python_version, code, args=args, job_name=job_name)
  File "/home/mark/repos/python/bot-pydis/bot/utils/lock.py", line 112, in wrapper
    raise LockedResourceError(str(namespace), id_)
bot.errors.LockedResourceError: Cannot operate on snekbox.run_job `137073073168973824`; it is currently locked and in use by another operation.

Reproduction:

Run an eval
Run another eval
Quickly press "run in 3.10/11" on the first eval before the second finishes.

Hmm, it seems the cog_command_error isn't hit when the function is being called from thee interaction.
It's an easy fix, we just need to move the error handling from there to instead be a try/except around send_job inside run_job.

Will squash some of these commits before merging.