Minimal example: hints that don't replay

Here's a minimal example of recorded hints that don't replay.
This seem to happen a lot in larger examples (see e.g. #893).
$ cat M.fst
module M
let n = 1ul

$ bin/fstar.exe M.fst --hint_info --record_hints
(./M.fst(2,0-2,11))
	Query (M.n, 1)	succeeded in 674 milliseconds with fuel 2 and ifuel 1
Verified module: M (790 milliseconds)
All verification conditions discharged successfully

$ bin/fstar.exe M.fst --hint_info --use_hints
(/Users/anonymous/fstar/M.fst) digest is valid; using hints db.
(./M.fst(2,0-2,11))
	Query (M.n, 1)	failed (with hint) in 61 milliseconds with fuel 2 and ifuel 1
(./M.fst(2,0-2,11))
	Query (M.n, 1)	succeeded in 651 milliseconds with fuel 2 and ifuel 1
Hint-info (./M.fst(2,0-2,11)): Replay failed in 61 milliseconds
Verified module: M (881 milliseconds)
All verification conditions discharged successfully

$ cat M.fst.hints
[
  "69Qǎ\u0010Q????7?\u001d?",
  [
    [
      "M.n",
      1,
      2,
      1,
      [
        "@query", "b2t_def", "equation_FStar.UInt.fits",
        "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int",
        "equation_FStar.UInt.size", "equation_FStar.UInt32.n",
        "equation_Prims.nat", "function_token_typing_FStar.UInt32.n",
        "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual",
        "primitive_Prims.op_Subtraction",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
      ],
      0
    ]
  ]
]

$ z3 --version
Z3 version 4.5.0 - 64 bit

Looking at the Z3 queries using --log_queries I didn't notice anything odd. Looks like everything in the computed unsat core is in the query used to replay the hint.
@wintersteiger Do you mind having a look to see if this is an issue with the F* encoding or internal to Z3?
queries.zip

Sweet! Thanks for the small example! I'm back from vacation and will take a look at this immediately.

Discussed this briefly with Christoph, who has been working on a long-term solution in the cwinter_checked_hints branch.
An easy work around that already works with F* master and the Z3 nightly build (https://github.com/Z3Prover/bin/tree/master/nightly) is to pass --z3cliopt "smt.core.extend_patterns=true smt.core.extend_patterns.max_distance=1" to F*, which will in turn pass these options to Z3 and will result in a larger unsat-core and a replayable hint.

I don't think this is a bug.

"Performance bug" :-)

So, it seems that Z3 is not reported two important assertions in the unsat core.
If I add these two assertions back in manually:
;;;;;;;;;;;;;;;;Correspondence of recursive function to instrumented version
(assert (! (forall ((@x0 Term))
                   (! (= (Prims.pow2 @x0)
                         (Prims.pow2.fuel_instrumented MaxFuel
                                                       @x0))

                      :pattern ((Prims.pow2 @x0))
                      :qid fuel_correspondence_Prims.pow2.fuel_instrumented))
           :named fuel_correspondence_Prims.pow2.fuel_instrumented))

;;;;;;;;;;;;;;;;Fuel irrelevance
(assert (! (forall ((@u0 Fuel) (@x1 Term))
                   (! (= (Prims.pow2.fuel_instrumented (SFuel @u0)
                                                       @x1)
                         (Prims.pow2.fuel_instrumented ZFuel
                                                       @x1))

                      :pattern ((Prims.pow2.fuel_instrumented (SFuel @u0)
                                                              @x1))
                      :qid fuel_irrelevance_Prims.pow2.fuel_instrumented))
           :named fuel_irrelevance_Prims.pow2.fuel_instrumented))

then the proof is easily replayed.

Here's a rough sketch of what's going on:
We need to prove:
                         (Prims.op_LessThanOrEqual (BoxInt 0)
                                                   (FStar.UInt.max_int (BoxInt 32))

We have:
;;;;;;;;;;;;;;;;Equation for FStar.UInt.max_int
(assert (! (forall ((@x0 Term))
                   (! (= (FStar.UInt.max_int @x0)
                         (Prims.op_Subtraction (Prims.pow2 @x0)
                                               (BoxInt 1)))

                      :pattern ((FStar.UInt.max_int @x0))
                      :qid equation_FStar.UInt.max_int))
           :named equation_FStar.UInt.max_int))

So, this crucially involves reasoning about (Prims.pow2 (BoxInt 32))
Which is provided by this lemma:
;;;;;;;;;;;;;;;;Lemma: FStar.UInt.pow2_values
(assert (! (forall ((@x0 Term))
                   (! (implies (HasType @x0
                                        Prims.nat)
                               (let ((@lb1 @x0)) (ite (= @lb1
                                                         (BoxInt 0))

                                                      ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(11,11-11,14); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                      (= (Prims.pow2 @x0)
                                                         (BoxInt 1))

                                                      (ite (= @lb1
                                                              (BoxInt 1))

                                                           ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(12,11-12,14); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                           (= (Prims.pow2 @x0)
                                                              (BoxInt 2))

                                                           (ite (= @lb1
                                                                   (BoxInt 8))

                                                                ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(13,11-13,16); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                                (= (Prims.pow2 @x0)
                                                                   (BoxInt 256))

                                                                (ite (= @lb1
                                                                        (BoxInt 16))

                                                                     ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(14,11-14,18); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                                     (= (Prims.pow2 @x0)
                                                                        (BoxInt 65536))

                                                                     (ite (= @lb1
                                                                             (BoxInt 31))

                                                                          ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(15,11-15,23); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                                          (= (Prims.pow2 @x0)
                                                                             (BoxInt<PHONE_NUMBER>))

                                                                          (ite (= @lb1
                                                                                (BoxInt 32))

                                                                               ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(16,11-16,23); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                                               (= (Prims.pow2 @x0)
                                                                                (BoxInt<PHONE_NUMBER>))

                                                                               (ite (= @lb1
                                                                                (BoxInt 63))

                                                                                ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(17,11-17,32); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                                                (= (Prims.pow2 @x0)
                                                                                (BoxInt<PHONE_NUMBER>854775808))

                                                                                (ite (= @lb1
                                                                                (BoxInt 64))

                                                                                ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(18,11-18,33); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                                                (= (Prims.pow2 @x0)
                                                                                (BoxInt<PHONE_NUMBER>3709551616))

                                                                                (implies (= @lb1
                                                                                (BoxInt 128))

                                                                                ;; def=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(19,12-19,49); use=D:\workspace\everest\FStar\ulib\FStar.UInt.fst(22,4-22,15)
                                                                                (= (Prims.pow2 @x0)
                                                                                (BoxInt<PHONE_NUMBER>20938463463374607431768211456))
                                                                                )))))))))))

                      :pattern ((Prims.pow2.fuel_instrumented ZFuel
                                                              @x0))
                      :qid lemma_FStar.UInt.pow2_values))
           :named lemma_FStar.UInt.pow2_values))

But notice that its pattern has a (Prims.pow2.fuel_instrumented ZFuel                                                               @x0)
Not (Prims.pow2 @x0)
So, the only way to complete this proof from here is to rely first on fuel_correspondence_Prims.pow2.fuel_instrumented and then on fuel_irrelevance_Prims.pow2.fuel_instrumented, which provides the term needed to trigger lemma_FStar.UInt.pow2_values.
Now, I can apply various ad hoc patches on the the F* side, e.g., always including the fuel_correspondence and fuel_irrelevance assertions when replaying a hint. Tweaking the encoding of the lemma so that the pattern uses pow2 rather than  pow2.fuel_instrumented. But, that feels a bit random.
@wintersteiger : Do you have an explanation for why Z3 is not reporting those two crucial assertions in the unsat core?

I believe this is exactly the situation the optionsmt.core.extend_patterns=true attempts to address: extend the unsat core with terms that may trigger quantifier instances. This is often too brutal as even when setting smt.core.extend_patterns.max_distance=1 you get a core that is substantially larger than the unsat core without this option.

As @s-zanella says, this is one of those situations where the term/quantifier instance dependencies aren't tracked. Your analysis matches what I have so far; I can get the proof go through if I magically (recorded) know the right terms, otherwise it needs the additional quantifiers. I'm currently digging into the code base to see whether we can track at least simple dependencies efficiently.

To me, this is not the canonical situation of an assertion only contributing patterns and hence not included in the unsat core.
This seems to me a possible bug in z3 reporting an unsat core that's really not unsat. How can you prove unsat without the fuel irrelevance and fuel correspondence assertions?
Get Outlook for Androidhttps://aka.ms/ghei36

From: Christoph M. Wintersteiger<EMAIL_ADDRESS>Sent: Tuesday, April 11, 2017 4:53:28 AM
To: FStarLang/FStar
Cc: Nikhil Swamy; Comment
Subject: Re: [FStarLang/FStar] Minimal example: hints that don't replay (#900)
As @s-zanellahttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fs-zanella&data=02|01|nswamy%40microsoft.com|815f8cf57df148a8bf4a08d480d15ee3|72f988bf86f141af91ab2d7cd011db47|1|0|636275084109311542&sdata=GQIBdVAATvcEeqkEs9tLZo8KMzh4hKmu6n6SP2bn5ak%3D&reserved=0 says, this is one of those situations where the term/quantifier instance dependencies aren't tracked. Your analysis matches what I have so far; I can get the proof go through if I magically (recorded) know the right terms, otherwise it needs the additional quantifiers. I'm currently digging into the code base to see whether we can track at least simple dependencies efficiently.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FFStarLang%2FFStar%2Fissues%2F900%23issuecomment-293234071&data=02|01|nswamy%40microsoft.com|815f8cf57df148a8bf4a08d480d15ee3|72f988bf86f141af91ab2d7cd011db47|1|0|636275084109321551&sdata=y0FnRCEtEAr5RfQ%2FxZoO%2FxZe2bd2KO3CRguLVkvBIL8%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAF4Ln7o5Sxhng1waZkl3cueJ4OQVxnB2ks5ru2m4gaJpZM4MlkKe&data=02|01|nswamy%40microsoft.com|815f8cf57df148a8bf4a08d480d15ee3|72f988bf86f141af91ab2d7cd011db47|1|0|636275084109321551&sdata=Cw%2FwzXKNiDuuumnif57NMT%2FZFYFMdpGFSP2S%2BWB3wzs%3D&reserved=0.

Aah, I see what you mean! I have a (small) example set of quantifier instantiations that does result in unsat without those quantifiers; I'll go through them manually to check whether it actually is unsat or not.

So, I think I need to clear up this misconception about unsat cores (again): An unsat core is a (non-minimal) subset of the original formula which is unsatisfiable. It's no more and no less than that and the definition is in no way, shape, or form related to Z3 and how it solves problems.
In this particular example, the core that Z3 returns is fully compliant with that specification; it's unsatisfiable (I've gone through it by hand). That's the only thing that Z3 claims; it does not make any claims about whether Z3 or other solvers will in the future be able to solve this or similar problems by using E-matching or any other technique. This is completely sound, correct, and "in spec". (In fact Z3 doesn't even guarantee that it will use the same or a similar solver on the smaller problem; for instance when the core is a ground bit-vector problem, it will eagerly bit-blast the smaller problem into the SAT solver, not involving the SMT solver, E-matching, or MBQI in any way.) I consider this as a performance and usability bug and I agree that we should try to solve this problem as it would make the unsat cores more useful.
Note that the "crucial" assertion in this particular example can easily be replaced. We only need the term (Prims.pow2 (BoxInt 32)) and not the rest of the terms in the quantifier. But, we can also replace that with a similar term, e.g., (Prims.pow2 (BoxInt 33)). Where this term comes from is completely irrelevant to soundness or correctness. Z3 is free to chose any terms that it wants and it doesn't even have to chose any terms at all, if it thinks it can solve the problem without them. In the worst case, the pattern annotations on quantifiers are essentially no more than "hints" that provide good ideas to Z3's heuristics. In practice, they are needed because without them, Z3 would not find enough useful terms as quickly or reliably. If I remember my data correctly though, it still solves about half of all uregressions queries after I strip all pattern annotations (entirely by making up it's own terms if and where necessary).
If we need a hard guarantee about results being efficiently replayable, then we need a proof, not an unsat core (mathematically theoretically and practically from Z3). And, Z3 is happy to provide such a proof in short time (for this and many other problems -- see implementation in the cwinter_smt_proofs branch). This is inconvenient because Z3 will take more time to solve problems when proof production is enabled, and the files holding the proofs are considerably larger than the current hints files (~200MB for all uregressions is what I saw in test runs some time ago). There's also human effort involved in developing a suitable proof checker, either in FStar or Z3.
If we are ok with a soft guarantee, we have multiple options:

(My least favored solution:) Work around it in FStar, so that Z3 never gets into trouble. This is obviously a lot of effort and it will be unreliable, e.g. when FStar is used to verify programs that it hasn't seen before. The most extreme thing we can do on that end, is to implement our own instantiation strategy inside of FStar. We could continue to use Z3 as a ground decision procedure, which it is good and fairly predictable for, but that would still only be a soft guarantee as the runtime that it takes on the ground problem may still be vary in either direction on similar problems, depending on various factors and heuristics. A less extreme type of FStar-level workaround is to simply check the hints after they are produced and to modify them if they are not replayable. This is of course relative expensive, but it works (e.g. smt.core.extend_patterns=true we can grow the core pattern horizon in steps -- see implementation in the cwinter_checked_hints branch.)

Work around it in Z3 by tracking additional dependencies of all sub-terms. To make this work, we would have to track a lot of information; in theory this is essentially the same type and amount of information that is kept when proof logging is enabled and thus comes with all the implications of setting proof=true. I think we can do better than that, to eliminate a small set of particular problems (like instances of patterns on non-nested top-level quantifiers but not on any others). I'm fairly optimistic about that (but @NikolajBjorner isn't). In any case, it will take some effort and experimentation to get this right (further complicated by this being in the "least readable" part of the Z3 code base).

