The performance of released model

I did not find information about the evaluation of the released models. Are there any evaluations of the released models, that can be related to the original paper in the same settings?

Yes, the original paper promised 5s, but the HF says 10s - and actual output takes 20s
Is this due to video rendering lag? Why not also expose the 3d model for download? https://github.com/3DTopia/OpenLRM/issues/14

Hi @zhaoyang-lv,
Thanks for your suggestions!
Currently, we haven't got time to implement this logic. But indeed, the quantitative evaluation is necessary for benchmarking, and we will consider releasing the evaluation together with the training code.

Hi @yosun ,
Thank you for your interest.
First of all, OpenLRM is an open-source implementation of the amazing LRM paper. The performance of OpenLRM does NOT represent the original LRM.
For inference speed, we do observe an inference speed of around 5-6s for OpenLRM with an A100 GPU locally. On the HF demo, the whole pipeline including video rendering takes about 8s with A10G, and 10s is still a conservative estimation. The time displayed when you hit the "Generate" button is the expected total time from history which includes queueing and background removal operations.
For 3D model export, plz refer to this issue https://github.com/3DTopia/OpenLRM/issues/14.

It helps to document the inference takes 5s. Would excluding vid rendering, simply output mesh reduce the total to about 5s then?


Add PR url to devbuild upload API

needed for https://github.com/Revolutionary-Games/Thrive/issues/1463

Should now probably be rolled into the CIExecutor system in the devcenter.


Rename information theory functions?

I don't have a concrete proposal here, but this was brought up in #3213 so I thought I'd get the ball rolling. Right now entropy computes the entropy and the KL divergence, which might not be expected. I'd be in favor of deprecating the q argument of entropy. And instead having, for example, entropy, cross_entropy, kl_divergence, etc. functions. Should be fairly straightforward if we agree on a refactor/renaming. Thoughts?

I'm sure the author of the information theory functions had his reasons, but find the behaviour of these functions very unexpected and strange.

Entropies and relative entropies should return a number in bits or nats, not an array.
Relative Entropy and Kullback-Leibler divergence refer to the same mathematical expression.

Compare e.g.
Cover, Thomas - Elements of information theory, section 2.3
www.renyi.hu/~csiszar/Publications/Information_Theory_and_Statistics:_A_Tutorial.pdf (see Abstract and later definition)
http://mathworld.wolfram.com/RelativeEntropy.html

@steppi i thought this issue could use attention from someone who has a good picture of the information theory landscape:

Is the behavior of stats.entropy with two arrays appropriate, or should there be a separate kl_divergence function?
Should we have a separate relative_entropy function that is distinct from kl_divergence as in scipy.special?
Should we add a separate cross_entropy function, or is that really what entropy should do for two inputs?

@steppi i thought this issue could use attention from someone who has a good picture of the information theory landscape:
* Is the behavior of `stats.entropy` with two arrays appropriate, or should there be a separate `kl_divergence` function?

* Should we have a separate `relative_entropy` function that is distinct from `kl_divergence` as in scipy.special?

* Should we add a separate `cross_entropy` function, or is that really what `entropy` should do for two inputs?

Sure. I'm not an information theorist but I do work in an adjacent field and have a passing interest in information theory and information geometry.
Is the behavior of stats.entropy with two arrays appropriate, or should there be a separate kl_divergence function?
I'm OK with the default behavior of stats.entropy for two arrays. It doesn't seem unreasonable that it would compute the Kullback-Leibler divergence. I don't think there's any canonical answer for what the natural behavior here should be when applying entropy to two arrays, and I don't think it's worth breaking backwards compatibility to remove the current behavior.
A separate kl_divergence function that provides the same functionality as stats.entropy with two arrays could potentially help with discoverability, but I don't it's strictly necessary and would leave it to others to decide whether adding this would clutter the API.
What I think could help though is adding notes to the Docstring that

Explain the connection between entropy, KL divergence, and cross-entropy.
State that relative entropy is another name for KL divergence.
Give pointers on how to compute cross-entropy.

Should we have a separate relative_entropy function that is distinct from kl_divergence as in scipy.special?
In the context of statistics there would be no need. special's kl_div and rel_entr are element-wise functions. To get the actual KL divergence, one must sum the values of the resulting array. Regardless of which of the two functions are used, the resulting sum will be exactly the same provided that x and y are both properly normalized probability distributions.
I think the distinction comes from situations in convex optimization where the functions are applied to general nonnegative vectors. See Example 3.19 on page 90 of Convex Optimization by Boyd and Vandenberghe.

I honestly don't know too much about this though. The remainder of the book only treats the case where KL divergence is applied to probability distributions. Boyd and Vandenberghe give Cover and Thomas [1] as a reference for these definitions, there may be more insight there, but I've never read it.
Should we add a separate cross_entropy function, or is that really what entropy should do for two inputs?
I'm not opposed to adding a separate cross_entropy function, but think a good first step would be adding a section to the Docstring that briefly describes the connection between entropy, KL divergence, and cross entropy and gives a pointer on how to calculate cross entropy with the functions already available in SciPy. I don't think there's a canonical answer for what entropy should do for two inputs, and would prefer to err on the side of maintaining backwards compatibility.
[1]  T. M. Cover and J. A. Thomas. Elements of Information Theory. John Wiley & Sons, 1991.

I'd be happy to submit a PR updating the docstring. I should have some time to do it next weekend.

There are other comments here about adding additional functions and improving (correcting?) the scipy.special functions, but I don't think there was convergence on actionable things, and discussion stopped many years ago, so I think this should be considered resolved by gh-16474. LMK if you agree @steppi. Closing with gh-16474 the meantime, but please open a new issue (perhaps referencing this one) if I missed something.

Agreed. Also, I think any confusion around the scipy.special functions could also be cleared up with improved documentation, e.g. give the context in convex optimization where KL-divergence and relative entropy are different and explain why the functions operate element-wise without taking the final sum.

More clearly, I'd hope to improve the extensions of these functions so that special return values (-inf, +inf, nan) have useful semantics. I think they can be arranged so that if you attempt to compose functions according to convex programming rules then nan implies that the rules were violated, -inf for a correctly composed function means that constraints of a concave function are violated, and +inf means that constraints of a convex function are violated. For these particular special functions I think these extensions could be more natural than using other extensions, for example an extension to the complex plane.

I read through this thread and skimmed through some of the linked references. However, I’m unable to find any reference that discusses the extension of the entr, rel_entr, and kl_div to arguments out of the domain. Would you please give a few concrete examples where the way it’s extended (to +/-inf) indeed makes certain computations more convenient?

I read through this thread and skimmed through some of the linked references. However, I’m unable to find any reference that discusses the extension of the entr, rel_entr, and kl_div to arguments out of the domain. Would you mind giving a few concrete examples where the way it’s extended (to +/-inf) indeed makes certain computations more convenient?

@fancidev.  I haven't personally seen applications using entr, rel_entr, and kl_div specifically, but have you seen Section 3.1.2 of Boyd and Vanderbergh. My understanding is that the justification given here is because it simplifies notation and hence definitions and proofs by allowing the domain in all cases to be fixed as $\mathbb{R}^n$.
I don't really know that much convex optimization, but one potential application I can think of for this convention is: suppose one is minimizing using a barrier method, and a candidate solution is chosen outside the usual domain. If the function takes the value infinity outside of its usual domain, then the algorithm might be able to just reject that solution and proceed without needing to be modified to know about the boundary region. The algorithm's knowledge of the boundary region would come entirely from the objective function itself.

@steppi Thanks very much for the explanations. That makes things clearer!


ForwardToLeaderIntegrationTest is unstable

WillNotReproduce: ran it 100 times locally and got 100 successes. It also didn't in the last 99 unstable loop run.


100% Test Coverage

Changes

increase test coverage

Codecov Report

Merging #34 (61ba3d1) into master (014e110) will increase coverage by 8.09%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
+ Coverage   91.35%   99.45%   +8.09%
==========================================
  Files          44       42       -2
  Lines        1840     1646     -194
==========================================
- Hits         1681     1637      -44
+ Misses        159        9     -150

Impacted Files
Coverage Δ

ninja_extra/controllers/registry.py
95.00% <ø> (+14.04%)
:arrow_up:

ninja_extra/details.py
100.00% <ø> (+50.00%)
:arrow_up:

ninja_extra/lazy.py
100.00% <ø> (+5.55%)
:arrow_up:

ninja_extra/main.py
100.00% <ø> (+4.91%)
:arrow_up:

ninja_extra/modules.py
100.00% <ø> (+8.00%)
:arrow_up:

ninja_extra/operation.py
100.00% <ø> (+30.96%)
:arrow_up:

ninja_extra/permissions/base.py
97.87% <ø> (+2.87%)
:arrow_up:

ninja_extra/throttling/model.py
100.00% <ø> (+0.92%)
:arrow_up:

ninja_extra/compatible.py
100.00% <100.00%> (+30.00%)
:arrow_up:

ninja_extra/controllers/response.py
100.00% <100.00%> (+1.42%)
:arrow_up:

... and 18 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Update broken README.md link to XVFB.

@DavidAnson I think the correct link is https://elemental-selenium.herokuapp.com/tips/38-headless, although I can't find it on the original domain.


HMD renders gray screen when using controllers that do not match the HMD.

I have a Reverb G2 that I use with Knuckles. The game will load and I will have full range of motion, but I can only see the gameplay on my monitor, the headset will render nothing but a gray screen. This does not occur if only the G2 controllers are turned on, but will instantly change the second the Knuckles are turned on.

I looked into this and it seems to be a common WMR/SteamVR issue with stationary/seated VR games. I can try to set the mod as a "roomscale" game but this will prevent me from using certain features such as recentering.


I would love this as someone who likes to write libraries something like
fn color_print(text: &str, bold: bool=false, underline: bool = false) {
    // ASCII STUFF
}

Could be called as
color_print("Hello", underline=true);

instead of having to define bold as well
Is there a time table on this?

It can be done like this in current Rust, and boilerplate impl can be generated with macro.

Fluent interfaces are nice, but:

it adds a lot of boilerplate
if the bolerplate is generated by a macro, and if fluent interface are used a lot, the compile time increase significantly
it makes api discoverability harder
if you want to have named argument that implement a trait (like a closure), fluent API are much harder to write as soon as you have more than one argument, and increase a lot of the code that need to be generated (each combinaison of trait is going to be monomorphased).

Well, it's been a long trip reading all the comments for this issue from the beginning. I'd just like to add my 2 cents here. I'll obviously talk a bit about OCaml but I've been interested more and more in Rust and I really love this language even though I think not having labeled arguments and optional arguments is a bit awkward.
Labeled arguments are described like this in the OCaml manual

