Compiling clap 2.27.1 with yaml feature enabled fails

Rust Version
rustc 1.21.0 (3b72af97e 2017-10-09)
(also happened to me with 1.19.1)
Affected Version of clap
clap = {version = "~2.27.1", features = ["yaml"]}
Expected Behavior Summary
I add clap as a dependency to my Cargo.toml file, enabling the "yaml" feature as described in the documentation.
Cargo build of my project compiles clap without errors
Actual Behavior Summary
cargo build of my project causes the compile of clap, and hence project build, to fail
error[E0308]: mismatched types
    --> /Users/andrew/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.27.1/src/app/mod.rs:1746:42
     |
1746 |                 a = a.arg(Arg::from_yaml(arg_yaml.as_hash().unwrap()));
     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `std::collections::BTreeMap`, found struct `linked_hash_map::LinkedHashMap`
     |
     = note: expected type `&std::collections::BTreeMap<yaml_rust::Yaml, yaml_rust::Yaml>`
                found type `&linked_hash_map::LinkedHashMap<yaml_rust::Yaml, yaml_rust::Yaml>`
     = help: here are some functions which might fulfill your needs:
             - .hasher()

error[E0277]: the trait bound `args::group::ArgGroup<'_>: std::convert::From<&linked_hash_map::LinkedHashMap<yaml_rust::Yaml, yaml_rust::Yaml>>` is not satisfied
    --> /Users/andrew/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.27.1/src/app/mod.rs:1756:29
     |
1756 |                 a = a.group(ArgGroup::from(ag_yaml.as_hash().unwrap()));
     |                             ^^^^^^^^^^^^^^ the trait `std::convert::From<&linked_hash_map::LinkedHashMap<yaml_rust::Yaml, yaml_rust::Yaml>>` is not implemented for `args::group::ArgGroup<'_>`
     |
     = help: the following implementations were found:
               <args::group::ArgGroup<'a> as std::convert::From<&'z args::group::ArgGroup<'a>>>
               <args::group::ArgGroup<'a> as std::convert::From<&'a std::collections::BTreeMap<yaml_rust::Yaml, yaml_rust::Yaml>>>
     = note: required by `std::convert::From::from`

error[E0277]: the trait bound `args::group::ArgGroup<'_>: std::convert::From<&linked_hash_map::LinkedHashMap<yaml_rust::Yaml, yaml_rust::Yaml>>` is not satisfied
   --> /Users/andrew/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.27.1/src/args/group.rs:132:53
    |