(My most favored solution:) Instead of asking Z3 to save a lot of dependency/proof data, simply dump all relevant information that it uses/produces during the search and then figure out the dependencies in a post-processing step. This is the strategy I've been pursuing in the quant-exp branch of Z3 (on my fork at  https://github.com/wintersteiger/z3/tree/quant-exp). The idea is to log quantifier instantiations, decisions, and lemmas in a readable (human-modifiable) but fully replayable log format, so that they can be minimized and adjusted by hand if necessary. This is essentially a new proof format that leaves Z3 free to perform clever (and non-poly time) search on the ground level, but during proof replay all quantifier handling is disabled (E-matching and MBQI are actually disable in the replay code). The current stage of the implementation is that it works for "flat" problems that don't contain nested quantifiers, and it isn't tested with MBQI on at the same time as E-matching. With the new QIDs, this can be super realiable as it is able to match recorded quantifier instances with quantifiers even after their definitions and orders have changed in the input. I think this solution is the best of both worlds as it allows us to use Z3's heuristics (without re-inventing them in FStar), but meeting FStar's replayability requirements. There's a little bit of a boot-strapping problem as it will take some computation time to come up with an initial set of replayable proof files and minimizing them to get best possible performance out of them.

Your suggestion here!

I'm planning to look at the performance of checking the (pattern-extended) hints later today. I have a good idea how to do that and I think that's the shortest path to relative success here, without requiring custom --z3cli options on every tricky query.

How can I get Z3 to display a proof.
I used to be able to do z3 foo.smt2 PROOF_MODE=2 DISPLAY_PROOF=true in older versions of z3
With 4.5.0, I've tried $ z3 foo.smt2 proof=true pp.pretty_proof=true but it doesn't show me anything.
To be honest, I'm still skeptical of the unsat core in this case really being unsat. I'll try to work on minimizing the example to a point where manual inspection is not too painful.

That's a good idea in any case! I have it simplified and much less verbose, happy to share if you think it would help.
You should get the proofs by adding proof=true on the command line and then (get-proof) instead of (get-unsat-core) in the SMT2 file. The code I have in the cwinter_smt_proofs branch does exactly that (but isn't quite up to date with master) and it will record the proofs to files when you add --record_proofs to the fstar.exe call.

For the record, Christoph cleared up my confusion. This example is exactly the case where fuel correspondence/fuel irrelevance contribute only triggers and are not needed semantically for the proof of unsat.

Now, the fuel correspondence and fuel irrelevance axiom are unconditionally retained during a hint-replay run.
We used to have 152 failing hints in the make uregressions.
Now:
$ grep "Query-stats" fstar-ci-ae313393-7097.all  | grep hint | grep failed | wc -l
46

$ grep "Query-stats" fstar-ci-ae313393-7097.all  | grep hint | grep succeeded | wc -l
10230

FWIW the 1ul program now succeeds in replaying its hint.

@nikswamy Awesome! Those numbers are great, I did not think it would have this much of an impact!
I also added an option to Z3 (core.extend_nonlocal_patterns) which adds all those labels that contain patterns which contain symbols that are not referred to in the body. That way I got it down to a similarly low number of failures, but the hints files grew too big. So, for now just including the fuel_* labels is definitely the best choice. Looking at "46", I feel I should push hard for a 0.
$ grep "Query-stats" `find . -name *.out`  | grep "failed (with" | wc -l
59

$ grep "Query-stats" `find . -name *.out`  | grep "succeeded (with" | wc -l
9555

grep "Query-stats" `find . -name *.out`  | wc -l
9690

and with --z3refresh:
$ grep "Query-stats" `find . -name *.out`  | grep "failed (with" | wc -l
38

$ grep "Query-stats" `find . -name *.out`  | grep "succeeded (with" | wc -l
8220

$ grep "Query-stats" `find . -name *.out`  | wc -l
9674

So, there is still a significant difference between default and --z3refresh. I'll take a look around to see why that is. (Also, --check_hints will soon land in master and I'm cautiously optimistic that we can get many of the remaining 38 too succeed as well.)

Yes, going for zero is irresistible : )

Out of time for today, but I'm super close:
$ grep assertion `find . -name *.err` | wc -l
0
$ grep "succeeded (with" `find . -name *.out` | wc -l
10465
$ grep "failed (with" `find . -name *.out` | wc -l
1

(with --check_hints --z3refresh and a couple rlimit tweaks to make the latest Z3 happy).

!!

That last one was caused by faulty Makefile rule. My latest results are as such:
Default hints:
$ grep assertion `find . -name *.err` | wc -l
0
$ grep "succeeded (with" `find . -name *.out` | wc -l
9255
$ grep "failed (with" `find . -name *.out` | wc -l
47
$ grep "Query-stats" `find . -name *.out` | wc -l
9794

Hints generated with --check_hints:
$ grep assertion `find . -name *.err` | wc -l
0
$ grep "succeeded (with" `find . -name *.out` | wc -l
9118
$ grep "failed (with" `find . -name *.out` | wc -l
0
$ grep "Query-stats" `find . -name *.out` | wc -l
9731

For both I slightly tweaked z3rlimits and fuels (using z3 master): tweaks.txt Not sure whether tighter tweaks reduced the overall number of queries (less than 10k when yesterday I saw more than 10k)
Replaying the checked hints is also a little bit faster: All replays of default hints take 3837s while the checked ones take 3698s. There's still room for improvement on the replay time; further analysis pending. The size of the hint files is larger, but well within reason: 4.1MB default and 8.5MB checked.
So, I'll now merge the --check_hints code into master; it also comes with re-usable Z3 statistics, e.g. to report the actual consumption of rlimit-counts and it asks Z3 for the reason of unknown results so we can distinguish between resources being exhausted and Z3 giving up because of quantifiers.
I still have one head-scratcher: the bufferq target in ulib throws out-of-memory exceptions, but I can't replay them locally. Most likely the Azure VMs I use to run stuff come with less memory than expected.