Labeled arguments are a convenient extension to the core language that allow to consistently label arguments in the declaration of functions and in their application. Labeled arguments increase safety, since argument labels are checked against their definitions. Moreover, labeled arguments also increase flexibility since they can be passed in a different order than the one of their definition. Finally, labeled arguments can be used solely for documentation purposes.
For instance, the erroneous exchange of two arguments of the same type —an error the typechecker would not catch— can be avoided by labeling the arguments with distinct labels.

First, I don't think labeled arguments (or, as you call them, keyword arguments) should be enabled by default, I think it needs to be opted-in. In OCaml the syntax for labeled argument is
let f ~x ~y = x + y
let _ = f ~x:2 ~y:3
let x = 2 and y = 3 in f ~x ~y

As in records, if a variable has exactly the same name as a labeled argument, you don't have to write ~x:x and can simply write ~x
Which would give, in Rust
fn f(~x: i32, ~y:i32) -> i32 { x + y }
let _ = f(~x:2, ~y:3)
let x = 2;
let y = 3;
let _ = f(~x, ~y)

(Notice the body of the function not using the ~. This should only be used when declaring and using the function)
This syntax allows using labeled and anonymous arguments in the same function
let f x ~y = x + y

fn f(x: i32, ~y:i32) -> i32 { x + y }

In the propositions I saw, I liked the fn(pub x:i32) but I don't really like the fact that we're using the pub keyword for another meaning.
As for optional arguments, in OCaml only labeled arguments can be optional and you can either give them a default value or not (in the latter case they will be interpreted as an option)
The syntax replaces the ~ by a ?
 let f ?(x = 2) y = x + y
(* val f : ?x:int -> int -> int = <fun>*)

Which, in Rust, could also be implemented:
fn f(?(x = 2): i32, y:i32) -> i32 { x + y }

When no default value is given in the function declaration, the core of the function takes an option containing Some(value) or None which may be confusing since the type of the argument (i32) is not the type in the function's core (Option)
My opinion on this after using them for many years is that they prevent some errors (try making a game with x and y positions everywhere with the ones who want x, x', y, y' to move the sprites and the others who want x, y, x', y' and some want x, dx, y, dy). They give more readability to your program (not the function definition but mostly the function calls). Optional arguments allow to have simple declarations (when I move up do I want a move_up function or just a move function which defaults to dx = 0 or x' = x ? I could give 0 as an argument to my move call but it adds noise for nothing. There are a lot of other examples like this)
I'd really like these two features to be implemented in a near future (and I really don't think that builder pattern comes anywhere close to the practicality of labeled and optional arguments in terms of readability, usability etc.)
Rust having been compiled initially in OCaml, I'm sure the original devs used labeled arguments and know how practical they are in some cases and yes, I read all the arguments written here but we've had them for years now in OCaml and the programs are still well written by good programmers.
Please, consider it in the nearest possible future :-)

I'd like to add one thing that came to my mind later. Optional arguments already exist in Rust when you use range.
[i..j] is interpreted as "from i to j"
[..j] is interpreted as "from start to j"
[i..] is interpreted as "from i to end"
[..] is interpreted as "from start to end"
So we have 2 optional values that default to start and end and they are automatically filled when they are not provided. (and, yes, optional parameters should be named for safety reasons)
And for those who keep defending the builder pattern, you do realise that they only work when working with records which is not the sole purpose of optional and labeled arguments, I hope.
Labeled and optional arguments are zero-cost at runtime since they are just syntactic sugar, I don't see any valid reason to not implement them.