132 |     pub fn from_yaml(y: &'a Yaml) -> ArgGroup<'a> { ArgGroup::from(y.as_hash().unwrap()) }
    |                                                     ^^^^^^^^^^^^^^ the trait `std::convert::From<&linked_hash_map::LinkedHashMap<yaml_rust::Yaml, yaml_rust::Yaml>>` is not implemented for `args::group::ArgGroup<'_>`
    |
    = help: the following implementations were found:
              <args::group::ArgGroup<'a> as std::convert::From<&'z args::group::ArgGroup<'a>>>
              <args::group::ArgGroup<'a> as std::convert::From<&'a std::collections::BTreeMap<yaml_rust::Yaml, yaml_rust::Yaml>>>
    = note: required by `std::convert::From::from`

error[E0308]: if and else have incompatible types
   --> /Users/andrew/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.27.1/src/args/group.rs:463:30
    |
463 |           let group_settings = if b.len() == 1 {
    |  ______________________________^
464 | |             let name_yml = b.keys().nth(0).expect("failed to get name");
465 | |             let name_str = name_yml.as_str().expect("failed to convert arg YAML name to str");
466 | |             a.name = name_str;
...   |
472 | |             b
473 | |         };
    | |_________^ expected struct `linked_hash_map::LinkedHashMap`, found struct `std::collections::BTreeMap`
    |
    = note: expected type `&linked_hash_map::LinkedHashMap<yaml_rust::Yaml, yaml_rust::Yaml>`
               found type `&std::collections::BTreeMap<yaml_rust::Yaml, yaml_rust::Yaml>`

   Compiling serde_derive_internals v0.17.0
error: aborting due to 4 previous errors

error: Could not compile `clap`.

Steps to Reproduce the issue
Add clap dependency with "yaml" feature enabled, like this:
[dependencies]
clap = {version = "~2.27.1", features = ["yaml"]}

then run "cargo build"
If I modify the entry in Cargo.toml to:
clap = "~2.27.1"
then it compiles file.
Sample Code or Link to Sample Code
My main is ATM very minimal
fn main() {
    log4rs::init_file("log.yaml", Default::default()).unwrap();
    info!("Logging started using 'log4rs', see log.yaml for configuration details");

    println!("'flow' version: {}", VERSION);
    println!("'flowlib' version {}", info::version());

    let yaml = load_yaml!("cli.yaml");
    let matches = App::from_yaml(yaml).get_matches();
}

Debug output
Doesn't compile so debug output N/A
Additional
I have another project where adding the exact same dependency compiles just fine, so I can only guess it's something to do with an interaction with my other dependencies?
So here are my dependencies:
[[bin]]
name = "flow"
path = "src/cli.rs"

[dependencies]
clap = {version = "~2.27.1", features = ["yaml"]}
glob = "*"
log = "*"
log4rs = "*"
flowlib = { path = "../lib" }

and the contents of my Cargo.lock:
[root]
name = "flow"
version = "0.1.0"
dependencies = [
 "clap 2.27.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "flowlib 0.1.1",
 "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
 "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "log4rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "ansi_term"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "antidote"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "atty"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
 "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "bitflags"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "cc"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "chrono"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
 "time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "clap"
version = "2.27.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "atty 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "crossbeam"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "dtoa"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "flate2"
version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
 "miniz-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "flowlib"
version = "0.1.1"
dependencies = [
 "yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "fnv"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "glob"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "humantime"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "itoa"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "kernel32-sys"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "libc"
version = "0.2.33"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "linked-hash-map"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "linked-hash-map"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "log"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "log-mdc"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "log4rs"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 "flate2 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
 "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "humantime 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
 "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde-value 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_derive 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_json 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_yaml 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "miniz-sys"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "cc 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num"
version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num-integer 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-iter 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num-integer"
version = "0.1.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num-iter"
version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num-integer 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num-traits"
version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "ordered-float"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
 "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "quick-error"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "quote"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "redox_syscall"
version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "redox_termios"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "redox_syscall 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "serde-value"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "ordered-float 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_derive"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_derive_internals 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_derive_internals"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
 "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_json"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_yaml"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
 "yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "strsim"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "syn"
version = "0.11.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
 "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "synom"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "termion"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
 "redox_syscall 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
 "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "textwrap"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "time"
version = "0.1.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
 "redox_syscall 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "traitobject"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "typemap"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "unicode-width"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unicode-xid"
version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unreachable"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "unsafe-any"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "vec_map"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "void"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "winapi"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "winapi-build"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "yaml-rust"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "linked-hash-map 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[metadata]
"checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"
"checksum antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5"
"checksum atty 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b78860"
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
"checksum cc 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a9b13a57efd6b30ecd6598ebdb302cca617930b5470647570468a65d12ef9719"
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e"
"checksum clap 2.27.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1b8c532887f1a292d17de05ae858a8fe50a301e196f9ef0ddb7ccd0d1d00f180"
"checksum crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97"
"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"
"checksum flate2 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)" = "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423"
"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
"checksum humantime 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e9298fffb2a54569e1fcb818e9c2ff77caa2fad68d64b6e409b9f777bdb1960"
"checksum itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c"
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
"checksum libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "5ba3df4dcb460b9dfbd070d41c94c19209620c191b0340b929ce748a2bcd42d2"
"checksum linked-hash-map 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d262045c5b87c0861b3f004610afd0e2c851e2908d08b6c870cbb9d5f494ecd"
"checksum linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7860ec297f7008ff7a1e3382d7f7e1dcd69efc94751a2284bafc3d013c2aa939"
"checksum log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b"
"checksum log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7"
"checksum log4rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e9beb5748c7d304a7c07e74ff2f0e642146a1191f8e9d9fb398e46ccb128364d"
"checksum miniz-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4"
"checksum num 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f923525"
"checksum num-integer 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)" = "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d0fba"
"checksum num-iter 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13dffe01"
"checksum num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0"
"checksum ordered-float 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58d25b6c0e47b20d05226d288ff434940296e7e2f8b877975da32f862152241f"
"checksum quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eda5fe9b71976e62bc81b781206aaa076401769b2143379d3eb2118388babac4"
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
"checksum redox_syscall 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb04509"
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
"checksum serde 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "5a2b181dd2b4a6353e828e44807269a761d3ecbc388a1f5ed3998ea69a516d9c"
"checksum serde-value 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "71187cf90819445c78d64f749d16499ba210d7724f16a95754dd03e0f207356d"
"checksum serde_derive 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "31ce3c16ec18abb97d977f75880986549213b0c18f2695eda8b31eadc96eda4a"
"checksum serde_derive_internals 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "32f1926285523b2db55df263d2aa4eb69ddcfa7a7eade6430323637866b513ab"
"checksum serde_json 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "e4586746d1974a030c48919731ecffd0ed28d0c40749d0d18d43b3a7d6c9b20e"
"checksum serde_yaml 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "49d983aa39d2884a4b422bb11bb38f4f48fa05186e17469bc31e47d01e381111"
"checksum strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694"
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
"checksum textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693"
"checksum time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "d5d788d3aa77bc0ef3e9621256885555368b47bd495c13dd2e7413c89f845520"
"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
"checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
"checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c"
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992"

Ah yes, this is #747 popping up. I'm thinking of adding another feature flag to distinguish between the two options. I'll do some testing and report back.

I did some digging and it's strange because I can't reproduce it. With yaml-rust 0.4.0 I can, but not with 0.3.5.
See the discussion at the end of #747 as to what our delima is. I've been working on 3.x but I can't promise it'll be out soon, early 2018 is what we're looking at for a true breaking change. It's unfortunate, but it's also what happens when depending on pre 1.0 crates.

Fixed on v3-master


Footer enhancement

I want to enhance the footer by adding hover effect and also aligning everything.

I want to enhance the footer by adding hover effect and also aligning everything.

I dont want any changes in footer. its already modified.


schemacrawler: 16.20.5 -> 16.20.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/schemacrawler/versions.
meta.description for schemacrawler is: Database schema discovery and comprehension tool
meta.homepage for schemacrawler is: https://www.schemacrawler.com/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 16.20.6 in filename of file in /nix/store/ncqyccxzpvxvbn5lqf15qidr5qm7bk6p-schemacrawler-16.20.6

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
schemacrawler

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/9d0abad26f812b204b7c04b5267878c957ae5039#schemacrawler

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

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

1 package built:

schemacrawler

Maintainer pings
cc @elohmeier for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/schemacrawler/SchemaCrawler/releases.
meta.description for schemacrawler is: Database schema discovery and comprehension tool
meta.homepage for schemacrawler is: https://www.schemacrawler.com/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 16.20.7 in filename of file in /nix/store/4m8wxqvs4r6rdpc09lzzhpgqxcnzpign-schemacrawler-16.20.7

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
schemacrawler

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/32641332e96bca52efe9f6f5a7d1c0d57f54290c#schemacrawler

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

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

1 package built:

schemacrawler

Maintainer pings
cc @elohmeier for testing.


Serialisation issue since porting code to latest libraries in v3 SDK

Bot Info

SDK Platform: .NET
SDK Version: v3
Active Channels: N/a
Deployment Environment: Local development with emulator

Issue Description
I'm currently in the process of porting my bot to use the latest libraries under the v3 SDK and in the process I am also moving to use NetStandard Core 2.0 projects target 4.7.1.
I've managed to eventually get my bot to a point where it at least displays a thumbnail welcome card, however I am having serialisation issue when I message the bot. Things may have moved on a little in terms of recommended coding patterns, but I haven't found any recent or certainly not Core 2.0 example of using a route dialog.
Basically I have a root dialog that splits the conversation out to a few dialog chains. I use an IDialogFactory for the other dialogs and I resolve the root dialog using the DialogModule in my MessageController. When you message the bot it goes through the message controller, into the start method of the RootDialog, but then when it tries to handle MessageReceived in the StartAsync method and tries to de-serialise the DialogContext, it throws the error:

Cannot serialize delegates over unmanaged function pointers, dynamic methods or methods outside the delegate creator's assembly.

Code Example
Here is where the root dialog is called in the message controller:
					using (var scope = DialogModule.BeginLifetimeScope(Conversation.Container, activity))
					{
						try
						{
							var botDataStore = scope.Resolve<IBotDataStore<BotData>>();
							var key = Address.FromActivity(activity);
							var userData = await botDataStore.LoadAsync(key, BotStoreType.BotUserData, CancellationToken.None);
							var baseUrl = new UriBuilder(_appSettings.UriScheme, Request.Host.Host, Request.Host.Port ?? (_appSettings.UriScheme == "http" ? 80 : 443)).Uri.AbsoluteUri;

							// Store request url in container
							userData.SetProperty(StateType.RequestUrl.GetDescription(), baseUrl);

							await botDataStore.SaveAsync(key, BotStoreType.BotUserData, userData, CancellationToken.None);
							await botDataStore.FlushAsync(key, CancellationToken.None);

							var dialog = scope.Resolve<IDialog<object>>();

							await Conversation.SendAsync(activity, () => dialog);
						}
						catch (Exception ex)
						{
							reply.Text = $"Error occured for activity: {activity.Type}";
						}
					}

Here is the start of my RootDialog:
	[Serializable]
	public class RootDialog : IDialog<object>
	{
		private readonly IDialogFactory _dialogFactory;
		private readonly IManagementLogic _managementLogic;
		private RequestModel _requestModel;
		private ConversationReference _conversationReference;

		public RootDialog(IDialogFactory dialogFactory, IManagementLogic managementLogic)
		{
			_dialogFactory = dialogFactory;
			_managementLogic = managementLogic;
		}

		public async Task StartAsync(IDialogContext context) =>
			await Task.Run(() => context.Wait(MessageReceivedAsync));

		private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> result)
		{
			var message = await result;

			_conversationReference = _conversationReference ?? message.ToConversationReference();

			if (message.Text.ToLowerInvariant() == "admin")
			{
				await context.Forward(_dialogFactory.Create<AdminDialog>(), ResumeAfterAdminDialog, message, CancellationToken.None);
			}
			else
			{
				await HandleMessageAsync(context, result);
			}
		}

Here is where I register the dialog factory and dialogs:
			// Factories
			builder.RegisterType<DialogFactory>()
				   .Keyed<IDialogFactory>(FiberModule.Key_DoNotSerialize)
				   .AsImplementedInterfaces()
				   .InstancePerLifetimeScope();

			// Dialogs
			builder.RegisterType<RootDialog>().As<IDialog<object>>().InstancePerDependency();
			builder.RegisterType<PagedCarouselDialog>().InstancePerDependency();
			builder.RegisterType<AdminDialog>().InstancePerDependency();
			builder.RegisterType<AddSiteDialog>().InstancePerDependency();
			builder.RegisterType<LoginDialog>().InstancePerDependency();
			builder.RegisterType<AuthenticationDialog>().InstancePerDependency();
			builder.RegisterType<RootLuisDialog>().InstancePerDependency();
			builder.RegisterType<ContentSearchDialog>()
				.WithParameters(new Parameter[]
				{
					new ResolvedParameter((p, c) => p.Name == "contentSearchHandler", (p, c) => c.Resolve<ContentSearchHandler>())
				}).InstancePerDependency();

			builder.RegisterType<PersonSearchDialog>()
				.WithParameters(new Parameter[]
				{
					new ResolvedParameter((p, c) => p.Name == "personSearchHandler", (p, c) => c.Resolve<PersonSearchHandler>())
				}).InstancePerDependency();

Here is my ConfigureService:
		public IServiceProvider ConfigureServices(IServiceCollection services)
		{
			services.AddOptions();
			services.Configure<AppSettings>(options => Configuration.GetSection(nameof(AppSettings)).Bind(options));
			var credentialProvider = new StaticCredentialProvider(Configuration.GetSection(MicrosoftAppCredentials.MicrosoftAppIdKey)?.Value,
			Configuration.GetSection(MicrosoftAppCredentials.MicrosoftAppPasswordKey)?.Value);

			services.AddAuthentication(options =>
			{
				options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
				options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
			}).AddBotAuthentication(credentialProvider);

			services.AddSingleton(typeof(ICredentialProvider), credentialProvider);

			services.AddMvc();
			services.AddMvc(options =>
			{
				options.Filters.Add(typeof(TrustServiceUrlAttribute));
			})
			.AddJsonOptions(options =>
			{
				options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
				options.SerializerSettings.Formatting = Formatting.Indented;
				options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
				JsonConvert.DefaultSettings = () => new JsonSerializerSettings
				{
					ContractResolver = new CamelCasePropertyNamesContractResolver(),
					Formatting = Formatting.Indented,
					NullValueHandling = NullValueHandling.Ignore
				};
			});

			services.AddHttpClient();

			var appSettings = services.BuildServiceProvider().GetService<IOptions<AppSettings>>();

			var builder = new ContainerBuilder();
			builder.Populate(services);
			builder.RegisterModule(new ReflectionSurrogateModule());
			builder.RegisterModule(new DialogModule());
			builder.RegisterModule(new AutofacConfig(Configuration, appSettings));
			builder.Update(Conversation.Container);
			ApplicationContainer = Conversation.Container;
			return new AutofacServiceProvider(ApplicationContainer);
		}

Other than restructuring my bot in to the net core project structure, I haven't really changed anything, especially around serialisation or the way I call/register the root dialog.

The issue that you are running into is that the Bot.Builder Package was not designed to work with .Net Core.  This means you are unable to use Dialogs when using .Net Core.  Take a look at #3941 and see if this user's workaround works for you as well.  BotBuilderV4 is completely compatible with .Net standard 2.0 if you are interested in using that as well, but it sounds like you have already written your code.  So that may not be an option for you.

I was already using the work around, I'm part way through moving over to net core 2.0 with SDK4. Thank you


TemperatureScaling and LogisticCalibration do not work correctly

Hello, thank you for this greate toolbox. However, I have the same problem as described here (https://github.com/EFS-OpenSource/calibration-framework/issues/48#issue-1964505988). This is mainly due to the method for the calibration mapping. For method=mle the ECE (and the other metrics) is equal to the uncalibrated ECE. This applies to both TemperatureScaling and LogisticCalibration. If you change the method to mcmc, the problem no longer occurs. I am currently using version 1.3.6 of netcal. Below is an example code based on your example and the ReadMe:
import numpy as np
from netcal.metrics import ECE
from netcal.scaling import TemperatureScaling, LogisticCalibration
from sklearn.model_selection import train_test_split

# load data
input = np.load("records/cifar100/wideresnet-16-4-cifar-100.npz")
predictions = input['predictions']
ground_truth = input['ground_truth']

# split data set into build set and validation set
pred_train, pred_val, lbl_train, lbl_val = train_test_split(predictions, ground_truth,
                                                            test_size=0.7,
                                                            stratify=ground_truth,
                                                            random_state=None)

# apply TS
temperature = TemperatureScaling(detection=False, use_cuda=True, method='mle')
temperature.fit(pred_train, lbl_train)
calibrated_ts = temperature.transform(pred_val)

apply LR
lr = LogisticCalibration(detection=False, use_cuda=True, method='mle')
lr.fit(pred_train, lbl_train)
calibrated_lr = lr.transform(pred_val)

# Evaluate
n_bins = 10
ece = ECE(n_bins)
uncalibrated_score = ece.measure(pred_val, lbl_val)
calibrated_score_ts = ece.measure(calibrated_ts, lbl_val)
calibrated_score_lr = ece.measure(calibrated_lr, lbl_val)

print(f'uncalibrated ECE: {uncalibrated_score}')
print(f'calibrated ECE with TS: {calibrated_score_ts}')
print(f'calibrated ECE with LR: {calibrated_score_lr}')

The output:
uncalibrated ECE: 0.05723183405505762
calibrated ECE with TS: 0.05723081579165799
calibrated ECE with LR: 0.05723081579165799

using mcmc instead of mle:
Sample: 100%|██████████| 350/350 [00:03, 96.51it/s, step size=7.82e-01, acc. prob=0.944]
Sample: 100%|██████████| 350/350 [04:27,  1.31it/s, step size=3.79e-02, acc. prob=0.985]
uncalibrated ECE: 0.058336610062313915
calibrated ECE with TS: 0.039346123378723855
calibrated ECE with LR: 0.03517598363437825

Hi, could also verify this behavior on different datasets or only on the example data? Did you already figured out a solution? Unfortunately, I don't have the time yet to go more into detail. Please feel free to add a possible bugfix if you already found a solution.


Throw in promise-fulfillment swallows exception

Bad developer ergonomics: throw in promise fulfillment swallows exception

May be related to Issue 23 on github q

Agreed. However, swallowing exceptions is desirable behavior since it unifies synchronous and asynchronous exception handlers. I wavered on this for a while, but Irakli Gozashvili convinced me it was necessary for the flipside developer ergonomics.
The present stopgap is to terminate all promise chains with a .end() call.
function main() {
  // foo returns a promise, but we don't look at the return so we lose.
  return foo(promiseLoaded());
}

main().end();

I am playing with the idea of having another stop-gap solution: using console.log to write a live array to the console. I would then add exceptions to the array when they are swallowed, and remove them when they are handled.
It would be much more awesome to extend Firebug with something like Causeway, where I could use something like a console.events API to expose the causal graph of promises: a bar for each promise from when it was created to when it was resolved, whether it was fulfilled or rejected, what other promises were waiting for it, the stack trace at the point of creation, the stack trace at the point of failure, that kind of thing.
(Issues are in markdown format. You can use Github’s proprietary extension to Markdown for literal bodies: three backticks on top and on bottom. If you want syntax highlighting, put the file extension on the same line as the initial backticks.)

How about a Q.debug = true mode? The problem with .end() is of course you fail to call it just in the cases you need it.
I suppose to be realistic the ergonomics of Q are pretty horrible in that the call stack goes from "oh, my code" to "OMG what is this code?" A big step could be showing the dev the chain you describe. What is Causeway? (This is one of the areas I want to work on, tho not in Firebug.  Same issues face all other async libs like require.js.)

The way I handle this issue in my Q-like mini implementation of deferreds/promises is by logging any exception thrown from success/error callbacks in addition to rejecting the derived promises with the exception being the rejection reason. So essentially, my stance is that an exception unhandled in a callback represents a programming error and should be logged. To signal that derived promises should be intentionally rejected, one must return a rejected promise instead of a value or an exception.
So Q could be fixed to differentiate between these two scenarios (currently it does not):

promise.then(function(val) { throw 'something went unexpectedly wrong' }).then(..); // log exception and reject derived promise
promise.then(function(val) { return Q.reject('I am unable to compute the value')}).then(..); // don't log anything, just reject derived promise

This approach has been working quite well for me so far and I believe that it is in the "spirit" of deferreds/promises.
From a quick glance at the code, a good place to start would be to log these exceptions:
https://github.com/kriskowal/q/blob/8ff517e193185b100feb881185957a7f211b4c72/q.js#L506
https://github.com/kriskowal/q/blob/8ff517e193185b100feb881185957a7f211b4c72/q.js#L514
Keep in mind that this is a breaking change, because throwing an exception and returning a rejected promise is not the same thing any more. So developers would likely have to go back and fix the old code that merely relies on throwing, rethrowing or unhandling an exception.

@IgorMinar this is how Q worked about a year ago. Unfortunately it’s harder to go back than to go forward.

@kriskowal can share more details about why this logging was removed?

@IgorMinar I was logging the exception and forwarding a rejection. This led to dirty and confusing double-logging if the rejection was handled properly.
I was also of the mind that exceptions would be decreed to be programmer errors and rejections were for intentional errors. However, this did not pan out in practice. A lot of existing systems throw exceptions for non-error cases, and these do need to get trapped in rejections. Having all thrown exceptions reported in every frame is not an option, and terminating a services because of an asynchronously handled exception is not an option. It’s really quite tricky. It would be a much better option to just visualize the promise graph for debugging purposes.

@kriskowal if an existing system communicates a result of an action by throwing an exception then the success callback should expect that (since its part of the contract of the api that it relies on). Isn't it reasonable to expect the developer of the success callback to wrap the call into try/catch and reject return rejection if an expected exception is thrown?
I actually use an alternative method - I made the logger configurable, so at runtime I can choose to display the exception logs during development and in production I silence them.

@igorminar It really just isn’t practical. A lot of these functions only throw in exceptional conditions, so a cautious developer would have to try/catch every third party function.
I really am considering a gamut of solutions. One of them discussed earlier with @asutherland would be to allow the promise library to be instantiated with logging emitters. It’s still on the table if someone has the time.

Another useful causeway link (that I don't believe the above links reference) is a more recent JS version with live-ish examples:
http://code.google.com/p/causeway/

@kriskowal is there a write-up on how to use done() to avoid "exception swallowing"?

@axelson https://github.com/kriskowal/q#the-end

So I love Q, and prefer it, except this error handling case is really difficult on me.
https://github.com/tildeio/rsvp.js/#error-handling
In RSVP, they have an "error" event that fires, meaning as a user you can have some console.assert thing show any unhandled errors. I'd love to have some way of surfacing all exceptions at least while developing... would this be something you'd be interested in having in Q? Even if as "Q.onError` if there's no native event bus. (I haven't yet looked at code.)

Ah it'll only catch errors if you use the .done() method. I was proposing trying to trigger some event handler whenever an error is caught in a promise chain.

@randallb Sorry, that went out too soon. It probably does not do what you want. Q.onerror gets called for unhandled rejections that would get rethrown. It does not report errors that have been caught but have not been handled. There is a limbo for errors, where they might be observed and handled in a future turn. In the trivial case:
var rejected = Q.reject(new Error('boo'));
Q.delay(1000, function () {
    return rejected;
}).done();

This is too trivial a case. The problem will show up if you use promise queues or asynchronous iterators / readers, since the producer and the consumer operate independently.
var reader = Reader([1, 2, 3, 4])
.map(function (value) {
    if (value % 2) throw new Error('how odd');
});

// later...
reader.next().catch(function (error) {
});

So while we could surface unhandled errors in the same event loop turn like RSVP, it would be noisy for legitimate cases.
I need to refresh my context, but there are ongoing plans to surface other events like, ondefer, onresolve, onreject, onhandle that would be able to drive an inspector that would show "pending deferred" promises and "rejected unhandled" promises for any given moment.

If Q
* held weak references to all promises upon creation,
* and strong references to all errors upon rejection,
* and dropped those error references whenever they're successfuly handled by a `catch()` clause,

couldn't we implement a function that runs once per event loop and throws unhandled errors if their corresponding promise has been garbage collected?
Weak references to promises that have been garbage collected but have no outstanding unhandled errors are just dropped as well.
Since this comes at a performance cost and not every JavaScript engine Q runs on would necessarily support ES6's WeakMaps or whatever we use to implement this, this feature could just be disabled (either explicitly by client code or implicitly, if Q detects weak references aren't supported), and people who either don't want it or can't use it can just keep using Q.done.
Couldn't that work pretty well?

Yes, that would work wonderfully. Unfortunately weak maps are not weak references.

From https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/WeakMap:
Because of references being weak, WeakMap keys are not enumerable
(i.e. there is no method giving you a list of the keys). If they were, the list
would depend on the state of garbage collection, introducing non-determinism.
If you want to have a list of keys, you should maintain it yourself.

Are you talking about this? It looks like you can kind of do it if you maintain a list of things that should be on the WeakMap, and check them periodically, no?

How would you maintain that list? (Answer: using a strong reference.)

True. How about adding unique IDs to promises and keeping a list of those, though?

How would you then find out if the promise is in the weak map?

Crap, true. They're not enumerable.  There is a proposed WeakRef that provides a post mortem notification callback. We had to wait for TC39 to specify an event loop to get Promise. We’ll have to wait for TC39 to specify garbage collection before we’ll get WeakRef. Maybe we’ll get it someday, but that sounds hard. Members TC39 would prefer not to introduce a feature that would increase the observable differences between engines and specifying GC could seriously paint the language into a corner.

@kriskowal I see, it's a very tricky thing, indeed. But boy, I just don't feel safe that even things like TypeErrors would just be swallowed if I forget to use Q.done or yield the promise into a Q.spawn generator.
I guess dumping unhandled errors to the console before exiting the program is as good as it'll get for me (I'm not writing a server, so this is reasonable okay in this particular case).

// In browsers, uncaught exceptions are not fatal.
// Re-throw them asynchronously to avoid slow-downs.

https://github.com/kriskowal/q/blob/v1/q.js#L158
I'm sorry, but really?? This is all kinds of wrong. Not only are we swallowing exceptions, we're destroying the stack too. I don't know what the solution is, but this ain't it.

I'm sorry, but really?? This is all kinds of wrong. Not only are we swallowing exceptions, we're destroying the stack too. I don't know what the solution is, but this ain't it.

I don't think rethrowing destroys the stack. The stack will be that of when the Error object was created.

e.stack is available (only sometimes, it seems) but as a string, which means I can't step up from it in the debugger and inspect values, etc.


Unused dependency on typing_extensions

typing_extensions is listed as a dependency, but it's not imported anywhere in the project.

Oh, right, thanks. The import was removed in 64b83ddd6012f2d2c1c8ebe39bf0217de73aa54e but I didn't remove the dependency, let me fix that.


Update COMMUNITY.md

PR Info
This PR adds my template project to the community page.

Closes

Dependencies:

Dependents:

New Features

[ ]

Bug Fixes

[ ]

Breaking Changes

[ ]

Changes

[ ]

Thank you. That's really useful!


Additional sources tests for adding and removing a source

I added tests to add and then remove a source. These currently work against lorax-composer and against the basic routes I added to the api. I chose the fish repo because that is what cockpit-composer uses to test adding and removing a source.

Closed because #77 implements these tests better.


adding a simpleRepository using config add forgets the default repository

adding a simpleRepository before there was a managed-config.json file using:
skeletal config add simpleRepositories "https://codebuilders.jfrog.io/artifactory/generic/openoffice-templates"

created managed-config.json with this content:
{
    "simpleRepositories": [
        "https://codebuilders.jfrog.io/artifactory/generic/openoffice-templates"
    ]
}

then listing templates:
skeletal list
Available templates in https://codebuilders.jfrog.io/artifactory/generic/openoffice-templates

    aoo-addin
    aoo-addin-java
    aoo-addon
    aoo-addon-java
    aoo-client

and the default repo templates are missing!

expected result is if there is no explicit entry for the default simpleRepository it is added first followed by the new one:
{
    "simpleRepositories": [
        "https://codebuilders.jfrog.io/artifactory/generic/skeletal-templates",
        "https://codebuilders.jfrog.io/artifactory/generic/openoffice-templates"
    ]
}

caused in Configuration constructor where all settings are built by default (hard-coded), managed (managed-config.json), and overrides of system properties etc.
problem was that once a array setting like simpleRepositories was added which caused the managed-config.json file to be written, it overrode the default setting which held the default repository.
fix is to include the defaults in the managed settings and then write them all to the json file. only leave out the overrides.

fixed in 0.13.2


Missing prerequisite in  $ perl Makefile.PL

Cannot run perl Makefile.PL because of missing prerequisites. See log line below
/home/pi/Device-Modbus-TCP$ perl Makefile.PL
Warning: prerequisite Device::Modbus 0.021 not found.
Warning: prerequisite Net::Server 2.008 not found.
Warning: prerequisite Role::Tiny 2 not found.
Warning: prerequisite Try::Tiny 0.22 not found.
Generating a Unix-style Makefile
Writing Makefile for Device::Modbus::TCP
Writing MYMETA.yml and MYMETA.json
Where can i find the needed prerequisites?
Thanks in advance

Hello.
Prerequisites can be installed from CPAN, the repository for Perl modules. I recommend you to use cpanm, see https://cpanmin.us/ for instructions. The standard way to install Perl modules from CPAN is through the cpan command, which is very likely to be installed in your machine already. Both tools will take care of prerequisites.


very strange code 429

Describe the bug
A clear and concise description of what the bug is.
I'm using instaloader on my local dev machine (ubuntu 16.4) since weeks without any issues,
now i moved the code to the server (ubuntu 16.4) and all of a sudden im getting 429 all the time without doing anything different than before, what could that be?
Expected behavior
A clear and concise description of what you expected to happen (if not obvious).
Error messages and tracebacks
JSON Query to graphql/query: 429 Too Many Requests [retrying; skip with ^C]
HTTP error code 429 was returned because too many queries occured in
the last time. Please do not use Instagram in your browser or run
multiple instances of Instaloader in parallel.
Made 5 GraphQL requests.
The request will be retried in 26 seconds, at 17:54.
Instaloader version
instaloader --version output.
4.2.1
Additional context
Add any other context about the problem here.

Is your server a rented one, where other users might be trying to access the instagram servers from the same IP? Or running behind a VPN? The instagram servers seems to be more lenient on "local dev machines" running from home (at least wrt login challenge/error 400).
Otherwise, if your server is running from the same connection, I don't know… make sure you havn't accidentally spawned hundreds of instaloader processes due to a bad cronjob, or something.

Instaloader version
instaloader --version output.
4.2.1

The current version is 4.2.4 and there have been changes to the rate control logic (the logic that avoids the 429 error) in 4.2.3, so upgrading to the current Instaloader version might fix the problem.
Also, ensure that neither the Instagram browser interface, nor a mobile app, nor another Instaloader instance is accessing your Instagram in parallel.

@e5150  Im using didgital ocean and they say each droplet got a unique IP since this was my suspicion at first.
@aandergr I also tried 4.2.4 with the same result, instaloader is part of a bigger program and only there to get the Username from user_id. On the local machine it worked perfectly and in 4 Weeks i never had any issues with 429 on the server i get i on the first Iteration.


The formulas are wrong in 2.5 for Cost Estimations tab Column U and R

Column U =IF(Data!$B$73=0,IF(E40="Standard",F40B40VLOOKUP(J40,Prices!$G$21:$H$23,2,FALSE),F40B40Prices!$H$17), R40365 /(G40H40))
has part of what should be in Column R I believe. This is throwing the Final amounts off by a tremendous amount and making the tool useless.

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

ID: 46d409bf-768a-84c9-9145-060206899a44
Version Independent ID: b6178f7f-6264-1123-a986-d83d6f5fd42b
Content: Review the cost estimation report in the Azure Site Recovery Deployment Planner
Content Source: articles/site-recovery/site-recovery-vmware-deployment-planner-cost-estimation.md
Service: site-recovery
GitHub Login: @mayurigupta13
Microsoft Alias: mayg

Looks like there is now a version 2.1 and the numbers are looking more realistic now.

Thanks for the update @markpsullivan
Is it ok to close this thread or do you have a followup question?

We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Improve display of phyloref resolution on phylogeny

WIP
Relates to #12.

It would be better to tackle this as part of PR #315, since displaying it all together would be a good way to clarify what we need. Closing for now.


apply credo static code analysis

This PR applies credo static code analysis and update codes accordingly.

Pull Request Test Coverage Report for Build 362

7 of 7 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 98.658%

Totals

Change from base Build 355:
0.02%

Covered Lines:
147

Relevant Lines:
149

💛  - Coveralls


Enable resolution of link parameters beyond response body

Currently, OASGraph enables to resolve link parameters which are contained in the previous request's body. However, OAS supports links to provide parameters from other source, including parameters of the previous request, or headers. OASGraph should support these cases.

See run time expression.


Incompetence with git

I didn't manage to move from the origin branch to the stackified branch in a git-responsible way. stack new didn't want to generate its files in a non empty dir so I generated a new dir, added the remote and started copying some. Sorry about that.
Maybe check it out and make it the new master if you are okay with it @barnex ?

No worries, I could merge stackify into master without issues.


How to implement stream data to teams

We've integrated an Azure bot using the REST API to send various message types, such as plain text, adaptive cards, and hero cards, to Microsoft Teams. Now, we need to explore the possibility of streaming data, such as multiple paragraphs or rows of tables, through the Azure bot's RESTful API. Is there a method to achieve this?

Hello @Chang025 - Thanks for raising your query.
We will look into it and let you know the updates.

@sayali-MSFT - Please refer to the data streaming done by chatgpt. We need something similar with ms teams.

@Chang025 -Thanks for providing information, we will check it from our end and let you know the update.

@sayali-MSFT - we found one more reference which is only available with c# https://learn.microsoft.com/en-us/azure/ai-services/openai/use-your-data-quickstart?tabs=command-line&pivots=programming-language-csharp#async-with-streaming
Anyway, we can achieve a similar async streaming behavior with Azure Bot Rest API?

@Chang025 -The Bot Framework REST APIs are used to send these cards as attachments in a message. You'll need to handle token management and other aspects of the API request.
while Adaptive Cards can display complex data, they are not designed for streaming large amounts of data. If you need to display a large amount of data, consider using a tab or a task module to display a web page with a full-featured data grid or other UI suited to large data sets.
Meanwhile we are checking with the engineering team as well and let you know the update once we have any.

@sayali-MSFT - Any update on this?
does restful API now support streaming responses, at least for normal texts?


chore: fix typos

Move spec changes from https://github.com/ethereum-optimism/optimism/pull/9128 and https://github.com/ethereum-optimism/optimism/pull/9127 here.

@zhiqiangxu We had a config issue with CircleCI so it didn't run the required checks.  Could you merge in the latest changes from develop and hopefully it will build this time please?

@zhiqiangxu We had a config issue with CircleCI so it didn't run the required checks. Could you merge in the latest changes from develop and hopefully it will build this time please?

I guess you mean the main branch, right? I just merged with the main branch:)

Yep I meant main, sorry it's develop in the monorepo. :)
Looks like there's a lint error because of the arrow change that needs to be fixed up:
specs/fault-proof.md:412:121 MD013/line-length Line length [Expected: 120; Actual: 123]

Thanks for this!


Connect-frontend-frameworks

"Hello world" project with two apps

Backend

Create a new Rails API app called 'hello-rails-back-end' with Postgres database.
Initialize your project with Git.
Create a table for storing your messages and create 5 different greetings.
Create an API endpoint that selects a random greeting from your table
Create a new React app called 'hello-react-front-end'

Front End

Initialize your project with Git.
Create an App component with react-router.
Create the Greeting component that displays a greeting & set it up as a route in the App component.
Create a store, an action, and a reducer that connects the API endpoint to get the random greeting.
Display the random greeting in your Greeting component.

Thank you @uche-inyama we implement that asap.

@netman5 Please work on the changes requested by the previous reviewer.


Operating mode reported as "off" when in auto mode

When my Mitsubishi PEA-M100HAA is in auto mode, the integration reports the operating mode as off.

Thanks for the fix - sorry for the delay - I’ll try to merge it - unfortunately I have an 8 week old baby which is taking up a lot of my time :)


Feature/e2e

Codecov Report

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

@@           Coverage Diff           @@
##           master      #51   +/-   ##
=======================================
  Coverage   11.82%   11.82%
=======================================
  Files          16       16
  Lines         626      626
  Branches      107      107
=======================================
  Hits           74       74
  Misses        552      552

Impacted Files
Coverage Δ

src/components/HeaderGame.vue
0.00% <ø> (ø)

src/components/Maps.vue
0.00% <ø> (ø)

src/components/home/Header.vue
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


Fix: side as taker_type if trade taker and maker is same member

test failed because 2-6-stable latest commits are failing


$form is undefined for the parent of a deeply nested object

The Problem
When you set the value of a deeply nested object and you haven't initialized one of the parent objects, the $form object of the parent is undefined.
I think there are two bugs:
Issue 1:
https://github.com/davidkpiano/react-redux-form/blob/master/src/utils/update-parent-forms.js#L23.
In this situation, form is undefined, so the merge step doesn't work correctly.  It seems like we need something like i.merge(form || {}, updatedValue));
Issue 2:
Even if that is fixed, I think there is an issue in this line:
https://github.com/davidkpiano/react-redux-form/blob/master/src/utils/get-form-value.js#L4
Since $form hasn't been initialized yet, it will try to pull out the value from loadedValue or initialValue, both of which are undefined since the $form property hasn't been initialized (and it's not actually a field).
Steps to Reproduce

Type into the text field in the codepen I linked.
Look at codepen's console output.
You will see the parent object's $form object is undefined.

Expected Behavior
The $form object of the parent should be fully initialized
Actual Behavior
The $form object of the parent is undefined.
Reproducible Code Example
https://codepen.io/dave-clover/pen/dzabaL?editors=1111

If you can confirm that what I described is expected, I can submit a PR.  We are currently hitting this bug.  The workaround is to manually dispatch actions.load(parentModel, {}) before dispatching the deeply nested object.

@dave-clover Go ahead and submit a PR, what you are describing sounds like it should be the expected behavior.
I'll merge the PR ASAP as soon as everything is 🍏 . Thanks!

I'm out of the office until next week and will submit a fix when I return.  Thanks again!


esprint check doesn't work as expected inside subfolders

When you run esprint check in a folder below the project root, only the folder's files are linted, instead of the whole project's

Fixed with #54


[Add Project]: Kotlin Casper Client SDK

Name
Kotlin Casper Client SDK
Website
https://github.com/tqhuy2018/Casper-Kotlin-sdk
Twitter
No response
Tag
SDK
Contact
No response
Project's Contract Hashes on Casper Mainnet
No response
Project's Contract Hashes on Casper Testnet
No response
Project Description
Implement a Casper Kotlin SDK to interact with the Casper network.

Hi @tqhuy2018 ,
Could you let me know if the SDK is in line with the latest casper-node that went in and whether they are in alignment with upcoming casper-node releases, please?

This version of Kotlin SDK is in line with the latest casper-node that went in. You can see the test result in the picture.
Whether it is compatible with casper-node in the future or not, it is necessary to consider whether you change the sending Json data structure (for put_deploy RPC method) and returned Json data structure (for other RPC methods) or not. If the upcoming version changes, we will need to update the SDK.


Documentation error

This may not be the right place, but maybe this can get forwarded there? The python example at  https://developers.coinbase.com/api/v2#create-checkout is wrong. The call should be
   checkout = client.create_checkout(**{"amount": "10.00", ...

not
   checkout = client.create_checkout({"amount": "10.00", ...

Dup of #22; closing in favor of the earlier report.


WSL 1 to 2 -> Importing the Distribution Failed

Version
Microsoft Windows [Version 10.0.19043.1348]
WSL Version

[X] WSL 1
[X] WSL 2

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 20.04
Other Software
No response
Repro Steps

Open Windows Powershell
Enter the command listed in this page

wsl --set-version Ubuntu-20.04 2

Wait for a few minutes, and then you'll see this error

Expected Behavior
Was expecting to change the WSL Version of my Linux Distribution (Ubuntu 20.04) from version 1 to 2.
As mentioned in this webpage.
Actual Behavior
This is the output I receive from Powershell instead of the expected output
PS C:\Users\______________> wsl --set-version Ubuntu-20.04 2
Conversion in progress, this may take a few minutes...
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
Importing the distribution failed.
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.4/: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.4'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.7/: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.7'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.7/opam: Failed to create dir 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.7'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.4/opam: Failed to create dir 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.4'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.3/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.3/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.2/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.2/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.1/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.1/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.0/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.9.0/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.3/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.3/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.2/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.2/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.1/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.1/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.0/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.8.0/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.4/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.4/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.3/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.3/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.2/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.2/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.1/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.1/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.0/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.7.0/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.10.2/opam: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validator/tezos-validator.10.2/opam'
./tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.10.2/: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.10.2'
./tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.0/: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.0'
./tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.1/: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.1'
./tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.2/: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.2'
./tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.3/: Can't create 'tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.3'
./tmp/opam-26507-f2052d/default/packages/tezos-validation/tezos-validation.7.4/

Diagnostic Logs
No response

Was able to resolve the issue
Just needed to uninstall opam from my Ubuntu distro, and it got resolved
More info on Uninstalling Opam: https://opam.ocaml.org/doc/1.1/Advanced_Install.html#:~:text=Or you can simply remove OPAM binaries%2C manual pages and state%3A
P.S.: Had another issue with my VS Code Python extensions, that came as another error too. You might want to uninstall that extension too (if incase a similar problem arises)


FR: searchMessagesFilterThread

There is nice idea seen in https://t.me/designers/44
However this feature is hard to implement correctly only on client side, because if some old random message is chosen as thread initiation, it will require fetching full chat history to get all the replies to this message.
It will be nice to have messages filter such as:
searchMessagesFilterThread message_id:int53 = SearchMessagesFilter;

to search all the messages related to the message_id.  By "related" I mean all the messages eventually leading to the message_id by forward or backward recursive traversion of the reply_to_message_id message property.
What do you think? Thanks

"Forward recursive traversion" is easy to implement successively calling getRepliedMessage.
"Backward recursive traversion" can't be implemented without the server-side index. There is no such index now and it is very-very unlikely to be added in the future due to performance and usability reasons. If the index is added, then after any reply to a message information about the replied message needs to be updated, adding new reply to the list. Moreover, if recursive replies are needed, then unlimited number of messages may need to be updated.
From the other side there is no guarantee that the feature will be usable, because some actually "thread" messages may not have reply_to_message_id field and some important information will be missed.

The feature was added, but limited to supergroups linked to channels and threads beginning from a message, which is not a reply.
The problem with "reply_to_message_id" was solved by automatic adding of it when a message is sent from thread view interface.


value for vertical capacitor variants should be on left side with name

Current

Desired (not exact, just note how they're on the same side)

/bounty $10

/attempt #218

/attempt #218


Update README.md with info on skipping deploy tasks

Part of our PUL/CDH ansiblepalooza.

@acozine thanks for drafting this! I've revised to more accurately reflect what's going on. Would you review and let me know if the revised text makes sense to you or if you have any questions?

@acozine thanks for reviewing! You can't approve it because you originally opened the PR. I'll go ahead and merge this one now.


Add a to_csv(...) method to model classes

This will allow the model to be turned into a CSV string, there are some considerations for this - like what about models that contain other models - essentially everything will need to be flattened. Models with lists also may take some thought.
Method should exist on BaseModel, but can be overridden in some cases.

After further consideration, this doesn't really seem feasible as models have many different shapes some not suitable for csv. Closing.


Update player.py

The upgraded code includes several added features and improvements. Type hints have been incorporated to enhance code readability and enable type checking. Refactoring efforts have focused on improving function and variable names for greater clarity. The logic has been enhanced by consolidating similar functionalities into reusable functions and refining the handling of box sides and adjacency checks. In anticipation of future developments, a placeholder for an "expert" strategy has been added, suggesting a potential future feature. Additionally, the strategies for each difficulty level have been clearly defined and streamlined, ensuring a more organized and understandable codebase.

Hii
can we connect on linkedin : https://www.linkedin.com/in/ashish-madhup-640479221/


feat(event_sources): add CloudWatch dashboard custom widget event

Issue number: #1461
Summary
Changes

Please provide a summary of what's being changed

Added event mapping class for custom widget in CloudWatch dashboard
User experience

Please share what the user experience looks like before and after this change

With the new CloudWatchDashboardCustomWidgetEvent data class users have typed access to the event. The event will have custom parameters provided by the user in event.params["name"], event.raw_event["name"] and event["name"]. If the Lambda function is invoked with the describe parameter, the function should return its documentation. The describe parameter can be provided alone without the widgetContext being part of the event or as a custom param by the invoking user.
Checklist
If your change doesn't seem to apply, please leave them unchecked.

[x] Meet tenets criteria
[ ] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

View rendered docs/utilities/data_classes.md

Hello @sthuber90! This is an awesome PR, thanks a lot for taking the time to help improve the project!
I think it's missing a field domain in event source schema.. Using aws examples we can see the field domain in event source.
Could you please add this field?

@leandrodamascena I looked at the link you posted and in the cloudwatch-custom-widgets-samples repo but didn't find any domain (https://github.com/aws-samples/cloudwatch-custom-widgets-samples/search?q=domain). Furthermore, it's not mentioned in the official docs

Every call by a custom widget to Lambda includes a widgetContext element with the following contents, to provide the Lambda function developer with useful context information.

{
    "widgetContext": {
        "dashboardName": "Name-of-current-dashboard",
        "widgetId": "widget-16",
        "accountId": "012345678901",
        "locale": "en",
        "timezone": {
            "label": "UTC",
            "offsetISO": "+00:00",
            "offsetInMinutes": 0
        },
        "period": 300,
        "isAutoPeriod": true,
        "timeRange": {
            "mode": "relative",
            "start":<PHONE_NUMBER>729,
            "end":<PHONE_NUMBER>729,
            "relativeStart": 86400012,
            "zoom": {
                "start":<PHONE_NUMBER>434,
                "end":<PHONE_NUMBER>521
             }
        },
        "theme": "light",
        "linkCharts": true,
        "title": "Tweets for Amazon website problem",
        "forms": {
            "all": {}
        },
        "params": {
            "original": "param-to-widget"
        },
        "width": 588,
        "height": 369
    }
}

Can you please provide a link where the domain field is shown? And if we really want to add it, I think the AWS docs need to be updated as well.

Hi @sthuber90 - Answering your comments and questions:

Can you please provide a link where the domain is shown?

There isn't. I've notified the documentation team to include it.

I looked at the link you posted and in the cloudwatch-custom-widgets-samples repo but didn't find any domain

I should've been more explicit in what examples contained the domain field - I've found them after deploying the "Echo", "Hello world" and "Simple SVG pie chart" examples.
As we've encountered this issue before (missing schema and docs accuracy), I've deployed all of those examples to confirm whether domain field was present - it was.

Steps to reproduce:
1 - I chose the "Echo",  "Hello World" and "SVG Pie Chart Example" examples  [here] (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/add_custom_widget_samples.html).
2 - As all the examples are cloudformation templates, I just clicked on the link and deployed it to my account.
3 - When the stack was complete I went to Lambda Function and added a print to the event variable inside the handler function.

4 - I used the dashboard created earlier just to generate logs a few times. After that I could see in the Cloudwatch Lambda Log Groups the domain field in the event.

Thank you for the clarification. I will add the field in the next days 👍

@leandrodamascena added domain field

@leandrodamascena added domain field

Hi @sthuber90!. I only removed a line in the example code and now it's ok to merge.
Thank you again.


Is exclude really necessary?

I mean, it’s hindering proper import of .vue components.

It is a common theme to blacklist node_modules in different loaders such as babel, eslint,etc. Otherwise webpack would have to process tons of files under node_modules.
Your current modification would allow eslint-loader to lint all files under node_modules.
You can use include to explicitly whitelist stuff.

Otherwise webpack would have to process tons of files under node_modules.
I tried and it does not process the node_modules

Sorry, I misunderstood you without the context, I didn't notice the include variable. So exclude is not needed. Hopefully that Webpack 2 PR will change this.

Removed in latest webpack 2 updates. Thanks for the PR though!


My WPF exe will not compile even though wpf class libs do

Error occurred while restoring NuGet packages: The operation failed as details for project Utils.Spec could not be loaded.
1>------ Build started: Project: WeinCadOldImport, Configuration: Release Any CPU ------
1>WeinCadOldImport -> C:\Users\phelan\workspace\weincad.net\WeinCadOldImport\bin\Release\net461\WeinCadOldImport.dll
2>------ Build started: Project: Weingartner.Controls, Configuration: Release Any CPU ------
2>Weingartner.Controls -> C:\Users\phelan\workspace\weincad.net\Weingartner.Controls\bin\Release\net461\Weingartner.Controls.dll
3>------ Build started: Project: WeinCad.Controls, Configuration: Release Any CPU ------
3>WeinCad.Controls -> C:\Users\phelan\workspace\weincad.net\WeinCad.Controls\bin\Release\net461\WeinCad.Controls.dll
4>------ Build started: Project: Weingartner.WeinCad3d, Configuration: Release Any CPU ------
4>Weingartner.WeinCad3d -> C:\Users\phelan\workspace\weincad.net\Weingartner.WeinCad3d\bin\Release\net461\Weingartner.WeinCad3d.dll
5>------ Build started: Project: WeinCad.Plugins, Configuration: Release Any CPU ------
5>WeinCad.Plugins -> C:\Users\phelan\workspace\weincad.net\WeinCad.Plugins\bin\Release\net461\WeinCad.Plugins.dll
6>------ Build started: Project: WeinCad, Configuration: Release Any CPU ------
6>C:\Program Files\dotnet\sdk\2.0.0\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5):
error : Assets file 'C:\Users\phelan\workspace\weincad.net\WeinCad.Net\obj\project.assets.json'
doesn't have a target for '.NETFramework,Version=v4.6.1/win7-x86'.
Ensure that restore has run and that you have included 'net461' in the
TargetFrameworks for your project. You may also need to include 'win7-x86' in your
project's RuntimeIdentifiers.
6>Done building project "WeinCad.csproj" -- FAILED.
========== Build: 5 succeeded, 1 failed, 14 up-to-date, 0 skipped ==========

Project file is
<Project Sdk="Microsoft.NET.Sdk">

  <Import Project="$(WPFSupport)" />

  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
    <ApplicationIcon />
    <OutputType Condition="'$(TEAMCITY_VERSION)' != ''">WinExe</OutputType>
    <OutputType Condition="'$(TEAMCITY_VERSION)' == ''">Exe</OutputType>
    <OutputTypeEx Condition="'$(TEAMCITY_VERSION)' != ''">WinExe</OutputTypeEx>
    <OutputTypeEx Condition="'$(TEAMCITY_VERSION)' == ''">Exe</OutputTypeEx>
    <ApplicationIcon>Weinlogo.ico</ApplicationIcon>
    <StartupObject>WeinCad.Net.EntryPoint</StartupObject>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="devDept.Eyeshot" Version="10.0.1097" />
    <PackageReference Include="Expression.Blend.Sdk" Version="1.0.2" />
    <PackageReference Include="FluentValidation" Version="7.1.1" />
    <PackageReference Include="FSharp.Core" Version="4.2.3" />
    <PackageReference Include="Ix-Main" Version="1.2.5" />
    <PackageReference Include="LanguageExt.Core" Version="2.1.23" />
    <PackageReference Include="MahApps.Metro" Version="1.5.0" />
    <PackageReference Include="ManagedEsent" Version="1.9.4" />
    <PackageReference Include="Mono.Cecil" Version="<IP_ADDRESS>" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    <PackageReference Include="Ninject" Version="<IP_ADDRESS>" />
    <PackageReference Include="reactiveui" Version="8.0.0-alpha0089" />
    <PackageReference Include="reactiveui-events-wpf" Version="8.0.0-alpha0089" />
    <PackageReference Include="Serilog" Version="2.5.0" />
    <PackageReference Include="Serilog.Sinks.File" Version="3.2.0" />
    <PackageReference Include="System.Collections.Immutable" Version="1.4.0" />
    <PackageReference Include="System.ValueTuple" Version="4.4.0" />
    <PackageReference Include="Unofficial.Blend.Interactivity" Version="1.0.0" />
    <PackageReference Include="Weingartner.Exceptional" Version="1.7.4-ci.2" />
    <PackageReference Include="Weingartner.ReactiveUI.Fody" Version="2.3.0-alpha.8" />
    <PackageReference Include="HtmlRenderer.Core" Version="<IP_ADDRESS>" />
    <PackageReference Include="HtmlRenderer.WPF" Version="<IP_ADDRESS>" />
    <PackageReference Include="OxyPlot.Wpf" Version="1.0.0" />
    <PackageReference Include="OxyPlot.Core" Version="1.0.0" />
    <PackageReference Include="Core.Markdown" Version="0.1.128" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\WeinCad.Plugins\WeinCad.Plugins.csproj" />
  </ItemGroup>

  <ItemGroup>
    <!-- App.xaml -->
    <Page Remove="App.xaml" />
    <ApplicationDefinition Include="App.xaml" SubType="Designer" Generator="MSBuild:Compile" />
  </ItemGroup>

  <!--
       This is a simple workaround for issue with ReSharper when it reports
       "Field is already used" because including intermediate files into it's project model.
       Unfortunately $(IntermediateOutputPath) doesn't work here.
       If you're not using ReSharper you can safely remove this section.
  -->

  <ItemGroup>
    <Compile Remove="obj\**" />
  </ItemGroup>

</Project>

It might be related to $(TEAMCITY_VERSION). Have you tried replacing these properties with what I use at https://github.com/aienabled/WpfNetStandardSample/blob/master/WpfNetStandardApp/WpfNetStandardApp.csproj ?
Also, the project system targets file defines <TargetFramework>net462</TargetFramework> and you redefine <TargetFramework>net461</TargetFramework> in csproj. Better to change this at targets file (I mean CustomProject.props) and remove from csproj.
From log:
.NETFramework,Version=v4.6.1/win7-x86
it's really strange. It should be simple .NETFramework,Version=v4.6.1 I think. Not sure where win7-x86 is coming from.

It all compiles now


WIP: Cross compilation to musl32 support

This is the continuation of PR #62817
The original PR was based on master instead of the staging branch.  I find easier to start a new PR.
I still need to review some commits.
Motivation for this change
Crosscompiling packages to musl32 lead to compilation errors due to the missing __stack_chk_fail_local symbol. Even building nix fails. This PR disable stackprotector for musl32.
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)

[ ] Successful compilation of the following packages:

nix
openssl
python2
python3
perl

The following packages, among many others, does not build:

nixFlakes
audit
openssh
gnupg

[ ] Tested execution of all binary files (usually in ./result/bin/)

[ ] Determined the impact on package closure size (by running nix path-info -S before and after)

[ ] Ensured that relevant documentation is up to date

[ ] Fits CONTRIBUTING.md.

was included in #112939


Unable to teach Q&A in Streaming datasets

Unable to teach about questions and answers in Streaming datasets, the setting icon does not appear in the upper right corner. I can highlight questions but not teach them.

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

ID: a3be58e8-522b-1bc1-5c20-94349d5ed617
Version Independent ID: ecbf2a74-8efd-aecd-3d15-b24bc0a1ca46
Content: Teach Q&A to understand questions and terms in Power BI Q&A - Power BI
Content Source: powerbi-docs/natural-language/q-and-a-tooling-teach-q-and-a.md
Service: powerbi
Sub-service: powerbi-service
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks for your comment, @tomasbaima. We’ve forwarded your feedback to the writer, who should respond to this thread shortly. Thanks!

Hi @tomasbaima ,
I'm cleaning up our Git Issues queue, and I noticed that this Git issue is a bit old, so I'm going to close it.  I hope that you were able to get your questions answered. If not, please let us know.  Another option is to submit your questions to the Power BI community (community.powerbi.com).
All the best,
the DOCS team


Respect original enumerability/writability when polyfilling globals

Reuses the original property descriptor when overwriting / polyfilling globals to ensure enumerability and writability are the same

By analyzing the blame information on this pull request, we identified @lexs and @javache to be potential reviewers.

@davidaurelio updated the pull request.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.

I tried to merge this pull request into the Facebook internal repo but some checks failed. To unblock yourself please check the following: Does this pull request pass all open source tests on GitHub? If not please fix those. Does the code still apply cleanly on top of GitHub master? If not can please rebase. In all other cases this means some internal test failed, for example a part of a fb app won't work with this pull request. I've added the Import Failed label to this pull request so it is easy for someone at fb to find the pull request and check what failed. If you don't see anyone comment in a few days feel free to comment mentioning one of the core contributors to the project so they get a notification.

This seems to be causing failures in Relay unit tests:
TypeError: Invalid property.  A property cannot both have accessors and be writable or have a value, #


Impl std error using macro

There was a bunch of manual implemntations that can be converted to
macro call. This commit replaces them except for enums because those are
currently not supported by the macro and we want to protect against
forgetting to handle newly added variants.
Depends on #1129 and is not urgent for the next release.

ACK, (once #1129 merges and this is rebased).


Improve blob size transaction selector

PR description
The main goal of this PR is to make clearer the reason a blob tx is not selected during block creation, with the introduction of 2 specifics not selected results:

BLOBS_FULL = The block already contains the max number of allowed blobs.
TX_TOO_LARGE_FOR_REMAINING_DATA_GAS = The transaction has not been selected since there is not enough remaining data gas in the block to fit the blobs of the tx.

and to achieve that it was clearer to extract the blob tx selection login in its own class BlobSizeTransactionSelector, while doing that a small bug was fixed, since data gas used was added to gas used when computing if a block was full, while these 2 gas types are independent, see here for details.
Another small optimization has been done for TX_EVALUATION_TOO_LONG selected result, see here for details.
During testing some disable unit tests have been updated and fixed and re-enabled, this required to rework the ExecutionContextTestFixture to accept the genesis file to use, instead of using an hard-coded one as before, and for this there are more file changed/added
Fixed Issue(s)

Thanks for sending a pull request! Have you done the following?

[ ] Checked out our contribution guidelines?
[ ] Considered documentation and added the doc-change-required label to this PR if updates are required.
[ ] Considered the changelog and included an update if required.
[ ] For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

[ ] unit tests: ./gradlew build
[ ] acceptance tests: ./gradlew acceptanceTest
[ ] integration tests: ./gradlew integrationTest
[ ] reference tests: ./gradlew ethereum:referenceTests:referenceTests

Can we use blob gas instead of data gas? for the variables and transaction selection reasons?

from reading the description this PR is doing 4 very excellent things, but would be easier to review as several smaller PRs

from reading the description this PR is doing 4 very excellent things, but would be easier to review as several smaller PRs

Fair point, splitting in 3 PRs:
first one Stop transaction selection on TX_EVALUATION_TOO_LONG

Can we use the term blob gas instead of data gas? for the variables and transaction selection reasons?

I also like more blob gas because is more common, and I will rename to it, but in many other places we have data gas like the DataGas type, so it is up to another PR to align the naming everywhere


Accented characters and copy link function

Hi @hauselin , thanks for that workflow!
I've found out that you workflow is not suited to deal with accented characters in file name (like ã, é, ï, ô, ú)
Also, I would like to suggest the addition of a "Copy link to file" option. I've added that myself to the bash scripts and uploaded to a Fork!
Sorry if I messed up something, I'm both new to programming as well as to GitHub itself!

Hi @ldebritto, if you make a pull request, I can merge your changes into my repo.

FYI, @ldebritto, the workflow now works with special characters.


add support for providing a Dart API for Javascript events

 Issue by sigmundch
Originally opened as dart-lang/sdk#20393

We'd like to include support for providing a Dart API for events (especially CustomEvents), as a way to improve our interop story. This would be similar to how today we allow providing a Dart type for custom elements declared in Javascript.
Not sure if we should allow extending from Events though.
This bug will probably require changes in dart2js and Dartium too. While this is important, the change is not blocking for Milestone 1.6.

 Comment by sigmundch

nope

Removed this from the 1.7 milestone.
Added this to the 1.8 milestone.
Removed Priority-High label.
Added Priority-Medium label.

 Comment by dgrove

Is this happening for 1.7?

 Comment by kasperl

Removed this from the 1.8 milestone.

The new Polymer provides a CustomEventWrapper which works with both dart and js custom events and in dartium and dart2js.