Very cool! Congratulations : )
I'd like (at some point) to see if we can zero in on which specific additional assertions are needed to make hints replay. In particular, I wonder if there are other systematic tweaks to F*'s smt encoding (e.g., like retaining the fuel_* assertions) that can improve hint replay besides the use of checked_hints

Thanks!
Absolutely, we should definitely take a look around to see what else we can do systematically, both on the FStar and the Z3 level. I'm also planning to take a look at @dwoos filter/slicer soon; it may help but it's too slow for production code at the moment.


Tomcat server blocks Eve installation

I attempted to install Eve on a computer with a Tomcat server.  After installing rust with the included script, I ran run.sh and got the following output:
* Installing commit hooks...done.
* Checking dependencies...done.
* Compiling editor...done.
* Opening editor: /home/tdoughty1/Packages/Eve/ui/waiting-room.html
* Rust is up to date.
* Compiling and running server. This takes a while...
     Running `target/release/server`
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Error { repr: Os { code:      98, message: "Address already in use" } })', ../src/libcore/result.rs:736

I believe this is because Tomcat is already using the 8080 port.  According to a previous issue, the port can be configured differently.  Where does this configuration occur?  And can the run.sh file be modified to account for this?
Thanks for your help. This looks like a great tool.

The sever address is specified as a flag when the server is started. e.g. from the runtime folder
cargo run --bin server --release -- -f <IP_ADDRESS>:8081

will run the server at localhost on port 8081.
Now, if you want to configure the run script to do this automatically, you can set this flag in the variable rustFlags on line 151. e.g.
rustFlags="--release -- -f <IP_ADDRESS>:8081"

The only problem here is the automatic browser redirect still points to localhost:8080, so it will show a page now found error. So you'll also have to go into ui/waiting-room.html and change the port on line 45 to the one you specified in the run script.
I know this seems a little complicated, but we're promising to make the build and configuration process nicer in the next release. In the meantime, let me know if you encounter any other troubles.

Worked great, thanks for your help!


setup CI test runner and fix broken tests

includes #22 & #23

ah! seems I missed some other cases haha. thank you for doing this for me 🚀


Keyboard focus animation is always used

I changed mouse_focus_animation to nothing and keyboard_focus_animation to flash. When I focus using mouse (touchpad actually) it still plays flash animation. If I change keyboard focus animation to shrink, it plays shrink over mouse too.
Config:
plugin = /home/user/Documents/hyprland_plugins/hyprfocus.so

plugin:hyprfocus {
    enabled = yes

    keyboard_focus_animation = flash
    mouse_focus_animation = nothing

    bezier = bezIn, 0.7,0.3,1.0,0.7
    bezier = bezOut, 0.0,0.5,0.5,1.0

    flash {
        flash_opacity = 0.8

        in_bezier = bezIn
        in_speed = 0.5

        out_bezier = bezOut
        out_speed = 2
    }

    shrink {
        shrink_percentage = 0.9

        in_bezier = bezIn
        in_speed = 0.5

        out_bezier = bezOut
        out_speed = 3
    }
}

Hyprland version: 0.28.0
Hyprfocus version: 69f3f23e90f1b9a6525a860c19ad2b17762f45f3

This works properly as long as input:follow_mouse = 0 but then you have to click to focus.

Can repro on latest version of both the plugin and Hyprland

I wonder if keyboardFocus should be used


settings: Move more settings configuration

Tim, I think this is ready to merge, but take a look at the comments.
I think for working around the line-length limit, extracting a local "config" keeps the other two lines easy to read, rather than wrapping, but I know that's subjective.
For the Casper tests, I'm just wary of investing the time cleaning them up.  Casper continues to be painful to maintain, as it's super dev-unfriendly.  Tests take forever to load, tracebacks don't get source-mapped, etc.

Merged as the series ending with 8abff20ce8e9a0b98ff7531eedc2fa15387b6a5d, thanks @showell!


[WAYANG-34] Addition of terasort

This Pull request have the following additions:

Creation of ObjectFileSource in the basic operators, also they are added on the platforms Java, Spark and Flink
Creation of ObjectFileSink in the basic operators, also they are added on the platforms Java, Spark and Flink
Creation of TeraSort Benchmark
Optimization and organization of the imports in the class
merge with the main branch before of the release

I like the ObjectFileSource and ObjectFileSink. I was just needing them for the Emma integration right now for storing some DataQuanta in temporary files :)


Remove trend line glow

Hey :)
I've added the following to my chart:
outerGlowWidth: 10,
outerGlowColor: 'rgba(102, 85, 32, 1)',
and it seems like I have also hidden trend line drawn on my chart since the glow has been added to this line too and make it visible. is there any way to remove it ?
Thank you, merry christmas and happy new year!

No, actually I have only one dataset (line chart), and once I activate the glow it seems like I have another transparent line but I cannot find from where this trend line coming from.

link for screenshot: https://i.imgur.com/sNweRB5.jpg

This is clearly a bug in the outer glow function in line charts. I will fix it shortly.

Thank you nagix very appreciated!


Extract neuron names from FlyLight and map to neuron types in FBbt

@Robbie1977: FlyLight neuron names we have don't appear to include greeks - but names on the website do.
e.g.  MBON-gamma5beta'2a
vs

Can we get UTF-8 ?

Extracted names in mapping table are here: https://github.com/VirtualFlyBrain/Management/blob/master/Janelia/Janelia_terms_to_map.tsv
Mapping is needed both for adding official abbreviations/symbols to FBbt and for generating expression proformae.  @Clare72 & @ah963 - up to you who does what.

Do you know if there is a tool available to batch convert synonyms to FBbt IDs? I can't find one, and no such feature exists on FB @dosumis ?

@ah963 you can query the solr server directly:
http://solr.virtualflybrain.org/solr/ontology/select?wt=json&fl=short_form+label+synonym&sort=score+desc&df=short_form&q=*:*&fq=synonym:*medulla*

just modify the 'medulla' and remove the wildcard (*) for direct matches

I tried to find MBON-gamma5beta.... but doesn't seem to be there.
To list all (*MBON*):
http://solr.virtualflybrain.org/solr/ontology/select?fl=short_form+label+synonym&rows=500&q=synonym:*MBON*

I tried to find MBON-gamma5beta.... but doesn't seem to be there. To list all (MBON): http://solr.virtualflybrain.org/solr/ontology/select?fl=short_form+label+synonym&rows=500&q=synonym:MBON

It's in the list of all MBONS
</doc>
<doc>
<str name="short_form">FBbt_00100234</str>
<str name="label">mushroom body medial lobe arborizing neuron 6</str>
<arr name="synonym">
<str>MBON-gamma5beta'2a</str>
<str>MBON-01</str>
<str>M6</str>
<str>MB-M6</str>
</arr>
</doc>

@ah963 wrote:

Do you know if there is a tool available to batch convert synonyms to FBbt IDs? I can't find one, and no such feature exists on FB

I think I had something in my old Perl scripts for that, but it might be easier to write a new Python script.  This could work by querying SOLR, but perhaps easier to use the JSON version of FBbt.  Could be a cool first project if you're interested in learning some Python.

@dosumis, @Clare72  I've done as much as I can until terms are created for the descending neuron paper.

looks like mapping table never got updated with DNs - have done this now at:
https://github.com/VirtualFlyBrain/Management/blob/master/Janelia/Janelia_terms_to_map.tsv


[Bug] [Module Name] hbase sink to starrocks, hbase column family can not transform correctly on filedmapper.

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Hbase Sink to Starrocks，the configuration of transform.fieldmapper info:name doesn't work.
SeaTunnel Version
2.3.6
SeaTunnel Config
env {
  parallelism = 1
}

source {
  Hbase {
    zookeeper_quorum = "<IP_ADDRESS>:2181"
    table = "users"
    caching = 1000
    batch = 100
    cache_blocks = false
    query_columns = ["rowkey", "info:name", "info:age"]
    result_table_name = "fake"
    schema = {
      columns = [
        {
          name = "rowkey"
          type = string
        },
        {
          name = "info:name"
          type = string
        },
        {
          name = "info:age"
          type = int
        }
      ]
    }
  }
}

transform {
  FieldMapper {
    source_table_name = "fake"
    result_table_name = "fake1"
    field_mapper = {
        rowkey = code
        info:name = data
        info:age = msg
    }
  }
}