Relatively long time observer of this thread here. @OCamlPro-mattiasdrp: your posts are a great summary of the relevant parts of the subject to me and I almost fully agree with them. I have one comment though (otherwise I'd not be writing this at all), it concerns this part:

As in records, if a variable has exactly the same name as a labeled argument, you don't have to write ~x:x and can simply write ~x
Which would give, in Rust
fn f(~x: i32, ~y:i32) -> i32 { x + y }
let _ = f(~x:2, ~y:3)
let x = 2;
let y = 3;
let _ = f(~x, ~y)

I believe to really match what happens in structs, the last statement would read
> let _ = f(x, y)

just like there's no extra syntax when using struct field initialization shorthand. But it's just a detail. As a person coming from Python I really miss named and optional arguments, the syntax is not that important to me.

Oh well, I actually don't have a preference over the syntax used to call labeled arguments but the thing is, if you want to mix them with positional ones I think you have to specify if an argument in a function call is attached to a labeled one or a positional one.
Let me explain.
I actually see labeled argument as records. The reason why modern languages don't use only tuples is because you can get lost using them so instead of having an (i32, i32, i32) record I would have a {r: i32, g: i32, b: i32} one which tells me immediately what I'm doing with it. The thing is, structs don't have positional arguments and tuples don't have labeled arguments whereas functions could.
Let's say I have
fn f (x: i32, ~y:i32, ~z:i32) { x - y - z }
let y = 2;
let _ = f(y, y, ~z:y)

It can be confusing knowing which one is attached to a labeled argument and which one isn't (and it becomes really hard when you have optional arguments).
So my personal preference goes toward calling them the same way they're declared:
let _ = f(y, ~y, ~z:y)

But that's just preference and I'll actually be happy if they just finally implement them in the standard library since there are a lot of clues of them being implementable with records, the .. syntax to omit some parts when defining a new record with an old one and the optional bounds in ranges.

Fair enough, I'm convinced now this (what you said) is better.

I've been following this thread since quite some time but don't see any real progress. What can be done in order to finally make things move. I fear that I don't have the competence and the time to modify rustc and do a PR but I would like to see things going forward.

default parameter:
fn foo(a: i8, b: f32 = 5.6, c: Option = None) {}
foo(7);
foo(7, 6.9);
foo(7, 6.9, Some(true));

I can't really do much, but I think this feature is necessary.

Rust noob here...what about requesting very limited initial support?
fn foo(a: i8, b: f32, c: Option<bool>) {}

foo(7, 6.9);  // Trailing Option<T> args are replaced with None
foo(7, 6.9, Some(true));

Maybe  to help readability, named parameters that are either just documentation that is discarded by the compiler or checked that they are named and ordered correctly:
fn foo(a: i8, b: f32, c: Option<bool>) {}

foo(a:7, b:6.9);  // Trailing Option<T> args are replaced with None by compiler
foo(7, 6.9, c:Some(true));  // would prefer f(7, 6.8, c:true)
foo(b:7, a:6.9);  // compiler error

It's probably worth mentioning that the most recent discussion of named arguments in general was at https://internals.rust-lang.org/t/named-arguments-increase-readability-a-lot/12467.
AFAIK there simply is no minimal subset of this which avoids dealing with any of the really big, awkward questions that any named arguments proposal has to grapple with, which I tried to summarize early in that thread, and much of the rest of the thread discusses in more detail. What you just described is definitely among the pile of existing suggestions and hits a lot of those known issues.

Thanks!

If someone compiled the list of proposed solutions and then we all had a vote on it, would that help move this issue forward?

There is a RFC for named arguments: https://github.com/rust-lang/rfcs/pull/2964

+1 for default parameter.
It is not recent technics, which c++, js already have.

First let me say that I am surprised after 6 years this issue is still unresolved.
Second, there is already a process for Optional parameters and default parameters, the downside being that you always have to add Some() or None to the function call. I think there just has to be a new way of using the existing Options:
// Current Option<T>
fn feelings(happy: Option<bool>) {
    let happy = happy.unwrap_or(true);

    if happy {
        println!("I am happy!");
    } else {
        println!("I am not happy!")
    }
}

feelings(Some(true));  // ok
feelings(Some(false)); // ok
feelings(None);        // ok
feelings(true);        // not ok
feelings(false);       // not ok
feelings();            // not ok

// Recommended *Option<T> - defaults to None
fn feelings(happy: *Option<bool>.unwrap_or(true)) {
    if happy {
        println!("I am happy!");
    } else {
        println!("I am not happy!")
    }
}

feelings(Some(true));  // ok
feelings(Some(false)); // ok
feelings(true);        // ok
feelings(false);       // ok
feelings(None);        // ok
feelings();            // ok

So if using *Option<T> in a function or method for a parameter would .unwrap() it before running the function, and if no value was given would default to None. Then you can use unwrap_or(my_value) to implement a default value for that parameter.
I think a little example can clearly explain the pros of named parameters. I went with the . for kwarg identifier because of this RFC seeming to have popularity. I also know this probably isn't the greatest example, but I think it makes the point. I got the idea from another thread which I don't remember where it was.
// fn with named optional params lines of code = 21

fn print_the_word(
    .word: &str,
    .bold: *Option<bool>.unwrap_or(false),
    .italic: *Option<bool>.unwrap_or(false),
    .underline: *Option<bool.unwrap_or(false)
) {
    let mut final_word = &word;

    if bold {
        // Make final_word bold
    }
    if italic {
        // Make final_word italic
    }
    if underline {
        // Make final_word underlined
    }
    println!("{}", &final_word);
}

print_the_word(.word: "Different!");

// Struct lines of code = 35
// Always have to use ..Struct.default()

struct Word {
    word: &str,
    bold: bool,
    italic: bool,
    underline: bool
}

impl Default for Word {
    fn default() -> Self {
        Word {
            word: "Word!",
            bold: false,
            italic: false,
            underline: false
        }
    }
}

impl Word {
    fn print_the_word(&self) {
        let mut final_word = &self.word;
        if self.bold {
            // Make final_word bold
        }
        if self.italic {
            // Make final_word italic
        }
        if self.underline {
            // Make final_word underlined
        }
        println!("{}", &final_word);
    }
}

Word { word: "Different!", ..Word.default() }.print_the_word();

I don't think this has to break backwards compatibility. A function definition has to use either all args or all kwargs, not a mix. Same for calling the function. If using the args, they have to be in the correct order, kwargs can be out of order.
// straight args
fn arg_fn(one: &str, two: bool, three: u8){
    // function body
}

fn kwarg_fn(.one: &str, .two: bool, .three: u8){
    // function body
}

arg_fn("one", false, 10);

// kwarg without names
kwarg_fn("one", false, 10); // ok
kwarg_fn(.one: "one", .two: false, .three: 10); // ok
kwarg_fn(.one: "one", .three: 10, .two: false); // ok
kwarg_fn("one", false, .three: 10) // not ok

So updating of crates to kwargs can be done without breaking, as long as the order of the parameters doesn't change.

You can use impl Into<Option<T>> on stable and then your able todo
fn foo(x: impl Into<Option<bool>>) { let x = x.into(); }
foo(true);
foo(Some(true));
foo(None);

Not that I recommend actually doing this.

@Spleeding1 @pnkfelix , I hope this feature could be added as a feature in the coming version RUST 2021 just like the feature fstring:implicit format arguments.  Hopefully, this could make it more feasible to transfer python code to rust.

@dbsxdbsx I don't think f-strings are coming soon, only implicit format arguments are. As for default/optional/keyword arguments, that's really unlikely - Rust 2021 is too soon and there's no consensus yet on a final design for this (and even no consensus what the requirements actually are, I think).

@tanriol
There's no consensus whether to include kwargs or optional args in the first place.

@tanriol, maybe I missed the point? I just saw the f-string like feature in new plan for Rust 2021.

@dbsxdbsx The point of the 2021 edition is not to include every feature, but to make minor breaking changes that some features may need. The edition will remove some legacy panic! behavior to enable implicit format arguments, but the feature itself can come in later Rust versions.
Also note that the current implementation will not provide "real" f-strings like f"{name}", but only special support for format!-style macros.
@lebensterben Sure, that was implied in the "what the requirements are" section.

(one of) the biggest use cases for default arguments: stubbing
Whenever I need to unit test a function that relies on a difficult-to-mock procedure (such as data access, etc.), while I could try to mock it (certainly more code), by instead stubbing the procedure as a default to a function argument, none of the calling code upstream is impacted (simplest/lowest risk change) and this also enables my unit test to then override the stub with a dirt-simple function, returning whatever dummy data is useful for testing purposes.
As it typically goes with functional programming, it also comes with a secondary benefit that my production code is optionally more modular, again with no upfront refactor cost to any upstream callers of this function.
So in a perfect world, I agree you can live without default args (and as proven by Rust to-date). But they ease refactoring for testing in imperfect environments and schedules that cannot afford complex mocking or changes to a calling signature.
By the way, I couldn't be happier with Rust. Thank you for what is already an incredible language. I do hope this RFC makes it through the gates - it is the most popular if you go by "thumbs up" count.

I just wanted to give a viewpoint from a relatively new user of Rust. For me, the lack of named/default parameters has been significant in slowing my adoption of Rust. The amount of boilerplate required by the alternatives (such as the builder pattern) and the unreadability such boilerplate adds has been detrimental. While for many, such a feature might not impact their language adoption significantly, I think the ergonomics matter. I’m quite confident I would be using Rust substantially more if it had named/default parameters.

@robinmoussu That's what I'm arguing for, if they're provided. That said, I'm not a fan of pub. It's too confusing to give it a double meaning like that in my opinion.
It's like how GNOME's HIG put Preferences under the Edit menu back before they decided the whole concept of a menu bar should be deprecated, because they didn't understand that Edit is supposed to be document-scoped, not application-scoped.

@ssokolow a I said - for me it doesn't matter whether it will be opt-in (like special syntax in Dart), Kotlin-style (use it when you want) or limited to your local project (like Kotlin-Java interop).
Having any of those would be really good.

In my opinion, anonymous structs would provide an adequate mechanism to define functions that (entirely) take keyword arguments. There was a (pre?) RFC for it, but I don't know what became of it.
There was also an RFC for struct field defaults.
These two features combined would create an adequate way to have functions with both default and keyword arguments, with little controversial changes to how functions work.
I'll try to find the relevant RFCs.

Anonymous struct are also useful for naming multiple return (fn foo() -> {a: usize, b: String}).

There they are:
https://github.com/rust-lang/rfcs/pull/1806
https://github.com/rust-lang/rfcs/pull/2584
With these, you could define and call functions like these
fn create_window(args: {title: &str, w: u32, h: u32, bpp = 32});
create_window({title: "my application", w: 640, h: 480});

I'm not a fan of anonymous structs. They feel like they'd be too much of a temptation for programmers to design APIs that are less nominally typed and more structurally typed.

@ssokolow we already have "anonymous" tuples. I don't see how this:
fn reverse(pair: (i32, bool)) -> (bool, i32) {
    let (integer, boolean) = pair;
    (boolean, integer)
}

is better than this:
fn reverse(pair: {int: i32, flag: bool}) -> (bool, i32) {
    (pair.flag, pair.int)
}

Sample taken from https://doc.rust-lang.org/rust-by-example/primitives/tuples.html#tuples

@MatrixDev the difference is at call site:
let (b, i) = reverse_tuple(3, true);
let (b, i) = reverse_struct(int: 3, flag: true);

@robinmoussu, I know where the different is and in my opinion reverse_struct is much better. Especially taking to account cases when tuples contain multiple values of the same type, at least with struct you know what you're passing.

@MatrixDev My issue is with the potential for abuse of anonymous structs outside of function arguments by people who decide to reinvent Go-style interfaces. The trade-offs inherent in tuples make them less attractive for that kind of abuse.
If they only exist as an unpacking syntax for match patterns and not something you can construct with a let and then pass around, I'm fine with them.

@ssokolow, well, you have to agree that returning "named-tuple" (aka anonymous struct) is still better in some situations than a regular tuples (even if you don't like it).
On the other hand, I do agree with you that those should not be passable/assignable outside of the function arguments/return values.

well, you have to agree that returning "named-tuple" (aka anonymous struct) is still better in some situations than a regular tuples (even if you don't like it).

I haven't personally seen examples where returning an anonymous struct would be superior, but I don't disbelieve they exist.
I do think the syntax for unpacking them will make or break the feature though. Otherwise, the need to prevent passing them around for Go-style interfaces could lead to them being directly equivalent to tuples and tuple unpacking except more verbose.

fn kwargs_fn(first: u8 = 2, second: u8 = 4) -> u16 {
    return first + second;
}

// Syntax error. Positional argument follows keyword argument
fn kwargs_fn(first: u8 = 2, second: u8) -> u16 {
    return first + second;
}

let result = kwargs_fn(second=8, first=4);
// Syntax error. Positional argument follows keyword argument
let result = kwargs_fn(first=4,2);

Simple, readable, easy. No need for:

. in argument name
anonymous tuples
anonymous structs
: for assigning value

BTW it is exactly how it's implemented in python (one of most readable languages), and yes = instead of :. Why ? Same reason why we use = for  assigning variable a value.
Note however that this can solve keyword arguments, not variable length arguments (which is a completely different problem)

To people who doubt that this feature is useful, I would argue that this goes against Rust's overall focus on type-safety: arguments of the same nominal type are positionally-typed, which provides no security against error.  Only in the case of arguments used in a symmetric operation (e.g. fn add(a: i32, b: i32)) is this okay.  To not even offer the option of correcting this potentially major source of error, unlike many other languages that do provide the option, is uncharacteristically unhelpful of Rust.
Indeed, Rust has already spoken on this matter: it is so critically important to get things in the right order that structs must not have their arguments given positionally.  And yet function arguments conceptually are more like structs than tuples: we don't call the arguments $1 $2 etc., but rather by their names.
Regarding syntax: I think it should look as much like other parts of Rust as possible, meaning that it probably should look just like structs, whether or not internally there is a struct representation of the arguments.  I don't have strong opinions on which variants within the scope of "looks like structs" are the best, but having less to remember is better than having more, so being as familiar as possible seems like a good idea to me.  An argument for making it be literally structs is that then it works with closures, too.
I don't see the problem with anonymous structs, but if there is one, then don't make them anonymous.  fn subtract{ a: i32, b: i32 } -> i32 could have an associated struct subtract::Args, and within the function subtract.args could be the name, as if it was actually fn subtract(subtract.args: subtract::Args) -> i32.  Then nothing is truly anonymous, and you can refer to the struct and use it elsewhere, etc..  (Not necessarily proposing this, just pointing out that there is a mechanism to de-anonymize structs while keeping the very convenient syntactic sugar.)

@Ichoran I totally aggree with  all of what you said, and it's very well told.
Since struct and fn don't share the same namespace, you need to have a separate substract.args identifier. Both fn substract and struct substract can cohexist.

@luqasz Note that Python is the language where, as I mentioned, I'm forced to put something like "Argument names are not subject to semver. Use at own risk." in my docstrings... if I remember to do so at all, which I'll readily admit to forgetting to do.
In fact, I'd wager a lot of Python programmers treat them that way.
I strongly believe in some kind of opt-in name-publicity mechanism since not only is public being the one you opt into normal for Rust but, if it's opt-out, it'll noise up my code with fn foo (npriv a: u32, npriv b: u32, npriv c: u32) ...and yes, I will usually opt out even if I have to ugly my code up like that.


Upgrade to Tailwind CSS v3

Tailwind CSS v3.0 is out, so this issue can track the work (if any) needed for this gem to upgrade to it.
Their upgrade guide is here.

Currently this is not possible.
Tailwind 3 removed classic mode, JIT is the only mode for Tailwind 3.
This means that if we build tailwind.css with the npx tailwind build > ./app/assets/stylesheets/tailwind.css" we will get almost nothing (13KB file size) that just resets browser default styles.

Currently this is not possible.
Tailwind 3 removed classic mode, JIT is the only mode for Tailwind 3.
 This means that if we build tailwind.css with the npx tailwind build > ./app/assets/stylesheets/tailwind.css" we will get almost nothing, 13KB file size that just resets browser default styles.

Note the incompatibility with 3.0 in the README.

This gem now supports Tailwind 3 in v2 and above thanks to this PR: https://github.com/rails/tailwindcss-rails/pull/96


Android 13 MapIsReady().

flutter_osm_plugin: ^0.60.1
ANDROID 13 , MUI GLOBAL version 14.0.1
Sometimes MapIsReady returns false, and not ending Loading
OSMFlutter(
controller: mapController,
onMapIsReady: (isReady) {
if (isReady) {
print('ready');
}
},
mapIsLoading: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/screenBackground.png'),
fit: BoxFit.cover,
colorFilter: ColorFilter.mode(
Colors.grey.withOpacity(0.5),
BlendMode.dstIn,
),
),
)),
osmOption: OSMOption(
showContributorBadgeForOSM: true,
zoomOption: ZoomOption(initZoom: 12),
userLocationMarker: UserLocationMaker(
personMarker: MarkerIcon(
icon: Icon(
Icons.directions_bus,
color: Colors.red,
size: 65.sp,
),
),
directionArrowMarker: MarkerIcon(
icon: Icon(
Icons.navigation,
size: 65.sp,
color: Colors.orange,
),
),
),
showZoomController: true,
markerOption: MarkerOption(
defaultMarker: MarkerIcon(
icon: Icon(
Icons.person_pin_circle,
color: Colors.blue,
size: 65.sp,
),
)),
));

do you have any logs error?

no errors

E/osm     (25118): osm flutter plugin create
E/osm     (25118): osm flutter plugin start
E/osm     (25118): osm flutter plugin resume
I/PlatformViewsController(25118): Hosting view in view hierarchy for platform view: 0
E/FrameEvents(25118): updateAcquireFence: Did not find frame.
W/Parcel  (25118): Expecting binder but got null!
E/FileUtils(25118): err write to mi_exception_log

that's wierd I have the same log and map always shows
if you can provide your all page to see maybe your rebuiling the map during initialisation of the map

that's wierd I have the same log and map always shows if you can provide your all page to see maybe your rebuiling the map during initialisation of the map

no it's not rebuilding, as I put OSM map in home start screen, and no have states to rebuild

that's wierd I have the same log and map always shows if you can provide your all page to see maybe your rebuiling the map during initialisation of the map