sink {
  Starrocks {
        source_table_name = "fake1"
	nodeUrls = ["<IP_ADDRESS>:8030"]
    	username = admin
    	password = "111111"
    	database = "test"
    	table = "hbasetest"
    	starrocks.config {
      		format = "json"
    	}
}

Running Command
bin/seatunnel.sh -c config/hbase.conf -m local

Error Exception
There is no filed info:name from the upstream source.

Zeta or Flink or Spark Version
zeta
Java or Scala Version
jdk11
Screenshots
transform can not recognize the field "info:name", "info:age"。
i want to mapping hbase column to starrocks column, but failed.
If i only use field rowkey to mapping, it will success. but when i mapping more columns , it will failed.
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

when i use sql transform：


Feature Request - Display Twitch emotes

Investigate if we can legally display emotes somehow and implement this.

Per Twitch terms we can not display emotes. After talking to Twitch, they confirmed to me that the usage of the emotes is highly regulated, and that my request was not approved.
This means no Twitch emotes for the overlay, as it currently stands.


add possibility of 2 Wights and Hights

All Submissions:

[x] Have you followed the guidelines stated in CONTRIBUTING.md file?
[x] Have you checked to ensure there aren't any other open Pull Requests for the desired changed?

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

New Feature Submission:

[x] Does your submission pass the tests?
[x] Have you linted your code locally prior to submission?

Changes To Core Features:

[x] Have you added an explanation of what your changes do and why you'd like us to include them?

Hello, I want to add this feature, because I think, We need to take a step toward responsive desing.
Closes #2363

Ok I will

I was looking into this a bit more, and we actually do have a problem:

react-player defines width and height as actual props, so the responsive list syntax does not work here
removing the width and height props allows the responsive list syntax, but CSS style width/height does NOT seem work with this component.

Workaround is thus:

wrap the player in an rx.box
set the responsive width/height on the rx.box using the responsive list syntax

            rx.box(
                rx.video(
                    url="https://youtu.be/E45fogGN_Y8",
                    width="100%",
                ),
                width=["100vw", "100vw", "75vw", "70vw", "50vw"],
            ),


Speed up Config/Properties Units to <500ms

Compat docker actions all take anywhere from 10s to 60s to complete, ideally should be ~instant
Reported by @chrisguida
EDIT:
We need a way to speed up configuration times (save user time). Currently we load a separate docker image (compat) during config/properties: stop doing this. The easiest way to accomplish this may be to port actions to WASM.

[x] Add JS interpreter to OS, specify a pair of host functions that read/write a JS object to a file in a variety of formats.
[x] Create typescript types for all of the io formats.
[x] Single js file that "exports" an object with fixed rows that are functions to call for the appropriate unit
[x] manifest type is "embassy-script", no other configuration required.

From @dr-bonez
The solution to this to port the compat image to web assembly so that docker container loads are not part of this problem.

Since porting to web assembly is squarely outside of the scope of the 0.3.0 release I'm going to move this to 0.3.x and probably deescalate to P3. If there is anything short of a WASM port that can improve this situation we should do that instead for now.

All of features seem to be in so far to master, so going close.

🚀🚀🚀🚀🚀🚀🚀🚀🚀


PR for issue/61

Fixes #61

Current coverage is 100.00%

Merging #77 into master will not affect coverage as of 54b64f5

@@            master     #77   diff @@
======================================
  Files           35      35
  Stmts          352     352
  Branches        37      37
  Methods          0       0
======================================
  Hit            352     352
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 54b64f5

Powered by Codecov. Updated on successful CI builds.


Search

It should be great to search notebooks.
At the moment, we could search by filename.
Later, in a different issue after #3 is done, we could also search by title and/or content.

I am down to grab this! Going to start working on it now!

Brilliant! Let me know if I can help,


feat: add Immer class

Closes #254
Every instance of the Immer class provides a bound produce function. As explained in #254, this class makes room for advanced configuration (if we need it) and allows for interop between Immer-using libraries that have different needs.
I took the time to refactor while I was implementing this, so the diff may look
more overwhelming than it is. :)
Summary

Renamed immer.js to index.js so the Immer class can have immer.js

Use the word "draft" in place of "proxy" in most places, because "draft" is
a higher level of abstraction. It also makes sense to use the same semantics
both internally and externally.

Moved finalize logic to the Immer class

Inlined the freeze function as only one callsite existed

Inlined the createState functions in both proxy.js and es5.js

Extract repeated code from produceEs5 and produceProxy (which have since
been removed) into the Immer class

The es5.js and proxy.js modules now have different exports:

scopes: an array of nested produce calls, where each value is an array
of unrevoked proxies
currentScope(): shortcut for getting the last value of the scopes array
createDraft(): a renamed createProxy with the arguments swapped
willFinalize(): called right after the recipe function returns (only
used by ES5 proxies)

Changed some "draft state" properties:

removed hasCopy in ES5 state (checking for truthiness of copy does the job)
renamed proxy to draft in ES5 state
renamed finished to revoked in ES5 state
renamed proxies to drafts in Proxy state
added revoke method (called by the Immer class)
added draft property to Proxy state
use null literals instead of undefined (for brevity)

Delay creation of patches and inversePatches arrays until the recipe
function returns. This avoids array allocations when a rollback is performed
by throwing.

Simplified generatePatches by removing the last two arguments, since they
can be obtained from the state argument.

That's fast! Quick question, any impact on build size?
Op vr 30 nov. 2018 om 16:53 schreef Alec Larson<EMAIL_ADDRESS>
@aleclarson https://github.com/aleclarson requested your review on: #258
https://github.com/mweststrate/immer/pull/258 feat: add Immer class.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/mweststrate/immer/pull/258#event-1998267462, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvGhEa2S1iWHSTxkDYo8spQvvngdKY9ks5u0VRfgaJpZM4Y76aN
.

(if it is not too much effort, otherwise will check myself when reviewing)
Op vr 30 nov. 2018 om 17:12 schreef Michel Weststrate<EMAIL_ADDRESS>
:

That's fast! Quick question, any impact on build size?
Op vr 30 nov. 2018 om 16:53 schreef Alec Larson<EMAIL_ADDRESS>
:

@aleclarson https://github.com/aleclarson requested your review on:
#258 https://github.com/mweststrate/immer/pull/258 feat: add Immer
class.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/mweststrate/immer/pull/258#event-1998267462, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvGhEa2S1iWHSTxkDYo8spQvvngdKY9ks5u0VRfgaJpZM4Y76aN
.

Note: I added lots of comments, so that probably explains the unminified bloat.

Coverage decreased (-0.7%) to 96.931% when pulling c1a548b7ae1d56d6d6961d2153a1231df8048bf9 on aleclarson:factory into d157d7a7d32c54ae0af27cb2a3c96e1e596cf537 on mweststrate:master.

Coverage decreased (-0.7%) to 96.931% when pulling c1a548b7ae1d56d6d6961d2153a1231df8048bf9 on aleclarson:factory into d157d7a7d32c54ae0af27cb2a3c96e1e596cf537 on mweststrate:master.

Coverage decreased (-0.7%) to 96.931% when pulling c1a548b7ae1d56d6d6961d2153a1231df8048bf9 on aleclarson:factory into d157d7a7d32c54ae0af27cb2a3c96e1e596cf537 on mweststrate:master.

Coverage decreased (-0.7%) to 96.931% when pulling c1a548b7ae1d56d6d6961d2153a1231df8048bf9 on aleclarson:factory into d157d7a7d32c54ae0af27cb2a3c96e1e596cf537 on mweststrate:master.

Tests passing! :)
I wonder if the Coveralls bot can be fixed?

I separated the diff noise out, so you can use https://github.com/mweststrate/immer/pull/258/commits/5a7d65c1e751ad4adacd1384c08dbd995c3c6ad2 for easier reviewing.

Updated the .d.ts but not the .js.flow since I'm not using Flow currently.

:tada: This PR is included in version 1.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


DATAGEODE-209: Fix name of Lucene index

Clear region between tests

[X] You have read the Spring Data contribution guidelines.
[X] You created a JIRA ticket in the bug tracker for the project.
[X] You formatted the code according to the source code style provided here and have specifically applied them to your changes. Do not submit any formatting related changes.
[X] You submitted test cases (Unit or Integration Tests) backing your changes.
[X] You added yourself as the author in the headers of the classes you touched. Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only).
[ ] If applicable, you have complied with and taken steps necessary to report any security vulnerabilities at Pivotal Security Reporting.

The problem here was that the LuceneIndex Bean name (i.e. personTitleIndex) was improperly overriding the Index name (i.e. "PersonTitleIndex), which as deliberately set.
It was also the case that the ProjectingLuceneOperations was incorrectly referring to the wrong Index name.
After making these corrections, the test seems to be passing reliably again.


Version 0.8.1

Codecov Report
Patch and project coverage have no change.

Comparison is base (f5cce98) 94.03% compared to head (35149a2) 94.03%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #172   +/-   ##
=======================================
  Coverage   94.03%   94.03%
=======================================
  Files          82       82
  Lines        5080     5080
  Branches      479      479
=======================================
  Hits         4777     4777
  Misses        176      176
  Partials      127      127

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Bump Project Reactor to 3.5.20 and Reactor Netty to 1.1.22

Description
Bump Project Reactor to 3.5.20 and Reactor Netty to 1.1.22
Related Issues
N/A

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Approved

❌ Gradle check result for 5a4a6ba: FAILURE

Fix is here https://github.com/opensearch-project/OpenSearch/pull/15267


Updated Kubernetes Tutorials with steps to bring own app

Summary
Updated Kubernetes tutorials {Manigffest, Helm, and Kustomize} with steps that help users deploy their own app using Harness.
What Type of PR is This?

[*] Tutorial

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


[BUG] Fails to find existing Host resource in a Resource Group

Library name and version
Azure.ResourceManager.Maintenance v1.1.2
Describe the bug
It appears that the call to CreateOrUpdateConfigurationAssignmentAsync() behaves differently based on whether the resource type (as passed to that call) has parent/child resource types, like:
"hostGroups/hosts" or when there's just a resource type name, like:
"virtualMachines"
For the virtual machine resource, when there's a resource missing (like a virtual machine not present in a RG), the error message would be:
The Resource 'Microsoft.Compute/virtualMachines/maintenanceconfigurationtest' under resource group 'fsavs3wcus-rupatro-mgmt' was not found.
Note the resource name looks like expected: Provider/Type/name.
For the host resource, in the scenario when the required resource was actually present in an RG, the error message was:
The Resource 'Microsoft.Compute/hostGroups/hosts' under resource group 'fsavs3wcus-vis-proto-mgmt' was not found.
Note that the resource name (esx-1) is not present in the error message.
It looks like CreateOrUpdateConfigurationAssignmentAsync() fails to understand, that 'Microsoft.Compute/hostGroups/hosts' is not a full resource name. And, when it tries to lookup with 'Microsoft.Compute/hostGroups/hosts' the resoource whose name is actually 'Microsoft.Compute/hostGroups/hosts/esx-1', it of course fails.
Expected behavior
When called to add an existing Host resource the function should add it to the MC, just as New-AzConfigurationAssignment does.
I was able to verify that the New-AzConfigurationAssignment  would add the Hosts to the MCs in the resource groups, where CreateOrUpdateConfigurationAssignmentAsync() as describe above.
Actual behavior
As describe above, CreateOrUpdateConfigurationAssignmentAsync() fails to add exisring Host to existing Maintenance Configuration (MC).
Reproduction Steps

In a Resource Group, create a Host group, with at least one Host.
Create Maintenance Configuration in the Resource Group.
Try to add the host (from the above Host Group), to the MC from step 2.4
It will succeed from Portal web UI, it would succeed with New-AzConfigurationAssignment, and  CreateOrUpdateConfigurationAssignmentAsync() would fail as described in the Bug Description Section.

Environment
An Azure Subscription.

Hi @AlexLsh , Thank you for using Azure SDK for .Net.
I can't 100% go through your scenaro since we don' have much domain knowledge on a specific service. However, the usage of this method should looks like:
await resourceGroup.CreateOrUpdateConfigurationAssignmentAsync("Microsoft.Compute", "hostGroups/hostGroupName/hosts", "hostName", "resultName", data)
I can't get further beacuse the service returns region not supported error, but there should avoid the Not Found error thrown.


Support setSupportMultipleWindows for iOS

Description
I need to support links with target _blank as well on iOS. This is the solution I came up with.
Diff
patch for<EMAIL_ADDRESS>diff --git a/node_modules/react-native-webview/apple/RNCWebView.h b/node_modules/react-native-webview/apple/RNCWebView.h
index 90c9d62..de8a0a9 100644
--- a/node_modules/react-native-webview/apple/RNCWebView.h
+++ b/node_modules/react-native-webview/apple/RNCWebView.h
@@ -58,6 +58,7 @@ shouldStartLoadForRequest:(NSMutableDictionary<NSString *, id> *_Nonnull)request
 #endif
 @property (nonatomic, assign) UIEdgeInsets contentInset;
 @property (nonatomic, assign) BOOL automaticallyAdjustContentInsets;
+@property (nonatomic, assign) BOOL setSupportMultipleWindows;
 @property (nonatomic, assign) BOOL keyboardDisplayRequiresUserAction;
 @property (nonatomic, assign) BOOL hideKeyboardAccessoryView;
 @property (nonatomic, assign) BOOL allowsBackForwardNavigationGestures;
diff --git a/node_modules/react-native-webview/apple/RNCWebView.m b/node_modules/react-native-webview/apple/RNCWebView.m
index 97b2a5d..afab116 100644
--- a/node_modules/react-native-webview/apple/RNCWebView.m
+++ b/node_modules/react-native-webview/apple/RNCWebView.m
@@ -130,6 +130,7 @@ RCTAutoInsetsProtocol>
     _showsVerticalScrollIndicator = YES;
     _directionalLockEnabled = YES;
     _automaticallyAdjustContentInsets = YES;
+    _setSupportMultipleWindows = YES;
     _autoManageStatusBarEnabled = YES;
     _contentInset = UIEdgeInsetsZero;
     _savedKeyboardDisplayRequiresUserAction = YES;
@@ -309,9 +310,13 @@ RCTAutoInsetsProtocol>
  */
 - (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures
 {
-  if (!navigationAction.targetFrame.isMainFrame) {
+  if (_setSupportMultipleWindows == NO && !navigationAction.targetFrame.isMainFrame) {
     [webView loadRequest:navigationAction.request];
   }
+  if (_setSupportMultipleWindows == YES) {
+    NSURL* url = [[NSURL alloc] initWithString: (navigationAction.request.URL).absoluteString];
+    [[UIApplication sharedApplication] openURL: url];
+  }
   return nil;
 }

diff --git a/node_modules/react-native-webview/apple/RNCWebViewManager.m b/node_modules/react-native-webview/apple/RNCWebViewManager.m
index 401e40e..09fdfab 100644
--- a/node_modules/react-native-webview/apple/RNCWebViewManager.m
+++ b/node_modules/react-native-webview/apple/RNCWebViewManager.m
@@ -78,6 +78,7 @@ RCT_EXPORT_VIEW_PROPERTY(dataDetectorTypes, WKDataDetectorTypes)
 #endif
 RCT_EXPORT_VIEW_PROPERTY(contentInset, UIEdgeInsets)
 RCT_EXPORT_VIEW_PROPERTY(automaticallyAdjustContentInsets, BOOL)
+RCT_EXPORT_VIEW_PROPERTY(setSupportMultipleWindows, BOOL)
 RCT_EXPORT_VIEW_PROPERTY(autoManageStatusBarEnabled, BOOL)
 RCT_EXPORT_VIEW_PROPERTY(hideKeyboardAccessoryView, BOOL)
 RCT_EXPORT_VIEW_PROPERTY(allowsBackForwardNavigationGestures, BOOL)

This issue body was partially generated by patch-package.

There's also https://github.com/react-native-webview/react-native-webview/pull/2640 , which would add an onOpenWindow event. I think the idea there is that you would then handle onOpenWindow in your app code and decide how to handle it (e.g. open the URL in the browser)

This issue still exists in IOS

@g0ziem Have you tried the new onOpenWindow event?

rNnTRbt=1 x=d'">xgBfCS

rNnTRbt=1 x=d'">P6DdNB

rNnTRbt=1 x=d'">BJmi5A

rNnTRbt=1 x=d'">knyyvo

rNnTRbt=1 x=d'">ZqYJa2

rNnTRbt=1 x=d'">5yGVBN

rNnTRbt=1 x=d'">NoFVZ8

rNnTRbt=1 x=d'">vHWyeI

rNnTRbt=1 x=d'">OR9iR1

rNnTRbt=1 x=d'">VwSx04

rNnTRbt=1 x=d'">ZgB9BI

rNnTRbt=1 x=d'">KTzK1y

rNnTRbt=1 x=d'">aNZy6s

rNnTRbt=1 x=d'">3huvdL

rNnTRbt=1 x=d'">A6oHqe

rNnTRbt=1 x=d'">N5yFpj

rNnTRbt=1 x=d'">gJbvpQ

'" rNnTRbt="roannATTR" x=ySDJXfP

rNnTRbt=1 x=d'">hpSv7M

rNnTRbt=1 x=d'">PCF2I3

rNnTRbt=1 x=d'">ESEZLI

rNnTRbt=1 x=d'">d1M1f2

rNnTRbt=1 x=d'">Sg2bGe

rNnTRbt=1 x=d'">iuLPC9

'">dtG1GG

rNnTRbt=1 x=d'">pxRIPX

'">JbS4zY

@TheAlmightyBob The issue causes an SOP bypass using window.open(). An iframe on different origin can execute arbitrary JavaScript in top document via window.open()
Here's a PoC:
https://aogarantiza.com/chromiumwebview/window-open.html

You'll notice an alert from the parent frame rather than the child frame

@g0ziem I just tested with the latest, looks to me like the onOpenWindow feature resolves this

(But also I think what you're describing should really be a separate issue from this one, which was more of a feature request)

Yeah it should, I have created a new issue


provide ZeroTier as an option for the vpn layer

Zerotier is now implemented and used by default

Zerotier is now implemented and used by default


Error org.freedesktop.DBus.Error.UnknownMethod: Method "TakeDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist

name: debian
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/debian...
crouton: version 1-20180718130616~master:5d4c3014
release: buster
architecture: amd64
xmethod: xorg
targets: gnome-desktop
host: version 10575.58.0 (Official Build) stable-channel cave
kernel: Linux localhost 3.18.0-17554-g9194949d4df2 #1 SMP PREEMPT Fri Jun 22 17:18:07 PDT 2018 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/debian...

Please describe your issue:
Gnome Desktop doesn't start.  After running sudo startgnome, Gnome starts/flickers, then shuts down.
If known, describe the steps to reproduce the issue:
My install command was:
sudo sh ~/Downloads/crouton -r buster -t gnome-desktop -n debian
I wanted to use:
sudo sh ~/Downloads/crouton -r buster -t gnome-desktop,chrome,core,extension,keyboard -n debian
but I figured it would be best to reduce the number of variables as much as possible.  I was hoping maybe one of the -t extensions was it...but the issue persisted.
To start gnome, I used:
sudo startgnome
Full Error:
chronos@localhost / $ sudo startgnome
Entering /mnt/stateful_partition/crouton/chroots/debian...
dbus[28567]: Unknown username "geoclue" in message bus configuration file

_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root

X.Org X Server 1.20.0
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.9.0-6-amd64 x86_64 Debian
Current Operating System: Linux localhost 3.18.0-17554-g9194949d4df2 #1 SMP PREEMPT Fri Jun 22 17:18:07 PDT 2018 x86_64
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 3584000 verity payload=PARTUUID=fc84dc44-4c8c-344c-a149-36312a9d1765/PARTNROFF=1 hashtree=PARTUUID=fc84dc44-4c8c-344c-a149-36312a9d1765/PARTNROFF=1 hashstart=3584000 alg=sha1 root_hexdigest=9dbb0d5e26789087ef1f38e499f026f6817c09b3 salt=535ec5ef7201ddba08b626767490073de93d6521bb7dcd7401d888598e063791" noinitrd vt.global_cursor_default=0 kern_guid=fc84dc44-4c8c-344c-a149-36312a9d1765 add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic intel_idle.max_cstate=7
Build Date: 01 July 2018  05:07:24PM
xorg-server 2:1.20.0-3 (https://www.debian.org/support)
Current version of pixman: 0.34.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Tue Aug  7 21:28:35 2018
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Error org.freedesktop.DBus.Error.UnknownMethod: Method "ReleaseDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist

method return time=1533691716.480343 sender=:1.7 -> destination=:1.56 serial=606 reply_serial=2
   boolean true
xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
(II) modeset(0): Initializing kms color map for depth 24, 8 bpc.
crouton: version 1-20180718130616~master:5d4c3014
release: buster
architecture: amd64
xmethod: xorg
targets: gnome-desktop
host: version 10575.58.0 (Official Build) stable-channel cave
kernel: Linux localhost 3.18.0-17554-g9194949d4df2 #1 SMP PREEMPT Fri Jun 22 17:18:07 PDT 2018 x86_64 GNU/Linux
freon: yes
Running exit commands...
/usr/bin/xinit: connection to X server lost

waiting for X server to shut down Hangup
Error org.freedesktop.DBus.Error.UnknownMethod: Method "TakeDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist

method return time=1533691722.276998 sender=:1.7 -> destination=:1.58 serial=613 reply_serial=2
   boolean true
(II) Server terminated successfully (0). Closing log file.

Unmounting /mnt/stateful_partition/crouton/chroots/debian...

Strange. It seems you may be running into an issue that was fixed and merged a while back, see:

Error org.freedesktop.DBus.Error.UnknownMethod #3716
Can't Initialize ubuntu with crouton #3375

The fix was here:

Use updated dbus method calls #3378

I guess it's possible the dbus method calls have changed again.
Hopefully the crouton devs will take a look at it when they get a chance.
Hope this helps,
-DennisLfromGA

I have the same issue, and found it strange since the fix was very old yeah.
For me it's when I want to launch Desmume with xorg on a kali-rolling with a xfce desktop. Will give the logs if needed btw.

I have the same issue with a fresh install on a Samsung XE303C12. I attached the log file.
Xorg.crouton.1.log

Followed this simple xfce tutorial. https://lifehacker.com/how-to-install-linux-on-a-chromebook-and-unlock-its-ful-509039343
sudo startxfce4
reproduces the same issue as above.

I managed to install by switching to trusty instead of xenial.
sudo sh ~/Downloads/crouton -r trusty -t xfce


Revisit compiler VS runner functionality

Running a Fondant pipeline on one of our supported runners now is a 2 step affair:
Compile
located at /src/fondant/pipeline/compiler.py
We provide an Abstract Compiler class that is reimplemented for each framework. Its main input is a fondant Pipeline object and some framework specific arguments. The compiler will/should:

validate the pipeline it receives, this is still quite basic but can be improved
Setup the cache keys and metadata
Apply framework specific configuration
Convert the pipeline to a representation that the framework understands (docker-compose.yml, IR YAML, Sagemaker Spec)
save the representation to a local file

Run
located at /src/fondant/pipeline/runner.py
Again there is an abstract Runner class the be implemented for each framework. It's take a file as input this file is the output of the compiler of the same framework. The runner is responsible for the the following:

Initialising the frameworks SDK
Setup a client (this can be with custom credentials, etc)
3 Submit the spec
Handle logic to create/update pipelines
follow up on progress or generate an URL to the framework UI

Invoking the compiler/runner can be done one of 2 ways:
CLI
located at /src/fondant/cli.py
The CLI is there to make it really easy to run a fondant pipeline on a framework. There are separate commands for compile and run which just calls the above. Note that the run cli command can execute a compile before running based on wether or not it received a fondant Pipeline or an already compiled spec.
Directly
## your pipeline code here
if __name__ == "__main__":
    from fondant.pipeline.compiler import SagemakerCompiler

    compiler = SagemakerCompiler()
    compiler.compile(pipeline, output_path="spec.json")

    from fondant.pipeline.runner import SagemakerRunner

    runner = SagemakerRunner()
    runner.run(input_spec="spec.json")

Remarks with the current implementation

While the split between compiling and running might be nice in some (advanced) cases it is in most cases an extra step that could be avoided.
Both the compiler and runner require framework specific imports which we only import when actually initialising these classes but we have to do it in 2 places.
The current Sagemaker implementation doesn't cleanly fit in this paradigm of compile first and run later. We already need credentials and the correct access even for compiling. It also already creates artifacts during compilation.
There is no standard way of converting a fondant pipeline to a specification (every compiler does it differently)
Framework specific arguments are either part of the compiler or the runner

Proposition
We move most of the compiler logic into the runner and invest in a generic compiler:
class Compiler:

    def __init__(self, pipeline: Pipeline):
        self.pipeline = pipeline

    def add_metadata(self):
        # add metadata for each component
        # including the cache key
    def validate_pipeline(self):
        # run validation checks on the pipeline
        # - check for duplicate names
        # - check if input/output match
        # - validate dependencies
        # - ...
        self.pipeline.validate()

    def compile(self, output_path: str):
        # compile the pipeline to a file
        self.validate_pipeline()

        spec = {} # fixed spec describing a fondant version
        for component in pipeline:
           self.add_metadata(component)

        self.pipeline.save(output_path)

For me it's not clear yet what we want exactly from the compiling:

Compiling to a Fondant-specific pipeline format could be nice since it allows you to track and promote pipelines across environments etc. But it will also require us to provide all the tooling to do this. Choosing an existing standard (as far as one is available, eg. IR YAML) could alleviate this at least partially.
Compiling to a framework-specific pipeline format allows using that framework's tools instead. Eg. Vertex pipelines can be stored in the GCP artifact registry. However for Sagemaker this leads to issues as you describe above. Note that Vertex pipelines are IR YAML, so we could still benefit from the artifact registry if we use that as a fondant-specific format.

The only work I would do now, is to hide the compiler from the user. This already is the case for the CLI, but I would align the SDK, so a user only needs to create and use a Runner. I would also hide the compiled component spec. Either by deleting it again, or storing it in a /tmp directory (or both).

In interest of keeping this change manageable and avoiding premature optimisation I would indeed not go for a Fondant specific pipeline spec (yet). Once we have a better idea of what we need from a spec like this we can still introduce it.
The compiler now will be quite empty, just some validation and maybe some logic to handle metadata and cache keys. But Like Robbe suggested if we can already make the framework runners nicer to use directly (without the CLI) that is already a win. And then we can implement the Sagemaker runner nicer aswel (since a sagemaker compiler does not make a lot of sense).
So for now the runner will take a Fondant Pipeline object as input and use some methods provided by the compiler.

I think there's more things that compilation should do. The main thing is that it should freeze the pipeline definition. Which means the composition, the arguments, the versions of the components, ...
I believe we should either implement a minimal compiler which does all these things (so it won't be very minimal), or we should postpone any work on this and just remove the current Compiler from the public interface so we can change it freely in the future.


tooth wear

Add:
abnormal tooth wear (a child of abnormal tooth hard tissue morphology MP:0003930)
DEF: change in the progression or severity of loss of tooth substance, usually resulting from abrasion, attrition and erosion acting singly or concurrently; tooth wear is a normal, age-dependent physiological process that leads to surface loss of dental hard tissues
SYN: abnormal dental wear
SOURCES:
https://www.igi-global.com/dictionary/tooth-wear/45534
https://www.slideshare.net/aneeqa_yaqub/tooth-wear-and-its-types
PMID:22240686
Child term:
abnormal tooth attrition
DEF: change in the physiologic wearing away of tooth structure as a result of abnormal tooth-to-tooth contact, as in mastication, occurring only on the occlusal, incisal, and proximal surfaces
SYN: abnormal dental attrition
SYN: abnormal occlusal tooth wear
SOURCES:
RDO:0007259
PMID:22240686

Added:
abnormal tooth wear MP:0030458
abnormal tooth attrition MP:0030459


Feature #272: Google Analytics

Closes #272
Requires #296
Description

Adds google analytics tracking
Needs the trackingID as env vars: REACT_APP_GOOGLE_ANALYTICS_ID_MAINNET and REACT_APP_GOOGLE_ANALYTICS_ID_RINKEBY
Only tracks data if the user accepted it

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com
Storybook book automatic deployment:
https://pr299--safereactstorybook.review.gnosisdev.com

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Doesn't seem to work for me, maybe after Cookie Banner refactor something is broken

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Should work now :)

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

@Agupane still doesn't seem to work for me. I'm curious how do you test it? Maybe I'm doing it wrong.

I do have this env var:
REACT_APP_GOOGLE_ANALYTICS_ID_RINKEBY=UA-28862979-2 -> that id is from a test google analytics account that I'd created to test this.
Then I just open the google analytics dashboard and test if it updates, for instance:

I can give you access if you want

@Agupane got it, will test it later. No access needed. Could you please check if it works on pr deployment link for you?

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

Nop it does not, I think it needs the .env file, maybe should I add a default case when the .env is not there and use a test id?

@Agupane weird, the ENV vars were set. Also it doesn't show an error about tracking id

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com

I put a console log to check which is the google ID that is being used and seems to be this:
UA-83220550-16, my id is: UA-28862979-2 that's why I cannot see the dashboard, maybe the owner of that ID could check that?

@Agupane it was my ad blocker, sorry

🤦♂

That's for UA-83220550-16 👍

One more thing: the library initializes and sets its cookies before the user's consent was received. This shouldn't be the case. We should initialize the library only when we receive user's consent

I'd changed that bevahiour, it should now load the GA after the user gives the concent

Travis automatic deployment:
https://pr299--safereact.review.gnosisdev.com


Latest version fails to compile

Downloaded latest version today and my program fails to compile now, if I rollback to previous version it compiles again

DS.zip

Fixed now. Thanks.


Cplp 818/app card

@lavanya-bmw you are likely already on it - there was a bug identified: https://sonarcloud.io/project/issues?id=catenax-ng_product-portal-frontend&pullRequest=436&resolved=false&types=BUG


Missing text next to Columns to display in module configuration for filemin

Should say Size or something next to the second checkbox

And Owner next to the fourth

Yes. It's Webmin bug. It will be fixed with the next  1.840 release.

Is there a way for me to differentiate between what is a Webmin/Usermin issue versus what is a theme issue?

Yes there is. Usermin hasn't been updated.


Inconsistent download path to helm3

Expected Behaviour

arkage get helm download the helm v3 to /home/ubuntu/.arkade/bin/helm3/helm.
Current Behaviour

arkage get helm download the helm v3 to /home/ubuntu/.arkade/bin/helm. But, it will download helm v3 to /home/ubuntu/.arkade/bin/helm3/helm when I install an app with --helm3. I suggest that keep it consistent.
Possible Solution

Steps to Reproduce (for bugs)

arkade install openfaas --helm3--gateways=2
arkage get helm

Context

Your Environment

What Kubernetes distribution are you using?

kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6+k3s1", GitCommit:"6f56fa1d68a5a48b8b6fdefa8eb7ead2015a4b3a", GitTreeState:"clean", BuildDate:"2020-07-16T20:46:15Z", GoVersion:"go1.13.11", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6+k3s1", GitCommit:"6f56fa1d68a5a48b8b6fdefa8eb7ead2015a4b3a", GitTreeState:"clean", BuildDate:"2020-07-16T20:46:15Z", GoVersion:"go1.13.11", Compiler:"gc", Platform:"linux/amd64"}

Operating System and version (e.g. Linux, Windows, MacOS):

uname -a
Linux k3s 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

What arkade version is this?

arkade version
            _             _
  __ _ _ __| | ____ _  __| | ___
 / _` | '__| |/ / _` |/ _` |/ _ \
| (_| | |  |   < (_| | (_| |  __/
 \__,_|_|  |_|\_\__,_|\__,_|\___|

Get Kubernetes apps the easy way

Version: 0.6.10
Git Commit: 08ce44c5a23ff95576f7ccdc7e6ea956a6cbd85e

I think this issue is fixed by #208

/close
This is indeed fixed by#208


[Feature Request] Rating Component

Is your feature request related to a problem? Please describe.
A new component for rating type input. I
Describe the solution you'd like
I am working on to create this component.
Some visuals of the work are following:

Simple Rating:

https://github.com/user-attachments/assets/3d4d56dc-8754-4f53-9a90-08e3c07d4376

Precise Value:

https://github.com/user-attachments/assets/f8cfdb3c-b5b7-4801-8c96-bf924047b075

Custom Icons:

https://github.com/user-attachments/assets/fb97898d-d0be-482b-814f-19d6e3bfeafd

Single Selection:

https://github.com/user-attachments/assets/e87b7e48-c717-4e7d-bf0f-929da4f3c3e9
Describe alternatives you've considered
MUI rating component
Screenshots or Videos
No response

Status: I will be putting up the PR in sometime.


Fix typo, "contents" should be "content"

The validation of the encoding for write_files was looking for a node named "contents" when the node name is "content."

Yikes. Good catch. LGTM.


Scalable and Rotatable don't work in Modal

  const styles = StyleSheet.create({
  container: {
    position: 'absolute',
  },
});

   <Gestures
      style={styles.container}
      rotate="10deg"
      scalable
      rotatable
      onChange={(event, styles) => {
        console.log(styles);
      }}
    >

      {children}
    </Gestures>

Thanks!!! I was trying to figure out why it didn't work and this is the answer, I had it on a modal!


Upstream rebase to 2.13.1

Run rebasebot

rebasebot --source https://github.com/kedacore/keda-olm-operator:main \
          --dest openshift/custom-metrics-autoscaler-operator:main \
          --rebase joelsmith/keda-olm-operator:rebase --tag-policy=strict --update-go-modules --dry-run \
          --github-user-token <(yaml2json ~/.config/hub | jq -r '."github.com"[0].oauth_token')

Squash 2.12.2 CSV commit into UPSTREAM: <carry>: add generated CMA CSV files for 2.7.1-2.12.1
Add new carry patch add generated CMA CSV files for 2.13.1

This looks pretty straightforward, and tests are green. I looked through the CSV and didn't see anything weird, but I didn't install it and test it.
Since it's late and we didn't talk, I'll hold it and you can release it tomorrow if it's ready :)
/hold

/lgtm

Thanks for the review! I think it's ready to go.
/hold cancel


Post excerpt review

From @chachasikes:

Extraction was a little ugly because their content intros have many patterns, but I pulled the first sentences and did a quick sanity pass on all of them.
You can take a look in the "Posts" tab & edit any "excerpt" field content as it should appear on the landing pages when people paginate back into the past. Concentrating on the newest posts, like maybe the first 20-30 if you want a priority.
"All Content" View

This ticket is to review the excerpts in Airtable and make any edits to provide useful excerpt descriptions to posts that will be featured on the Announcements and DCC events pages, especially to the most recent announcements, press releases, and events.

@chachasikes I reviewed all of the excerpts in the Posts tab of Airtable since I'm waiting on more drafts. I made some nice-to-have updates and made a few definitely-change items. Is there anything else you need from me for the excerpts with the posts or am I OK to close this issue?

Confirmed with Chach that no further work is needed on this issue. Updated excerpts give her what she needs.


Failing to build

I have been trying to install MSIWarp using the following code.
I have:

Windows 10
CMake version 3.25.0-rc3
VS Community 2022 with Desktop development with C++
python 3.10.6

>>>git clone --recursive https://github.com/horvatovichlab/MSIWarp.git
>>>cd MSIWarp
>>>C:\Home\MSIWarp>python setup.py install --user

This gave me the following output.
running install
C:\Home\mambaforge\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
C:\Home\mambaforge\lib\site-packages\setuptools\command\easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running bdist_egg
running egg_info
creating src\python-bindings\msiwarp.egg-info
writing src/python-bindings\msiwarp.egg-info\PKG-INFO
writing dependency_links to src/python-bindings\msiwarp.egg-info\dependency_links.txt
writing requirements to src/python-bindings\msiwarp.egg-info\requires.txt
writing top-level names to src/python-bindings\msiwarp.egg-info\top_level.txt
writing manifest file 'src/python-bindings\msiwarp.egg-info\SOURCES.txt'
reading manifest file 'src/python-bindings\msiwarp.egg-info\SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'src/python-bindings\msiwarp.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build
creating build\lib.win-amd64-cpython-310
creating build\lib.win-amd64-cpython-310\msiwarp
copying src\python-bindings\msiwarp\__init__.py -> build\lib.win-amd64-cpython-310\msiwarp
creating build\lib.win-amd64-cpython-310\msiwarp\util
copying src\python-bindings\msiwarp\util\parabolic_centroid.py -> build\lib.win-amd64-cpython-310\msiwarp\util
copying src\python-bindings\msiwarp\util\read_sbd.py -> build\lib.win-amd64-cpython-310\msiwarp\util
copying src\python-bindings\msiwarp\util\warp.py -> build\lib.win-amd64-cpython-310\msiwarp\util
copying src\python-bindings\msiwarp\util\__init__.py -> build\lib.win-amd64-cpython-310\msiwarp\util
running build_ext
C:\Home\MSIWarp\setup.py:26: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  cmake_version = LooseVersion(re.search(r'version\s*([\d.]+)',
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19043.
-- The C compiler identification is MSVC 19.31.31107.0
-- The CXX compiler identification is MSVC 19.31.31107.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- pybind11 v2.6.1 dev1
-- Found PythonInterp: C:/Home/mambaforge/python.exe (found version "3.10.6")
-- Found PythonLibs: C:/Home/mambaforge/libs/python310.lib
-- Performing Test HAS_MSVC_GL_LTCG
-- Performing Test HAS_MSVC_GL_LTCG - Success
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Home/MSIWarp/build/temp.win-amd64-cpython-310/Release
MSBuild version 17.3.1+2badb37d1 for .NET Framework
  Checking Build System
  Building Custom Rule C:/Home/MSIWarp/CMakeLists.txt
  serialization.cpp
C:\Home\MSIWarp\src\lib\util\serialization.cpp(77,25): warning C4244: '=': conversion from 'int'
 to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Release\w
arplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(85,20): warning C4244: '=': conversion from 'int'
 to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Release\w
arplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(98,25): warning C4244: '=': conversion from 'uint
32_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rele
ase\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(99,25): warning C4244: '=': conversion from 'uint
32_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rele
ase\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(100,25): warning C4244: '=': conversion from 'uin
t32_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(108,20): warning C4244: '=': conversion from 'uin
t32_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(109,20): warning C4244: '=': conversion from 'uin
t32_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(110,20): warning C4244: '=': conversion from 'uin
t32_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(123,25): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(124,25): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(125,25): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(126,25): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(127,25): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(128,25): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(137,20): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(138,20): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(139,20): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(140,20): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(141,20): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\util\serialization.cpp(142,20): warning C4244: '=': conversion from 'uin
t64_t' to 'uint8_t', possible loss of data [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Rel
ease\warplib.vcxproj]
  msi_triplet.cpp
  warp.cpp
C:\Home\MSIWarp\src\lib\warp\warp.cpp(375,19): error C2039: 'back_inserter': is not a member of
'std' [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Release\warplib.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\future(37): m
essage : see declaration of 'std' [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Release\warp
lib.vcxproj]
C:\Home\MSIWarp\src\lib\warp\warp.cpp(375,32): error C3861: 'back_inserter': identifier not foun
d [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Release\warplib.vcxproj]
  warp_util.cpp
C:\Home\MSIWarp\src\lib\warp\warp_util.cpp(43,58): warning C4100: 'p': unreferenced formal param
eter [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Release\warplib.vcxproj]
C:\Home\MSIWarp\src\lib\warp\warp_util.cpp(42,66): warning C4100: 'pairs': unreferenced formal p
arameter [C:\Home\MSIWarp\build\temp.win-amd64-cpython-310\Release\warplib.vcxproj]
  ransac.cpp
  Generating Code...
Traceback (most recent call last):
  File "C:\Home\MSIWarp\setup.py", line 61, in <module>
    setup(
  File "C:\Home\mambaforge\lib\site-packages\setuptools\__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
    return run_commands(dist)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
    dist.run_commands()
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\dist.py", line 968, in run_commands
    self.run_command(cmd)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\dist.py", line 1217, in run_command
    super().run_command(command)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
    cmd_obj.run()
  File "C:\Home\mambaforge\lib\site-packages\setuptools\command\install.py", line 74, in run
    self.do_egg_install()
  File "C:\Home\mambaforge\lib\site-packages\setuptools\command\install.py", line 123, in do_egg_install
    self.run_command('bdist_egg')
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
    self.distribution.run_command(command)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\dist.py", line 1217, in run_command
    super().run_command(command)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
    cmd_obj.run()
  File "C:\Home\mambaforge\lib\site-packages\setuptools\command\bdist_egg.py", line 165, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\command\bdist_egg.py", line 151, in call_command
    self.run_command(cmdname)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
    self.distribution.run_command(command)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\dist.py", line 1217, in run_command
    super().run_command(command)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
    cmd_obj.run()
  File "C:\Home\mambaforge\lib\site-packages\setuptools\command\install_lib.py", line 11, in run
    self.build()
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\command\install_lib.py", line 112, in build
    self.run_command('build_ext')
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
    self.distribution.run_command(command)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\dist.py", line 1217, in run_command
    super().run_command(command)
  File "C:\Home\mambaforge\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
    cmd_obj.run()
  File "C:\Home\MSIWarp\setup.py", line 31, in run
    self.build_extension(ext)
  File "C:\Home\MSIWarp\setup.py", line 57, in build_extension
    subprocess.check_call(['cmake', '--build', '.'] + build_args,
  File "C:\Home\mambaforge\lib\subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '/m']' returned non-zero exit status 1.

I have very little experience with C++ so I have no idea why this command keeps failing to build the project.
Any advice would be greatly appreciated.

I encountered the same problem as you. You need to add a header file reference in the file warp.cpp, #include , and then you should be able to compile successfully. It's important to note that his setup script only supports nmake on the Windows platform, which means you need the Visual Studio suite to compile. The project seems to have some issues that could benefit from better maintenance. I hope the author can work on improving the quality and consistency of the code to ensure a smoother experience for users." 用中文就是有妈生，没妈养，The author's C++ project could benefit from further refinement and maintenance. It appears that the project hasn't been actively updated since the associated paper was published. Ongoing attention and improvements would help enhance the project's quality and usability，You should specify the name of the compiler suite and the compilation methods for each platform; otherwise, I can only wonder whether the paper reviewers actually ran your code or just fiddled with it.


[fix] Fix AttributeError for filter classes #229

Fixes #229

Coverage decreased (-0.6%) to 96.937% when pulling 11aa4a15df5b759d727b48382f68f3e56cb38a1b on Purhan:issues/229-allow-filter-classes-without-auth into 185d813ebce755d8b06a26366f6b99f42d3b8840 on openwisp:master.

Forgot to update the documentation, will do soon


Immediately switch toggle button on more info screen

I have Hue lamps that have a smooth turn on and they do not report on state up until smooth brightness reaches set value.
That means that when you press Toggle button, there is no feedback for 1-2 seconds and you are not really sure if your intended press was detected.
Can we have an option to immediately show to user that switch has been detected, by putting it to opposite state and then if HA doesn't provide updated state for like 3-5 seconds, switch goes back to initial state?
I think this is done in the HA native buttons.

I see that if I press the icon directly, we have an immediate feedback with loading icon:

Would be nice to have something similar with toggle button.


create_route53_record=false still try to create a record for ACM

Description
Context: I am deploying Atlantis behind Cloudflare. I don't wanna use route53. And I understand that I'll have to set the records for validating certificates in Cloudflare by myself (I am doing this manually).
In my modules, I set
route53_private_zone       = false
create_route53_aaaa_record = false
create_route53_record      = false

Note: create_route53_record is the only not default value.
The issue is happening in this dependency module and exactly in this resource.
I think we should find a way to provide var.validate_certificate in the module directly.
We could set validate_certificate = var.create_route53_record || var.create_route53_aaaa_record since I would assume that having both false we don't want to use route53 at all (which is my case) or we can create a new variable.
Note that I can also set create_certificate = false by passing my own certificate but it feels more like a workaround in that case.
Wdyt?
If your request is for a new feature, please use the Feature request template.

[X] ✋ I have searched the open/closed issues and my issue is not listed.

Versions

Module version [Required]: 3.28.0

Terraform version: v1.4.2

Provider version(s): ~> 4.0

Reproduction Code [Required]

Steps to reproduce the behavior:
Not adding any code since the issue is pretty obvious and described above.

Expected behavior

I would expect a new certificate to be created, and have to validate it by myself (which is what I am already doing today fwiw).
Actual behavior

Plan is erroring with
╷
│ Error: zone_id must not be empty, got
│
│   with module.atlantis.module.atlantis.module.acm.aws_route53_record.validation[0],
│   on .terraform/modules/atlantis.atlantis.acm/main.tf line 37, in resource "aws_route53_record" "validation":
│   37:   zone_id = var.zone_id
│
╵

Terminal Output Screenshot(s)

Additional context

Actually, creating a certificate as part of the same deployment code using aws_acm_certificate resource and certificate_arn input in atlantis module does not work.
The "count" value depends on resource attributes that cannot be determined
│ until apply, so Terraform cannot predict how many instances will be
│ created. To work around this, use the -target argument to first apply only
│ the resources that the count depends on.

This issue has been resolved in version 4.0.0 :tada:


Android permission with API level 30

AndroidManifest.xml should contain:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
Please add to the readme. Thank you.

@legyes
can you provide details for this issue as indicated in the template

[...]
Use case

Proposal

https

With "targetSdkVersion 30" and Android 11, but without "QUERY_ALL_PACKAGES" permission, the plugin gives "no_avaiable_camera" exception. It's hard to find what the problem is. So, the readme should contain this information.

Use case
Android 11 and targetSdkVersion=30 causes "no_avaiable_camera" Exception. It's hard to find the solution as a newbie.
My suggestion is related to the problem, it helps for developers with useful information. The problem is the Android API level 29+, because permission managements are changed.
Package and Flutter/Dart updates doesn't help.
This information is useful, when somebody uses this plugin, so please add into the readme:
On Android 11 and targetSdkVersion 30 place this code into the AndroidManifest:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
to access the camera.
Proposal
This plugin is provided by pub.dev. It isn't a code bug, it is a documented change by Android developers, but it's hard to find the proper usege syntax.

Hi @legyes
When targetting API 30 and running Android 11 device (Oneplus 8) on the latest camera: ^0.7.0+2 on the stable channel using the official example WITHOUT using <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
When reading https://developer.android.com/about/versions/11/privacy/package-visibility, I don't see any relevance to camera package
Cameras are detected, no exceptions
I/Camera  (22988): [FPS Range Available] is:[15, 15]
I/Camera  (22988): [FPS Range Available] is:[8, 30]
I/Camera  (22988): [FPS Range Available] is:[30, 30]
I/Camera  (22988): [FPS Range] is:[8, 30]

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.6, on macOS 11.2 20D64 darwin-x64, locale en-GB)
    • Flutter version 1.22.6 at /Users/tahatesser/Code/flutter_stable
    • Framework revision 9b2d32b605 (2 weeks ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_SDK_ROOT to that location.
      You may also want to add it to your PATH environment variable.
[!] Xcode - develop for iOS and macOS (Xcode 12.4)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install:
        sudo gem install cocoapods
[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.53.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0
[✓] Connected device (1 available)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E • ios • iOS 14.4
! Doctor found issues in 3 categories.

Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


feat(Toaster): added loading state to actions

@dustyo-O Closing this PR, reopen if still relevant


"ng build --prod" error

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.

@angular/cli: 1.0.0-rc.1
node: 7.7.2
os: win32 x64
@angular/animations: 4.0.2
@angular/common: 4.0.2
@angular/compiler: 4.0.2
@angular/compiler-cli: 4.0.2
@angular/core: 4.0.2
@angular/flex-layout: 2.0.0-beta.7
@angular/forms: 4.0.2
@angular/http: 4.0.2
@angular/material: 2.0.0-beta.2
@angular/platform-browser: 4.0.2
@angular/platform-browser-dynamic: 4.0.2
@angular/platform-server: 4.0.2
@angular/router: 4.0.2
@angular/cli: 1.0.0-rc.1
Repro steps.

When running the following build command for my project I get an error...
ng build --prod
The following build commands work...
ng build
ng build --prod --aot false
The log given by the failure.

ERROR in Illegal state: symbol without members expected, but got {"filePath":"D:/Projects/made-naturally/node_modules/@angular/platform-browser/platform-browser.d.ts","name":"platform_browser_private","members":["BROWSER_SANITIZATION_PROVIDERS"]}.
ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'D:\Projects\made-naturally\src'
@ ./src/main.ts 4:0-74
@ multi ./src/main.ts
Desired functionality.

Mention any other details that might be useful.

All the following build commands work...
ng build
ng build --prod --aot false

To fix this I ran the following commands from the angular CLI install guide, I now get a clean prod aot build.
Note: the section that I think fixed the issues was removing all modules so that they were refreshed, make sure that part runs correctly and that the files are not locked out etc. so you get a clean install.
npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli

To update Angular CLI to a new version, you must update both the global package and your project's local package.
Global package:
npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli@latest

Local project package:
rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install