I/OsmDroid( 9961): Using tile source: Mapnik
I/OsmDroid( 9961): Tile cache increased from 0 to 9
E/osm     ( 9961): osm flutter plugin create
E/osm     ( 9961): osm flutter plugin start
E/osm     ( 9961): osm flutter plugin resume
I/PlatformViewsController( 9961): Hosting view in view hierarchy for platform view: 0
E/FrameEvents( 9961): updateAcquireFence: Did not find frame.
E/FileUtils( 9961): err write to mi_exception_log
W/Parcel  ( 9961): Expecting binder but got null!
it worked before last version of OSM flutter, after updateing to the latest, this happened

i didnt change anything in android side
except fixing some bugs
try open android project and debug it maybe you can help to find issue or we can have private session together (video call)  to see the issue

i didnt change anything in android side except fixing some bugs try open android project and debug it maybe you can help to find issue or we can have private session together (video call) to see the issue

Device is not emuliator I just want to run on my XIaomi, and then I saw the issue. On other devices it seems working.

Yes, I can confirm the bug. Updated from version 0.44 to 0.60.1 and now the map is permanently stuck in a loading state.
OnMapIsReady callback is triggered twice in my case (is it supposed to?). First time with result = false and second time with result = true. If you use setState inside OnMapIsReady callback or otherwise rebuild the widget with map, map will be stuck in a loading state. Without rebuilds everything works fine. I think this behavior should not happen in any case. In earlier versions everything was okay.
The issue can be reproduced on android emulator

I think  mapIsReady is not good solution
I will think in new api or maybe improve that i will be called only first time when map initialized

Out of curiosity: what is the limitation of android?
I tried removing the following code
https://github.com/liodali/osm_flutter/blob/f63fcaa8f67c986c417182a540899a8d46021923/lib/src/osm_flutter.dart#L147-L150C6
And it seems to work that way.
I got the impression from the commit names that this code is needed to support hot reloading, but we have an option androidHotReloadSupport and it's not used here for some reason.

you can activated but I don't recommand it
In general if you work with ValueNotifier you will not face any issue

For limitation that osmdroid use android context to show the map, when widget rebuild, the map loose the context
for unknown reason.

androidHotReloadSupport  used  in internal widget  <<mobile_osm_flutter>>

another advice that extract the map from you main widget into sepaerated statelessWidget and pass to it controller
thats will prevent of reloading the map and keep the other UI part in main widget

as I test it now, maybe there some changes happened to platformView so
I will remove that piece of code in next version

we published new version to fix that : 0.60.2

Everything's fine now.


Add optional image rendering control to render_outputs

This PR adds the include_imgs flag to rendered outputs which defaults to true. This flag, when enabled, will properly render PNG and JPEG iPython shell outputs. When disabled, they will no longer show up in the rendered output results.

@jph00


Python gRPC Stubs have moved.

With the upgrade to gRPC 1.10 and protoc 3.5 (in artman 0.8.0), the Python gRPC stubs have moved.
-g.c.api_vi.proto.foo_pb2.BarStub
+g.c.api_v1.proto.foo_pb2_grpc.BarStub

Toolkit must generate GAPIC clients which read from the new location.

Ah forgot to merge. I'll merge when build is green for my PR.


Cannot focus on input element of modal form after using uib-dropdown

Bug description:
In brief, triggering a modal form after using a uib-dropdown on the page makes it impossible to focus on the form input.
Try the following in the provided plunker:

Click button (A) to activate modal form.

Click on the input & it focuses

Click the uib-dropdown button 'Select' (no need to select menu button (B))

Click button (A) again. It is not possible to focus on the input

Link to minimally-working plunker that reproduces the issue:
https://plnkr.co/edit/Aa8zqYgrqd5o0a1yy4EU?p=preview
Version of Angular, UIBS, and Bootstrap
Angular: 1.5.8
UIBS: 2.3.1
Bootstrap: 3.3.7
Other comments
It used to work in UIBS 2.2.0.

Also experiencing the same problem in UIBS 2.3.1, works in 2.2.0.

same exerience. v2.3.0 works and 2.3.1 breaks.
assume this is related https://github.com/angular-ui/bootstrap/pull/6295 by @ajpz https://github.com/angular-ui/bootstrap/commit/8a4f625

Same here. After opening the uib-dropdown, inputs lose their focus on mouseup. Input does not to be necessarily on a modal. Any input on same page or even after routing to another page does not accept focus after opening the uib-dropdown.
Angular: 1.5.9
angular-bootstrap: 2.3.1

Same problem. Also happens on Getting Started Page:
https://angular-ui.github.io/bootstrap/#/dropdown
Drop down element always get focused.

Bug for me happened even when focus on a input inside modal so I think you
issue is separate
On Wed, Dec 14, 2016, 8:29 AM Andrzej Dybionka<EMAIL_ADDRESS>wrote:

I had the same problem, and after spending half of my working day I found
reason. Please look at the source code of dropdown
https://github.com/angular-ui/bootstrap/blob/master/src/dropdown/dropdown.js
and you can find focusToggleElementfunction which is invoked untidy when
you use uib-dropdown-toggle directive on  tag which has hrefattribute.
To workaround this bug just remove href attriibute from link.
This piece of code works for me:

Open menu

...

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/angular-ui/bootstrap/issues/6364#issuecomment-267033714,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAh7gl_1Yirym_zoOmbDeUSEz3oEzKNBks5rH-9CgaJpZM4LLljW
.

It is the same reason: focusToggleElement.  Just focusToggleElement is invoked in some circumstances  but should't. I didn't analyze dropdown menu code deeply, but I found case when focusToggleElement is not invoked when as element with  uib-dropdown-menu you use  tag without href attribute (what of course is invalid html). To test it  replace this piece of code:
  <button type="button" class="btn btn-primary dropdown-toggle" uib-dropdown-toggle>
    Select

  </button>

by this

    Select

here https://plnkr.co/edit/Aa8zqYgrqd5o0a1yy4EU?p=preview
Of course this is only workaround and bug should be fixed by authors of ui-bootstrap.

@adybionka spot on! Looks like the culprit is in dropdown.js on line 108. The closeDropdown is being invoked on document.click so it focuses the toggleElement (if focusable) every time someone clicks.

I confirm this issue happening on 2.3.1 and not on 2.3.0. Also as @adybionka mentioned, removing the href attribute from the a tags stops the issue from happening on 2.3.1.

Removing the href tag only works because then the element cannot be focused. The issue still persists with buttons.

This seems to be a duplicate of #6357

Another workaround of this problem is just not use uib-dropdown-toggle to open dropdown menu. focusToggleElement method is only invoked when is a element with uib-dropdown-toggle directive, which is optional. Instead of this, to open dropdown menu just use is-open attribute:

        <button ng-click="toggleDropdown($event)">Open dropdown</button>

...

And in controller:
   $scope.toggleDropdown = function($event) {
        $event.preventDefault();
        $event.stopPropagation();
        $scope.isOpenedDropdownMenu = !$scope.isOpenedDropdownMenu;
    };

It looks like the root of the problem was identified by @vukers:
https://github.com/angular-ui/bootstrap/commit/c824731ae8fed3d56bedaaf88fc8e86a4224e96d#commitcomment-20174042

@mattlewis92 has a pull request with the fix: #6363

seems like #6321 related too (text input focus bug)

Yeah, we are experiencing the same issue. We were developing on 2.3.0 and our deployment today went out with 2.3.1 causing widespread breakages for our drop downs.

e07f9fd appeared to resolve the issue for me.
Looking through the list of issues, these all seem like duplicates:
#6321
#6357
#6372

Same issue with 2.3.1 and angular 1.5.9. Reversing to 2.3.0 solve issue. Waiting for fix

I still have to click input fields twice in order to get the focus to move there, once to close the dropdown and again to shift focus (regardless of whether the input is in a modal or not).
(Angular 1.5.9, UIBS 2.4.0)

The same behavior as @mold described for Angular 1.5.7 and UIBS 2.3.0
This piece of code always grabs focus for dropdown when toggle happens.
scope.focusToggleElement = function() {     if (self.toggleElement) {       self.toggleElement[0].focus();     }   };`

I experiencing the problem reported by @mold as well. Created bug #6410 to track this.

Also experiencing this bug. Going back to 2.3.0 did not seem to help


Include Class Coverage

Feature Request
Class coverage metrics are included in the data, include them in the ouput.
Expected Behaviour
Include class metrics in the output, perhaps if a verbose mode flag is set.
Formats for text and markdown output tbd.
Additional Context
Collapsed sections might be good for markdown output.
Linked To

This would be amazing!

This would be very helpful feature. Any ETA?


Foreign key with 0 as PK is valid.

If you added an FK with 0 as primary key, autocomplete would complain
that it was invalid because it filtered out everything Python considered
falsy after a fix to #62 was provided in #298.
After this, autocomplete validation will check directly for the empty
string '' instead of falsy values.

Shait.  So, any ideas on how to make that test not run for MySQL?

OK, I rewrote the test to use its own model.  Some tests expected not having to fill in the ID field, so I overwrote those.
I thought about doing some helper or other way of repeating the code, but in the end went with a simple overwrite.  I don't know what you prefer.  I went for the more explicit version instead of DRY.  If you have a special way you want it, I'll ofc change it :)

Thanks a heap, but I really prefered the earlier version where you added a very light test, wouldn't it work to add it back and try to find another way to skip the test on MySQL since it doesn't make sense ?

Actually MySQL can work with zero-based fk's too. Only, it can't work with zero in AUTO_INCREMENT primary keys. :)
So this way actually checks that it works with MySQL too.
Though I can check and skip MySQL using the simpler test I did before. django.db.connection.vendor == 'mysql' ought'a do it.

Could we have a test in tests/autocomplete/test_model.py's AutocompleteModelTestCase rather ? I don't think we need such a high level test to prevent regressions on this, a unit test will be faster and do the same ;)

Hehe.  I was a bit afraid something else would break it later :P  But yeah, it does not give a lot extra.
I think I found a good place for it now.  Didn't remove the added model, but made it much less imposing since it's now only testing the core of zero primary key.

As good as I could pray for, merging. Please let us know if you need any emergency release.

Thank you :)  No, I have it patched locally so far.


RDKVREFPLT-3158 Split iarmmgrs hal into individual components

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


80% code coverage for all Android modules

Resolves #450.
@nikitin-da PTAL!
I am very sorry for such huge PR, but code coverage touched every module and required additions to our test classes in storio-test-common.
I can try to divide it into separate PRs, but it would take few hours/days.

Oh shi, 3000+ lines added, I should divide it to separate PRs.


Rosetta: Package latest docker container to-spec

@lk86 Okay to take this from you and assign to the Mina Foundation engineering team?

Mainly just don't change the basic usage or build process of the rosetta container, and then it should remain to-spec. See here for the specification itself: https://www.rosetta-api.org/docs/node_deployment.html

@lk86 Okay, I think that you are confirming that it's okay to take this from you and assign to the Mina Foundation engineering team. I'll assign to @kaozenn for now, and @kantp can re-assign as appropriate.

I think this work is already covered in this PR:
https://github.com/MinaProtocol/mina/pull/12341/files#diff-7fbbf33479e8cc2cce4c0e1bed57ecc2b9947ffa7be392820572e0131a98aefaR59
The main change from https://www.rosetta-api.org/docs/node_deployment.html is to support 2 instances (online and offline) of the Rosetta API.
@lk86 , can you please confirm and Close the ticket as needed.
Thank you

Correct I think this is already good to go and all of the recent changes are still to-spec, lgtm


Set NoGuests policy as default policy

Sets NoGuests policy as default policy in non multi-tenant applications.
Also make the policy available for multi-tenant applications, but not set as default. That doesn't make any sense, PR updated.

Will rather make an extension for AuthorizationPolicyBuilder, to make it easier to combine with other policies.


fortran parallel example fails

Building the fortran library and running parallel tests failed.
I built like this:
make distclean; LD_LIBRARY_PATH=/usr/local/netcdf-c-4.4.1/lib FC=mpifort CPPFLAGS=-I/usr/local/netcdf-c-4.4.1/include LDFLAGS=-L/usr/local/netcdf-c-4.4.1/lib CC=mpicc ./configure --enable-parallel-tests --prefix=/usr/local/netcdf-c-4.4.1 && make check
Turns out the problem is in the examples/F90 directory:
[ed@localhost F90]$ bash -x ./run_f90_par_examples.sh

mpiexec -n 4 ./simple_xy_par_wr

*** SUCCESS writing example file simple_xy_par.nc!

mpiexec -n 4 ./simple_xy_par_rd
*** SUCCESS reading example file simple_xy_par.nc!
mpiexec -n 4 ./simple_xy_par_wr2
NetCDF: Attempt to extend dataset during NC_INDEPENDENT I/O operation. Use nc_va
NetCDF: Attempt to extend dataset during NC_INDEPENDENT I/O operation.  Use nc_va
STOP 2
[ed@localhost F90]$

I just tried this same build for netcdf-fortran-4.4.3 and it worked fine.

Confirmed, will take a look at.  No need to move this one but it might fit better under the netcdf-fortran/ project :).  Now that I'm back from AGU I'm going to spend some time getting pull requests and issues addressed.

Just realized I should have put this in netcdf-fortran project. I'll try to remember that next time. :-)

No big deal. It appears we have a pull request to fix this, actually:

https://github.com/Unidata/netcdf-fortran/pull/56

On my end, it appears to fix the issue.  Any red flags that you can see? If not, I'll merge it shortly and put out a new netCDF-Fortran release at the same time (or before) that I do the next netCDF-C release.


Time limit stream.

Enhancement Request: It would be neat to open a stream that will only return new content.  Currently old (previously returned on another run) content is returned too.
It looks like there's a filter in the API, but not sure whether this is the solution or not.

I tried to solve this in #17, could you have a look if the workflow proposed there works for your usecase?


Various animation-related bug fixes.

I've made a bunch of changes in the code to try to resolve the very many SwiftLint issues; you'll need to update this PR before I can merge it.

All set.


chore: bdd-sbrp-import-1584523530 to 0.0.1

chore: Promote bdd-sbrp-import-1584523530 to version 0.0.1

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

Needs approval from an approver in each of these files:

OWNERS

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


The experimental feature to set the minimum current in the UI does not support lower values than 6A

Describe the bug
If a wallbox and EV support lower values than 6A as minimum current, the UI should allow to support these values. Currently it does not. Also the minimum power is calculated with 1 phase, even when the loadpoint has 3 phases defined.

Steps to reproduce

Install a nightly build
Enable experimental features in the UI setting
Use a wallbox and EV combination with minimum current support <6A (ISO15118-2)

Configuration details
- Wallbox with ISO15118-2 support like Porsche Mobile Charger Connect
- EV with ISO15118-2 (AC) support like Porsche Taycan

Log details
None

What type of operating system are you running?
Linux
Version
0.115.0

Would be great to set lower values. For example a Tesla can charge at much lower currents, thus eliminating the need for phase switching: https://www.youtube.com/watch?v=XY9k1-uDhLw

@cschlipf As evcc sets the maximum currents in the wallbox and the Tesla uses IEC61851 to communicate with the wallbox, no values lower than 6A can be set. To do this with a Tesla, you would need to set the maximum current in the EV and not in the Wallbox. This issue is not about this.

Anyway, between 1st value and 2nd value there is a calculation mistake in power calculation.
First value (max) calculates with 3 phases, min value calculates with 1phase. It is not reasonable why a 1 phase charger should have 6 amps but gives two different results.

Same happens with Shelly plugs who definitly have only 1 phase


How to product the video/gif illustrating the performance?

Hi! @QingyongHu , thank you for sharing your awsome works.
I would like to know how you product the videos/gifs (like this) illustrating the semantic segmentation  results?
Would you like to share the code or the software?
Thanks again.

Hi @UncleSan ,
Thanks for your interest in our work!
We actually made the video using Blender, please refer to this video to have an idea of how to create animation.
I hope this could be helpful.

@QingyongHu  Thank you! It is really helpful.


add pageable sample and readme

@sophiaso : I have this sample working, please let me know which docs to do PR on

@jyotsnaravikumar - can you please share the sample and I will add it to the new docs set that we are working on.

@kushagraThapar
https://github.com/retaildevcrews/helium-java/blob/master/src/main/java/com/cse/helium/app/dao/MoviesDao.java
line63-67 : using SQLQuerySpec

@jyotsnaravikumar - thanks for providing the links.
Though I am not able to open the second link.


Swipeable: onSwipeableOpen, onSwipeableClose, onSwipeableRightOpen and onSwipeableLeftOpen callback taking to long, about 2 seconds.

onSwipeableOpen, onSwipeableClose, onSwipeableRightOpen and onSwipeableLeftOpen callback taking to long, about 2 seconds.
Suggestion:
in Swipeable.js after line 173 rowTranslation.setValue(fromValue);
Add:
let animatedListenerId = rowTranslation.addListener(({value}) => {
        let threshold = 0.1;
        if(Math.abs(value.toFixed()) >= (Math.abs(toValue.toFixed()) - Math.abs(toValue.toFixed()) * threshold)) {

            if (toValue > 0 && this.props.onSwipeableLeftOpen) {
                this.props.onSwipeableLeftOpen();
            } else if (toValue < 0 && this.props.onSwipeableRightOpen) {
                this.props.onSwipeableRightOpen();
            }

            if (toValue === 0) {
                this.props.onSwipeableClose && this.props.onSwipeableClose();
            } else {
                this.props.onSwipeableOpen && this.props.onSwipeableOpen();
            }

            rowTranslation.removeListener(animatedListenerId);
        }
    });

Change:
From:
Animated.spring(rowTranslation, {
      velocity: velocityX,
      bounciness: 0,
      toValue,
      useNativeDriver: this.props.useNativeAnimations,
    }).start(({ finished }) => {
      if (finished) {
        if (toValue > 0 && this.props.onSwipeableLeftOpen) {
          this.props.onSwipeableLeftOpen();
        } else if (toValue < 0 && this.props.onSwipeableRightOpen) {
          this.props.onSwipeableRightOpen();
        }

        if (toValue === 0) {
          this.props.onSwipeableClose && this.props.onSwipeableClose();
        } else {
          this.props.onSwipeableOpen && this.props.onSwipeableOpen();
        }
      }
    });

To:
Animated.spring(rowTranslation, {
      velocity: velocityX,
      bounciness: 0,
      toValue,
      useNativeDriver: this.props.useNativeAnimations,
    }).start();

Now I can close any opened row at real time...

Thanks for this solution, @Blah2014, helped me a lot!

https://github.com/kmagiera/react-native-gesture-handler/pull/164
@Blah2014 @ptmt @kmagiera
What do you think about this solution?
I didn't wish to add any listeners to native animation as it's not a way of using this library. It seems to be a hacky workaround.  However, mind that spring has some given duration. You may use onSwipeableLeftStartOpen and thet set a timeout.

It seems to be fixed

Hi, can someone help me. i tried the example project but when i tried to close the swipeable view but its not working. Am I missing or doingsomething.. Any help is really appreciated. Thank you so much.
this is the sample project link : https://github.com/kmagiera/react-native-gesture-handler/blob/master/Example/swipeable/AppleStyleSwipeableRow.js


Propose Logo

Hi @tovic . I'am graphic disigner. I want to contribute to this project and I have a new logo design for you, if you allowed I will send to you.

Yes of course. Thanks by the way.

Hello sir, If you like it, you can use it. I'll send you files. if you need anything change, i'll fix it,

Best regard sir, @tovic

If you have some experience with SVG, converting them into vector would be better as it is eaay to change the color simply by configuring the fill value. But the blue one is good, thanks.
I’ll put your name/user in the README then.

I'm glad to hear it sir, you can download all files (SVG, PDF, PNG, CDR) Logotype and editables files here GDrive
i've created a PR #10 please check.
Thank sir @tovic .

I have downloaded it, and will add your pull request after I pushed some of these plans. It may take some time because I am still actively working on the Mecha project for now.

I see,,, Good Luck sir.


Errors when replicating your results

Hi, first of all, thank you for your great work !
I was trying to replicate the results on Scene 1. I followed your setup steps and I sampled the dataset so I got only 1003 images (1:5 sampling rate of 5000 total frames, the rest was eliminated because I wanted to quickly reproduce the results). I got an error (please see terminal.txt), where I concluded that there are not GlobalOfflineIds assigned during the SCPT tracking. This later produces an error because feature_stack (line 361, mcpt.py) is None. Also I noticed that there are a lot of OfflineID assigned inside the .json of the cameras (also enclosed), which makes me think that the scpt is not doing well the reid process. Could you please confirm me if this is normal, and what could be going wrong here?
Thank you so much.
terminal.txt
camera001_tracking_results.json
fixed_camera001_tracking_results.json
representative_nodes_scene1.json

Our team has already tested several cases (contains our original data) and this kind of error did not occur. I think mcpt process is cause of error. This feature_stack (line 361, mcpt.py) is made by node of hierarchical clustering. If feature_stack is None, clusters may not be made by mcpt process.
Based on this idea, please check the following two points.

Change the parameter keypoint_th=1 to keypoint_th=2.
→I assume that all tracklets are filtered as noise when using keypoint_th=1.
Check the key named "GlobalOfflineID" in the file  whole_tracking_results.json.
→If mcpt is done correctly, you will see several numbers.

I will investigate the cause of the error and modify the program later.
Thank you for your attention to this issue.


tests build script fails. CMake usage proposal

And when it fails, it makes no output for libcds.so.
So my proposition is to use CMake instead (can generate Makefile for *NIX and .sln for MS Visual).
I'll make a pull-request within some reasonable time. This file successfully builds libcds and few tests(not all, got no good PC to compile them all at the moment):
cmake_minimum_required (VERSION 2.8.10)
project (libCDS-proj)
set(libCDS_VERSION "2.1.0")

# options:
option(WITH_AMD_USE_128BIT "Use AMD use 128bit (16byte) CAS on amd64" OFF)
option(WITH_TESTS "Build libCDS unit tests" OFF)
option(WITH_BOOST "Set this flag to ON to use non system-wide Boost installation path" OFF)

if(WITH_BOOST)
        set(BOOST_ROOT /usr CACHE PATH "Path to Boost libraries and includes(libboost_system, libbosst_thread)")
        include_directories(BEFORE ${BOOST_ROOT}/include)
        link_directories(BEFORE ${BOOST_ROOT}/include)
endif(WITH_BOOST)

# compiler options and CXX flags:
add_definitions("-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64")
add_definitions("-DOS_FAMILY=linux ")
set(CMAKE_CXX_FLAGS "-std=c++11 -m64 -fPIC -mtune=native")

set(COMMON_LD_LIBS "-lpthread -ldl -lstdc++")

# libCDS .cpp sources:
include_directories(${CMAKE_SOURCE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/tests/test-hdr/)
include_directories(${CMAKE_SOURCE_DIR}/tests/unit)
file(GLOB CDS_LIB_SRC src/*.cpp)

# link libcds.a
add_library(cds STATIC ${CDS_LIB_SRC})
target_link_libraries(cds ${COMMON_LD_LIBS} -lboost_system -lboost_thread)

# build an link tests(if WITH_TESTS):
if(WITH_TESTS)
        # common library for tests(libcds_test_common):
        include_directories(tests)
        set(CDS_TESTCOMMON_SOURCES
            tests/cppunit/test_main.cpp
            tests/cppunit/thread.cpp
            tests/unit/michael_alloc.cpp
            tests/unit/ellen_bintree_update_desc_pool.cpp)

        add_library(cds_test_common STATIC ${CDS_TESTCOMMON_SOURCES})
        target_link_libraries(cds_test_common cds)

        # lists of tests executable files sources:

        set(CDS_TESTHDR_OFFSETOF_MAP tests/test-hdr/map/hdr_cuckoo_map.cpp)

	file(GLOB CDS_TESTHDR_OFFSETOF_SET tests/test-hdr/set/*.cpp)
	file(GLOB CDS_TESTHDR_OFFSETOF_ORDLIST tests/test-hdr/ordered_list/*.cpp)
	file(GLOB CDS_TESTHDR_OFFSETOF_QUEUE tests/test-hdr/queue/*.cpp)
	file(GLOB CDS_TESTHDR_OFFSETOF_STACK tests/test-hdr/stack/*.cpp)
	file(GLOB CDS_TESTHDR_OFFSETOF_TREE tests/test-hdr/tree/*.cpp)

	file(GLOB CDS_TESTHDR_MAP tests/test-hdr/map/*.cpp tests/test-hdr/map/*.h)

	set(CDS_TESTHDR_DEQUE tests/test-hdr/deque/hdr_fcdeque.cpp)
	file(GLOB CDS_TESTHDR_ORDLIST tests/test-hdr/ordered_list/*.cpp)
	file(GLOB CDS_TESTHDR_PQUEUE  tests/test-hdr/priority_queue/*.cpp)
	file(GLOB CDS_TESTHDR_QUEUE tests/test-hdr/queue/*.cpp)

	file(GLOB CDS_TESTHDR_MISC tests/test-hdr/misc/*.cpp)

	file(GLOB CDSUNIT_SET_SOURCES tests/unit/set2/*.cpp )
	file(GLOB CDSUNIT_QUEUE_SOURCES tests/unit/queue/*.cpp )
	file(GLOB CDSUNIT_STACK_SOURCES tests/unit/stack/*.cpp )
	file(GLOB CDSUNIT_MAP_SOURCES tests/unit/map2/*.cpp )
	file(GLOB CDSUNIT_MISC_SOURCES tests/unit/alloc/*.cpp tests/unit/lock/*.cpp)

	file(GLOB CDSUNIT_PQUEUE_SOURCES tests/unit/pqueue/*.cpp )

	set(CDS_TESTHDR_OFFSETOF_SOURCES
		${CDS_TESTHDR_OFFSETOF_QUEUE}
		${CDS_TESTHDR_OFFSETOF_STACK}
		${CDS_TESTHDR_OFFSETOF_DEQUE}
		${CDS_TESTHDR_OFFSETOF_MAP}
		${CDS_TESTHDR_OFFSETOF_SET}
		${CDS_TESTHDR_OFFSETOF_ORDLIST}
		${CDS_TESTHDR_OFFSETOF_TREE})

	set(CDS_TESTHDR_SOURCES
	    ${CDS_TESTHDR_QUEUE}
	    ${CDS_TESTHDR_PQUEUE}
	    ${CDS_TESTHDR_STACK}
	    ${CDS_TESTHDR_MAP}
	    ${CDS_TESTHDR_DEQUE}
	    ${CDS_TESTHDR_ORDLIST}
	    ${CDS_TESTHDR_SET}
	    ${CDS_TESTHDR_TREE}
	    ${CDS_TESTHDR_MISC})

        # build and link tests executables:
	add_executable(test_map     ${CDS_TESTHDR_MAP})
	target_link_libraries(test_map cds_test_common cds)

	add_executable(test_off_map     ${CDS_TESTHDR_OFFSETOF_MAP})
	target_link_libraries(test_off_map cds_test_common cds)

	add_executable(test_alloc     ${CDSUNIT_MISC_SOURCES})
	target_link_libraries(test_alloc cds_test_common cds)

endif(WITH_TESTS)

Thank you for your interest in libds. You are right, the build scripts in the library is too simple and they require some manual setup to work correctly.
On the other hand, I have some negative experiences with CMake and other "helping" tools (including ancient "configure"), so, I do not like to depend from such tools. Maybe, I'm wrong. I'd like to have simple make-based build scripts portable for different platforms, not only for linux.
However, if you have good experiences with multi-platform CMake scripting, - welcome, make a pull-request, I'll review it with pleasure and, maybe, accept it. If you're interested, we can discuss the requirements.

Well, that "configure" stuff is really ancient and it's tough to maintain it,
while in CMake we can check the OS/compiler in a more human-friendly way then BASH, for example:
if(WIN32)
  if(MSVC)
    set(CMAKE_CXX_FLAGS "-O2") #etc.
  else()
    #something for MinGW and others
  endif()
endif()

CMake will produce .sln project for MSVC, there will be no need to maintain it manually.
I'll start writing the good CMake script in a week(have to leave my hometown for a while).
As for multiple platforms, I had no experience with OS like HP-UX(is that stuff still running somewhere?), but accurate compiler options transfer from Makefile to CMake script may work.
So, you can post some special restrictions/requirements.
Have a nice day!

I prefer CMake too and in this branch https://github.com/Rapotkinnik/libcds/tree/cmake libcds can be build by cmake command (tested under Fedora 19, Ubuntu). All artefact names saved, building became more simple and cross-platform, moreover I added some cpack commands in order to build tgz and rpm. Olso ctest works, eclipse & Visual Studio projects can be generated automatically. In the meantime I'm going to make a pull-request. Are there any other requirements for build system except already implemented?

CMake was integrated to master


Doc fix - ':' is not supported in entity name

Fixes #950

Doc update to clarify ':' is not allowed in entity names.

Pull Request Test Coverage Report for Build 2451

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.643%

Totals

Change from base Build 2395:
0.0%

Covered Lines:
4001

Relevant Lines:
5685

💛  - Coveralls


Management API

Was thinking about stream, and subject discovery for administrating liftbridge.
As I understand it NATS has this and it's highly dynamic where you can see the topics and channels being created in real time.
So I want to ask if this is useful to expose over the grpc API.
It will allow building developer and operator tools on top of liftbridge using only grpc. I was thinking about building a simple CUI first.

Yeah I think so. Better instrumentation is something I have planned but
have not yet put much thought into how. I do think providing an API is a
good first step though.
On Thu, Aug 16, 2018, 2:07 AM gedw99<EMAIL_ADDRESS>wrote:

Was thinking about streeam, and subject discovery for administrating
liftbridge.
As I understand it NATS has this and it's highly dynamic where you can see
the topics and channels being created in real time.
So I want to ask if this is useful to expose over the grpc API.
It will allow building developer and operator tools on top of liftbridge
using only grpc. I was thinking about building a simple CUI first.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/liftbridge-io/liftbridge-grpc/issues/1, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAhvcdB6cAhRx8B7N3WJo-umdoUsVy7Sks5uRRpNgaJpZM4V_UEu
.

I got NATS web GUI going for now.
It's nodejs and should be easy to use it as a basis to convert to grpc-web
( not the c++ one, but the pure golang one ).
The other option is dart grpc with a dart GUI is also a smart move.
Dart-grpc-web just got committed today. I have been using go grpc with dart
grpc - have not had any issues at all. Very stable and easy I found
So I guess I would favour dart grpc. It will make it easy to manage as it's
strong typed all the way through.
But up to you. I can help a bit but am pretty pressed right now for time
On Thu, 16 Aug 2018, 13:36 Tyler Treat<EMAIL_ADDRESS>wrote:

Yeah I think so. Better instrumentation is something I have planned but
have not yet put much thought into how. I do think providing an API is a
good first step though.
On Thu, Aug 16, 2018, 2:07 AM gedw99<EMAIL_ADDRESS>wrote:

Was thinking about streeam, and subject discovery for administrating
liftbridge.
As I understand it NATS has this and it's highly dynamic where you can
see
the topics and channels being created in real time.
So I want to ask if this is useful to expose over the grpc API.
It will allow building developer and operator tools on top of liftbridge
using only grpc. I was thinking about building a simple CUI first.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/liftbridge-io/liftbridge-grpc/issues/1, or mute the
thread
<
https://github.com/notifications/unsubscribe-auth/AAhvcdB6cAhRx8B7N3WJo-umdoUsVy7Sks5uRRpNgaJpZM4V_UEu
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/liftbridge-io/liftbridge-grpc/issues/1#issuecomment-413515918,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATuCwlBK8zG9oZ-t0zNR2H8L9vmb4gjLks5uRVlEgaJpZM4V_UEu
.

So one thing I've been wondering is does it make more sense to expose a monitoring API via REST or should it just be a gRPC API?

Ah good question.
There are some good arguement to use rest, because the client is not as tightly coupled.
I hate REST though. So much untyped mess that gets worse as the API gets bigger.
My instinct is to use grpc for now
It will allow superior real time updating Ops GUI.
Also grpc-web and grpc REST can later easily be codegen on top of grpc proto later if needed.


Refactor and cleanup code and directory structure

Originally I went back and forth considering to use export or part declarations because I hated all the imports everywhere...
Unfortunately its obvious that its impossible to follow where the classes etc are all coming from so it makes it hard to follow if you didn't write the whole thing, or even just when coming back to do some stuff after working in other random things.
I think its clear that using exports and importing the relevant files is the way to go but it would be nice to make a decision about the files too. I mean its saddening to go back to the old file per type structure but truly that makes it very easy to know exactly what is what. Need to consider if there is a middle-ground after at least moving the code into subdirectories etc.
Also, change the test sources naming.
Added as a later task since its more important right now to get something that works as a base than to get caught in the small details which can really become a productivity blocker. Will probably finish the first Milestone then have a cleanup refactor interlude

Changed this already sooner rather than later as it was starting to bother me. It was difficult to know where stuff was and some of the code was not nice near the end of the query chain part


Create/Edit page - Typing into any field causes the page to scroll up to the top

I started typing into the resources field on the Create/Edit page and every time I typed a character the window would scroll up to the top of the page. This is happening with any form on the page. I am on the temp-master branch.

Unfortunately, fixing this seems to have compromised two other features that were implemented, so we will need them back.

In the navigation tabs, clicking on a field label name should scroll the page to that field.
As you scroll down the page, the tabs need to reflect where you are. The correct tab should open/be open while you are in a particular area unless you override that by opening another tab and clicking a field name

I don't think the features ever worked, I think it just appeared that way because every time the React component updated it scrolled to the top. Num. 2 may have but the code that was removed couldn't have been doing that. Let's open new issues for the following two concerns

I do see the part for part 2 of your response was broken by the fix-- I'll patch that back in now

I would be glad to open another issue for the following and opening. However, the first part always worked and is very broken. Without being able to click on a field name, there is no point in having the navigation tabs at all.

As the person who implemented the nav sidebar, I'm fairly certain it never did number 2 but definitely did do number 1 (which is the whole point of the sidebar).

Alright, I'll go have a look at it-- I'll try to re implement what was there; for some reason everything the block of code was looking for seems to have become undefined which is what was probably causing this issue to start

This bug also did not exist when this was first implemented, I assume it was introduced since then.

The tab following has been moved to Issue #155

Fixed, Just needed the refs added to getDOMNode on the previous code to get the click functionality back. I'm guessing something changed with layout and it just needed the reference fixed


where do I get the slash_guild_ids?

where do I get the slash_guild_ids

Did you ever figure it out?


documentation: Effective_GO#functions duplicate code error

https://golang.org/doc/effective_go.html#functions
on this code
func nextInt(b []byte, i int) (int, int) {
    for ; i < len(b) && !isDigit(b[i]); i++ {
    }
    x := 0
    for ; i < len(b) && isDigit(b[i]); i++ {
        x = x*10 + int(b[i]) - '0'
    }
    return x, i
}

I think
 for ; i < len(b) && !isDigit(b[i]); i++ {
    }

is a duplication mistake

That isn't duplication mistake.
The first loop finds first digit in b and stores its index in variable i.
The second loop parses b from index i and calculate the value.

What @crvv said. Note that the first loop has condition !isDigit while in the second is not negated (isDigit).
Closing, since the code snippet is correct.


CoreOS systemd-journal memory issue

It seems the latest CoreOS Container Linux version we use has a memory issue in systemd-journal. In some cases it's using 6Gi on the node, bringing it under severe memory pressure. We expect a fix by CoreOS soon.

Let me drop a link to the PR #796 , where the issue was discussed, too.

This issue should be closed by #811 .


Update to Halogen v5.0.0

Hi @rnons,
Just like in https://github.com/rnons/purescript-halogen-storybook/pull/3, I've updated this repository for the upcoming Halogen v5.0.0 release.
Still awaiting the official release, but when that happens, all we'll have to do is change master to ^5.0.0 in bower.json and this will be good to go.

Looks like your branch already takes care of the changes, so I'll close this.


Allow annotations to control naming behavior

Addresses https://github.com/cronitorio/cronitor-kubernetes/issues/39. This should keep existing behavior if the new annotations aren't added.
Checklist

[x] Add functionality
[x] Verify tests
[x] Add tests
[x] Update readme

@aflanagan Several timeouts on the tests, but several passed, and syntactically, I think things look good. Lemme know how else you'd like to test this!

All green!
https://github.com/cronitorio/cronitor-kubernetes/actions/runs/9069686523


Inertia components/hooks wrapped with redux Provider stopped working

Hello everyone. I don't know if here is the correct place to this, if don't feel free to guide me. I'm using Laravel 10 with Inertia. Now I'm trying to integrate a layout that uses redux to manage UI state. I noticed that when I imported the redux tools
import { configureStore } from "@reduxjs/toolkit";
import rootReducer from "./slices";
import { Provider } from "react-redux";
const store = configureStore({ reducer: rootReducer, devTools: false });
and wrapped the App component with provider
<Provider store={store}>
    <App {...props} />
</Provider>
some Inertia features stopped working, such as Link component and form submission like post(route("login")), showing on console the error @inertiajs_react.js?v=d680deed:3399 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'x-inertia')     at C.isInertiaResponse (@inertiajs_react.js?v=d680deed:3399:45)     at @inertiajs_react.js?v=d680deed:3441:17

The requests (GET or POST), through Link or hook forms don't even reachs the backend.
The routes on backend are still working and when I changed a Link to a  tag works, but full reloading the page. If someone can help me I'll really appreciate.
Thank you very much.
My stack:
Laravel Version: 10.48.8
InertiaJS/React: 1.0.0
Vite: 4.0.0
React 18.2.0.

Thank you for your directions. I’ll try these channels.
Wandeir Carneiro
Em qui., 25 de abr. de 2024 às 04:21, Dries Vints @.***>
escreveu:

Hi there,
Thanks for reporting but it looks like this is a question which can be
asked on a support channel. Please only use this issue tracker for
reporting bugs with the library itself. If you have a question on how to
use functionality provided by this repo you can try one of the following
channels:

Laracasts Forums https://laracasts.com/discuss
Laravel.io Forums https://laravel.io/forum
StackOverflow https://stackoverflow.com/questions/tagged/laravel
Discord https://discordapp.com/invite/KxwQuKb or InertiaJS Discord
https://discord.gg/inertiajs for Inertia questions
Larachat https://larachat.co
IRC https://web.libera.chat/?nick=laravelnewbie&channels=#laravel

However, this issue will not be locked and everyone is still free to
discuss solutions to your problem!
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/inertiajs/inertia-laravel/issues/614#issuecomment-2076635589,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5VJSCGRHV3UFZR2562IV3Y7C4IBAVCNFSM6AAAAABGVU7YDKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZWGYZTKNJYHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


can't do Jacks properly

so the jack patterns.. if I try to hit those, the pattern just poof itself out. it disappears

Can confirm this bug happens on my side. Attatched is the slow-mo gif of it happening.

OS: Windows 10 Education
FNF Benjine V1.0.0

Changed in 2.0.0


DNS Resolution broken on HassOS

hassos vmdk image  (hassos_ova-2.12.vmdk) on a VBox VM:
arch | x86_64
dev | false
docker | true
hassio | true
os_name | Linux
python_version | 3.7.4
timezone | America/Curacao
version | 0.97.2
virtualenv | false
Last working Home Assistant release (if known):
0.97.1
Operating environment (Hass.io/Docker/Windows/etc.):
Fedora 30/Windows 10 < VirtualBox < Hassos VM
Description of problem:
After restarting my main hass VM a lot of components could not be created.  After some research, the problem is on the home-assistant container.
Additional information:
To reproduce the issue:

download the vmdk image: hassos_ova-2.12.vmdk
Crete a VM based on the image
Start the VM and see: The weather component cant obtain data
On the console: root / login
# ping www.redhat.com
 www.redhat.com is alive!
docker exec -ti hassos_supervisor ping -c1 www.google.com
      PING www.google.com (<IP_ADDRESS>) : 56 data bytes
docker exec -ti homeassistant ping -c1 www.gogole.com
   ping: bad address 'www.google.com'

Update.  Today, rebooted and everything started working again.  No clue how.  Apparently something was wrong in the supervisor, since it updates/upgrades itself, things just fixed on the next boot.  I'm closing this.


Add HasCodec instances for larger tuples

I'm not sure how large exactly, but it should be possible to use HasCodec for tuples with more than two elements.

There are various "one tuple" types that it might be nice to provide instances for as well. At the very least I think Identity should have an instance. There's also Solo, which is relatively new.


Item missing, we are eligible as-per the article.

The article states that if the item is missing, then we are not eligible. However, in the eligibility section, it lists O365 E3, which is our primary license. We should be eligible, but the item is not available in our M365 admin UI for purchase.

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

ID: b31aa550-3d84-95b8-6a74-b3e7ad1cbfe9
Version Independent ID: 795391d3-aced-e2f3-f52d-034e14fe1aee
Content: Add storage space for your subscription
Content Source: microsoft-365/commerce/add-storage-space.md
Service: o365-administration
GitHub Login: @cmcatee-MSFT
Microsoft Alias: cmcatee

@JLambEJG Thank you for your feedback. I Shall test it with an E3 license and update the document if needed.
Thanks
Sri

@JLambEJG Thank you for your feedback. I Shall test it with an E3 license and update the document if needed.
Thanks
Sri

@JLambEJG Thank you for your feedback. I can see the Office 365 Extra File Storage option for the O365 E3 subscription. Is this subscription direct with Microsoft or through a partner? I'd suggest you contact Support via the need help section on the admin center and let us know if the document still needs any modifications.
Thanks
Sri

@JLambEJG Thank you for your feedback. I can see the Office 365 Extra File Storage option for the O365 E3 subscription. Is this subscription direct with Microsoft or through a partner? I'd suggest you contact Support via the need help section on the admin center and let us know if the document still needs any modifications.
Thanks
Sri

@msbemba  Thank you very much for the contribution and sharing this explanation. @JLambEJG Hope this comment is helpful for you. Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. We proceed here to close it.
We will be very happy if you can share the outcome or resolution with us if you see documentation update is required. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

@msbemba  Thank you very much for the contribution and sharing this explanation. @JLambEJG Hope this comment is helpful for you. Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. We proceed here to close it.
We will be very happy if you can share the outcome or resolution with us if you see documentation update is required. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Allow setting counters in configfile.

E.g. for an action=count, called verbose/v
you already could set -v -v -v (or -vvv) on the command line.
And you can now also set:
verbose=3
in the configuration file.
Added two tests to verify current behaviour.
Note that it still is not possible to specify -v=3 on the command line.
Credits to @christensonb for suggesting this fix in #138.
Closes #138
Closes #175

Looks great!


Question about Q&A (Cross Validation)

preproc  = text.Transformer(MODEL_NAME, maxlen=500)

Is called both inside and outside the cross validation loop here . Is this necessary? If not, is either/or acceptable?
Thanks!

Hello:  That looks like a typo.   Either outside or inside seems like it should be fine. But, I'll remove the outer one in the FAQ. Thanks for letting me know.


Add an option to move back cursor on pausing

Closes #114

One thing to notice is that PlaybackManager is at present not good at seeking to a new position. User experience would be better if the Task or the RenderEngine created in PlaybackManager.Render could be reused after seeking. I'll create a seperate issue later to track this.

Because of the issue template created in 1a3c313c4c5866784e15eac94131e26935623c41, I'm not able to open an issue other than a bug report 😕

Thanks a lot for the contributions!


Delete payer.

Can't delete payer who was added to tour by mistake.

I was able to disable "Chris Dart" but the record is still in the tour "Cooperstown or Bust" (i added Chris Dart as payer and two tourists, Bob Johnson and Bob Johnson)


Update MD file on new branch 2017-12-05_09-44-25

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


CDTS server's public/global/ folder out of sync with the repo

Hi,
I noticed that the CDTS server's version of that folder appears to be outdated compared to this repo's counterpart. It doesn't seems to be derived from a recent release either.
To verify, try running a diff between the server vs the repo's version of ESDC's intranet mega menu include:

CDTS server (both files are identical, but look super outdated):

https://templates.service.gc.ca/app/cls/WET/global/esdcmenu-eng.html
https://cdts.service.canada.ca/app/cls/WET/global/esdcmenu-eng.html

CDTS repo:

https://github.com/wet-boew/cdts-sgdc/blob/master/public/global/esdcmenu-eng.html

Note:

Other files in the public/global/ folder are probably also affected

Any chance the server could be brought up to date with the repo's version? Could anything be done to automate it going forward?
Thanks :)!
PS:
Going by the CDTS server's folder browser, it looks like the server's gcintranet and gcweb folders contain version subfolders named after CDTS release tags. By comparison, the global folder lacks version subfolders (probably because it's meant to be "evergreen").

Hello, the file in the repo was updated after the latest CDTS release (v5.0.0). This is why you see the discrepancy. The file on the server will be brought up to date upon the next CDTS release.
We have recently introduced an automated way of updating the file (gets the updates from esdc.prv) but it will still be dependent on the CDTS release schedule.


Select min and max but doing only 3 comparisons for every 2 items

Thanks for the link to http://www.geeksforgeeks.org/maximum-and-minimum-in-an-array/ :smiley:
I've added my implementation in Swift. Let me know if you see something I can improve/change.

Sweet! :-)

By the way, please add your name to the bottom of the README. Something like Written by My Name, so you get credit for your work.


Should not publish nuget package for PR validation builds

We shouldn't be publishing nuget packages for PR validation builds. They should be built once the master (or dev) is updated.

Hi @fbeltrao Sure. I'd happy to do that.
Currently, I try to solve a tough problem of the Kafka. Hopefully it is going to finish in a couple of days, then I'll do this.

Agreed. We should only build (and eventually publish) NuGet in CD

Closing the issues as "wont fix" because we're transferring this to the PG and will become part of their regular build & release cycles


Save contact changes

@imsickofmaps Please review.

Just one minor thing. Also, make sure develop is merged is as I had to make those changes directly.


Ballance against keybased networks

I'm sorry Mayukh, but this PR is mostly changes of https://github.com/etherspot/etherspot-react-transaction-buidler/pull/63/files, maybe you want to change merge target to that branch and merge to it first and then merge result to develop?


⚠ Jenkins Plugins Artifactory has degraded performance

In cdfdbd3, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2514 ms

Resolved: Jenkins Plugins Artifactory performance has improved in e464ab4 after 1 hour.


Add tests for JNLP slaves

Cookbook version
4.0.0 4.1.0 4.1.1
Chef-client version
12.15
Request:
Given the difficulties getting the JNLP stuff working again, I would propose that some tests should be added for the JNLP (and the windows variant) resources.  See #531 for the multiple fixes that didn't fix everything.

Hi,
Yes. Tests need to be added for this that are more extensive than what is there now. Rather than waiting to pull in code that fixes some of the problems until I have had tests that are functioning, I have gone ahead and checked and pulled stuff in to stem some of the problems. Considering there are a large number of issues with this cookbook from proper versioning to get a working instance to authorization and authentication issues, we are doing what we can in this case. If you want to write some tests, that would be great.

Hah! I knew you'd ask that... :-D
Yeah, the whole Jenkins 2.0 locked-down-on-start thing makes writing cookbook tests harder. :-(  I'll see if I can cobble something together to at least check the "does the resource work" POV...
I have a work-around for that, to get an old-style-unsecured Jenkins post 2.0:
echo -n "$JENKINS_VERSION" > "${JENKINS_HOME}/jenkins.install.UpgradeWizard.state"
echo -n "$JENKINS_VERSION" > "${JENKINS_HOME}/jenkins.install.InstallUtil.lastExecVersion"

That prevents the wizard from launching.  The wizard gets the plugins and locks down the Jenkins instance.
What resources are available for "generic" tests? Could I use docker containers to start up a master and some slaves?  Because inter-VM communication can be tricky to setup. :-/
Also, to really test these, you'd need a chef-server, which is well outside my comfort zone for automated testing.

Just a few observations from dealing with a jenkins_jnlp_slave resource problem, which I reported via Chef's support (though I'm happy to create a GitHub issue with the details of my issue as well 🙂).
It appears there are "does the resource work" tests, but I don't think they're being run regularly and almost certainly not within a CI context:

The CI for this repo uses the .kitchen.dokken.yml file which defines a number of test suites. However, according to the .travis.yml file, the only suites that get run are smoke_package_stable, smoke_package_current, smoke_war_stable and smoke_war_latest. None of the other test suites are run.
Even if the jenkins_slave_create suite was run in Travis CI, the jenkins_jnlp_slave resource would not be executed in your CI environment because of this line.

Given my aforementioned issue with the jenkins_jnlp_slave resource, just running the jenkins_slave_create test suite reproduces it. With this in mind, how feasible would it be to have all of the test suites run during a CI build?


Prototype for 'purge' command (#16)

I prototyped 'purge' command, for that I copied & fixed related file from gb-vendor.
I am not sure how exactly 'ParseImports' should be used for this tasks.
Hope for your help to complete the task

@excavador I guess you need to add pkg/errors to vendor, then the Travis checks may pass.

@excavador gvt fetch github.com/pkg/errors on your branch and add all updated files.

@slomek I do not sure what that's the right solution (if you compare with other files nowhere pkg/errors used).
That's why I am asking the owner of the repo, I need him opinion about the "right" way how he see it.


Love calculation

Fixed: #712
When trying to calculate without filling values

When we calculate it with values

It shows the result and displays try again button.
Doesn't shows the inputs
When try again is clicked it shows inputs again.

@991rajat @Vishal-raj-1 @urvashi-code1255 Please view this PR.

@991rajat @Vishal-raj-1 @urvashi-code1255 Please view this PR.

@991rajat @Vishal-raj-1 @urvashi-code1255 Please view this PR.

Keep Contributing.
From next time pull latest changes in main branch and create a branch from main.
I believe this way the merge commit will not occur.


Make ActiveAnimation::set_weight return &mut Self

Objective
Fixes #14907.
Solution
Changes ActiveAnimation::set_weight to return &mut Self.
Testing
Simple API change, I don't think this needs explicit testing.
Migration Guide

This section is optional. If there are no breaking changes, you can delete this section.

(I don't think changing -> () to -> &mut Self is a breaking change, but I'm not entirely sure in regards to breaking/non-breaking here)

Changed ActiveAnimation::set_weight to return &mut Self, to allow for easier function chaining

Yep, non-breaking here!


Aniplay video is empty

Source information
Aniplay 14.7
Source language
English
Steps to reproduce
1.open extension
2.search bleach
3.try to watch
Expected behavior
The video is working
Actual behavior
The video is empty
Which app are you using?
Aniyomi
App version
App version: <IP_ADDRESS>-8019
Android version
Motorola
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] I will fill out all of the requested information in this form.

Error on hosts side.

A timeout occurred Error code 524.
The origin web server timed out responding to this request.


False positives have become consistent

Results for me are now that the extension now identifies all sites as being Netlify sites irrespective of the actual result.
This is happening on every URL I visit.

does it look like this

or does it actually show the popup saying "it's a Netlify site!"

aha...
It looks like that when it's not a Netlify site, and like this when it is (showing this site has non-public build logs, I guess):

So I guess this might just be the icon status being wrong rather than the detection itself.

yes. something seems to have changed in chrome, and of course they gave no notice of it anywhere.
similar extension: https://github.com/tsriram/is-gatsby also broken in the same way

filed https://github.com/tsriram/is-gatsby/issues/1
no idea where to report this if it is in fact a chrome bug

Looks like pageAction.hide API for Chrome extension is not graying out the icon. I could see the message that a site is not a Gatsby site, but the icon isn't grayed out like earlier.

One not-so-elegant way would be to use a gray icon explicitly. Need to figure out if there's a change in extension API.

Not really! Documentation still says the icon will be grayed out on pageAction.hide. I too couldn't find any changelog :man_shrugging:

i noticed that react devtools still works - whatever method they use isn't broken. have to look into it

yeah they have a "disabled" icon https://github.com/facebook/react-devtools/blob/b2c1ae61b5273aa307cc765ecdc7258378059675/shells/chrome/manifest.json as default


%USERPROFILE% variable does not work as advertised in CB 1910

Under the File System / Path section - there is a Note section talking about %USERPROFILE%. The information does not seem to be accurate for 1910 - the detection method always just resolves to C:\Users\Default on our test systems (Windows 10 1809 / 1903 / 1909) with MEMCM CB 1910.
This forum post also seems to indicate this has been an issue for a while:
https://social.technet.microsoft.com/Forums/ie/en-US/4ebe340f-c127-463c-aa6b-609237ca1728/configuration-item-with-userprofile-variable-does-not-work-as-expected?forum=ConfigMgrCompliance
Relevant log output from DcmWmiProvider.log:
CAppExecutionLibrary::ExpandEnvironmentVariables: %USERPROFILE%\AppData\Roaming... evaluated to : C:\Users\Default\AppData\Roaming...

Reference: https://docs.microsoft.com/configmgr/apps/deploy-use/create-global-conditions
Thanks @nojp for taking the time to share this with the Configuration Manager documentation team. I’m sorry that you’re having problems, and I want to make sure it gets to the right people that can help. There are a couple of options available to provide the best level of support for this:

Post on Configuration Manager forums. These are moderated by our community MVPs who are very experienced, knowledgeable, and helpful.
Use Microsoft Support to search for the issue, or open a case with professional support.
Contact your Microsoft Premier team, such as a Premier Field Engineer or Technical Account Manager.
I'm closing this issue as there's nothing actionable for docs at this time.