extra backslash before sentence stop when the last word is a number

Process this html fragment:

Profit: 100. Sentence ends with a number, 42. What happened?

I expect the result to be:
Profit: 100. Sentence ends with a number, 42. What happened?

Actual result is:
Profit: 100\. Sentence ends with a number, 42\. What happened?

const md = require('md')
const li = `<p>Profit: 100. Sentence ends with a number, 42. What happened?</p>`
md(li)
// console.log 'Profit: 100\\. Sentence ends with a number, 42\\. What happened?'
// write the string to a file, it would be: 'Profit: 100\. Sentence ends with a number, 42\. What happened?'

I think I found why a backslash was added.
In index.js:

  // Escape potential ol triggers
     input = input.replace(/(\d+)\. /g, '$1\\. ');

Commented it out solved the problem

Closing as duplicate of https://github.com/domchristie/to-markdown/issues/181


Housekeeping

[X] I'm sure this issue is not a duplicate

Icon Type

[X] File Icon
[ ] Folder Icon

Icon Type

[X] Extension
[X] Filename
[X] Language ID

Original Icon

Icon Information
Language ID: wikitext
Extensions: .wt
aliases: WikiText, wt, wikitext, Wikitext
Icon Name: wt
More Information:
https://en.wikipedia.org/wiki/Help:Wikitext

I believe the wikitext language ID is brought by this extension?
Everything else looks good, will make a PR tomorrow, already have made an SVG version of the icon you provided


feature: BoxString

This PR adds another heap implementation called BoxString. It's a non-reference counted heap string that stores the capacity and string buffer on the heap. Eventually this will be the default implementation for heap storage, and users can opt into atomic reference counting (the current impl) via a new type.

bleh, I messed something up with git branches, this is now a duplicate of #56


PSA Consider creating new extern for selecting small set of keys from large set of keys

This was briefly mentioned near the end of the 2017-Dec-06 P4 Arch WG meeting, in the context of hash functions.
The motivation is that even though it is possible to change the collection of packet fields used for a table search key, hash function, etc. by modifying the P4 source code and recompiling, there is a desire by some users of P4 devices to be able to change some of these things at configuration time, without having to change P4 source code or perform any recompilation.
One possibility: Create a new extern or family of externs.  For the sake of example I will propose placeholder names Select8BitFields, Select16BitFields, Select32BitFields.
Note: I am not sure if this proposal requires extending the P4_16 language.  It might.
Proposed example of use of Select8BitFields:
    // Because the constructor parameter is 16, get_fields() for this instance
    // will return a bit vector of type bit<16*8>, i.e. bit<128>
    Select8BitFields(16) hash1_field_selector;
    bit<128> hash1_fields;

    // For the usual 48-bit ethernet addresses, 32-bit IPv4 addresses,
    // 8-bit IPv4 protocol, and 16-bit src/dst port, the list of fields below
    // contains a total of 200 bits, or 25 8-bit 'pieces'.
    hash1_fields = hash1_field_selector({hdr.ethernet.srcAddr, hdr.ethernet.dstAddr,
        hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, hdr.ipv4.protocol,
        meta.l4fields.srcPort, meta.l4fields.dstPort});

    // Now use hash1_fields wherever you want to use the 128 bits that
    // have been selected from the 200 bits in the list above.  They could
    // be used as the input to a hash function, a 128-bit exact or ternary
    // match field in a table, etc.

The control plane API for this example instance hash1_field_selector would consist of 16 byte offsets within the 25 8-bit list of fields.  That is, it would be 16 5-bit values, each specifying a byte position in the range [0, 24] of the 25 bytes.  The control plane could change these 16 5-bit values whenever it wanted to, and the next time a data packet made the call to get_fields(), those byte positions would be selected from the 25 bytes.
Alternate method for configuring the set of bytes to select, if repeats of input bytes in the output are never needed, and the order of bytes in the output is unimportant: specify a 25-bit vector, where exactly 16 of the 25 bits are equal to 1, and the rest are 0.  The bits containing a 1 correspond to bytes in the 25-byte input that are included in the output.
To make the output more useful for ignoring bits within bytes that we do not want included in an exact match key, or a hash function, the control plane API could also specify a 16-byte mask that will be bit-wise ANDed with the result described above, and that is actually what get_fields() returns.  Including this in the behavior of get_fields() avoids the need to have a separate table whose only purpose is to provide a wide mask value.
The 8-bit version would be sufficient for most purposes, I would guess.   The only reason to have a 16-bit version and 32-bit version is that they could be cheaper to implement when you only need to be able to select 'pieces' that are multiples of 16 bits or 32 bits wide.
One could imagine proposing 4-bit, 2-bit, and 1-bit versions, but they are more expensive to implement than the 8-bit version, and I suspect not often needed.

@vgurevich Take a look at the above and see if it might be close to what you are thinking of.  @ChrisDodd I think you may have been the one asking about this on the phone during the WG meeting?

It looks to me like what you want is a version of the hash function which is an extern - because it needs a control-plane API. Other than that, the internals of the function are irrelevant for the data-plane. It just takes N bits and emits M.

It's worth considering whether we need to add a new primitive for this.
Here's a simple example code snippet that is already legal P4_16 that shows
how one could select the upper byte or lower byte of a two-byte field for
use in a table.
The selection is managed by the control plane and can either be static or
random on every packet.
#include <core.p4>
#include <v1model.p4>

struct raw {
    bit<16> f;
}

struct proc {
    bit<8> picked;
}

control c(inout raw r) {
    proc p = { 0 };

    action pick(bit<1> b) {
        if (b == 0) {
            p.picked = (bit<8>) r.f;
        } else {
            p.picked = (bit<8>) (r.f >> 8);
        }
    }
    action pick_random() {
        bit<32> b;
        random(b, 0, 1);
        pick((bit<1>) b);
    }
    table s {
        key = { }
        actions = { pick; pick_random; }
        default_action = pick_random;
    }
    table t {
        key = { p.picked : exact; }
        actions = { NoAction; /* Fill in other actions here */ }
    }
    apply {
        s.apply();
        t.apply();
    }
}

On Thu, Dec 7, 2017 at 1:23 PM, Mihai Budiu<EMAIL_ADDRESS>wrote:

It looks to me like what you want is a version of the hash function which
is an extern - because it needs a control-plane API. Other than that, the
internals of the function are irrelevant for the data-plane. It just takes
N bits and emits M.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/p4lang/p4-spec/issues/516#issuecomment-350052520, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABwi0mPQekIy5S0aVmzJbN0dCOVVXp3Jks5s-C05gaJpZM4Q5O5K
.

It's worth considering whether we need to add a new primitive for this.
Here's a simple example code snippet that is already legal P4_16 that shows
how one could select the upper byte or lower byte of a two-byte field for
use in a table.
The selection is managed by the control plane and can either be static or
random on every packet.
#include <core.p4>
#include <v1model.p4>

struct raw {
    bit<16> f;
}

struct proc {
    bit<8> picked;
}

control c(inout raw r) {
    proc p = { 0 };

    action pick(bit<1> b) {
        if (b == 0) {
            p.picked = (bit<8>) r.f;
        } else {
            p.picked = (bit<8>) (r.f >> 8);
        }
    }
    action pick_random() {
        bit<32> b;
        random(b, 0, 1);
        pick((bit<1>) b);
    }
    table s {
        key = { }
        actions = { pick; pick_random; }
        default_action = pick_random;
    }
    table t {
        key = { p.picked : exact; }
        actions = { NoAction; /* Fill in other actions here */ }
    }
    apply {
        s.apply();
        t.apply();
    }
}

This works, but needs an extra table. They want to do this within an action.
I am not sure the compiler would be able to eliminate this extra table.

I agree the compiler would need to do something extra, but it should be relatively easy to identify and eliminate a table with no keys (like s) provided its actions can be mapped to native primitives on the target.

Agreed that the proposed extern can be implemented with a table, if statements, and existing P4_16 operators.
I would mention that we can also implement counters, meters, and random number generators using register externs and the base language only, hashes and checksums with the base language only, and action profiles and action selectors with 2 or 3 tables and the base language only.
Those facts do not imply that we should add the kitchen sink of externs to PSA, willy nilly, and this proposal might be going too far in that direction.  But the code for selecting 16 out of 25 bytes gets pretty big and very repetitive.  I can write a small Python program to generate the P4_16 code for the behavior for arbitrary parameters (and plan to do so soon, as a reference implementation).
The main motivations in favor of such an extern that I can think of are:

Avoid big repetitive code for the cases where it is useful, of which run-time configurable key generation and hash input selection, without having to recompile a P4 program, are the use cases I know of so far.  There may be others.
Make it easier for some P4 back-end compilers to recognize this desired behavior, and focus on how to optimize the implementation of this behavior for their particular targets, without having to also do some fairly weird pattern recognition on large repetitive code.

Hi @jafingerhut
I agree that programmers shouldn't have to write large amounts of code to do simple things. We want to provide primitives that make the common case simple and succinct.
Let me refine what I was trying to say.

The original note suggested this might require a language extension.

Note: I am not sure if this proposal requires extending the P4_16 language. It might.

The code I provided suggests that it does not, at least at the semantic level.

I would separate two concerns:

Having the right set of data-plane primitives
Having the right control-plane API

Conflating these two concerns in a single run-time configurable bit-selection operation is what I would push back against. I totally agree that having to write dozens of lines of code to extract bits is too verbose. We should add new primitives to make slicing and dicing bits super easy. And we should have something like a function so programmers can package up their own custom bit-blitting operations and give them convenient names.
But we already have several perfectly good ways for the control plane can interpose on data-plane behavior without having to recompile the P4 program. For example, we can get run-time reconfiguration through tables -- in particular, default_actions of tables. Or if you don't like introducing a table, you could use a register of size 1:
enum pick { first; last; random }
register<pick>(1) r;
...
if (r == pick.first) pick_first();
else if (r == pick.last) pick_last();
else /* r == pick.random */ pick_random();

What I would really argue against is adding a new primitive that both adds new bit-blitting operations and extends the interface of the control-plane. Adding new mechanisms by which the control plane can reconfigure the data plane will complicate several things including the language design, the compiler, and P4 Runtime.
I would also warn against the line of thinking that advocates adding new primitives because they will be easy for the compiler to handle (whereas equivalent code expressed using existing constructs may lead to inefficient implementations). In any single instance, this can be sensible. But if followed to an extreme, we may get a proliferation of equivalent coding styles (like Perl). And it will also make performance difficult to predict -- e.g., P4 could end up resembling languages like SQL, which is supposedly based on a declarative, relational abstractions. However, in practice to get good performance from a SQL query, you really have to understand how high-level abstractions are implemented in terms of lower-level abstractions (indices, join algorithms, etc.) to get efficient code. And that's unfortunate...
Got to run. Happy to discuss further later.

@jnfoster - My apologies, I missed that you were at least in part responding to the "whether new language features are needed".  I am pretty sure now that what is proposed here doesn't require new language features.
I am also sensitive to the idea of combining together features that ought to be teased apart and made into multiple lego blocks that can be combined more flexibly in multiple ways.
I can easily imagine separating this idea into two pieces - getting field-select config data from a table or register and putting it "somewhere", then later taking that field-select data and passing it to a control or function that is a pure function of its inputs, taking that plus the wide data (25 bytes in my example) and the field-select data, and returning the selected data (16 bytes in my example).
I mentioned two reasonable-sounding formats for the field-select data in my original message: format A: a sequence of byte offsets, or format B: a bit vector with 1s for the fields to be included in the output.
Here is a difficulty I am imagining, which maybe only exists for an RMT-like implementation of the idea -- I don't know what format to make the field-select data, and I believe some targets will benefit from not allowing the P4 program to pick them on a per-packet basis.
Why?  RMT architectures have all kinds of internal crossbar and muxes that would be potentially useful for implementing this, but how you control their outputs might be neither of format A or B, but more implementation-specific.  For example, maybe it is some VLIW instructions, or some settings on a crossbar somewhere that can be configured via hardware config registers, but not from the P4 program run-time data.
If it weren't for that, I wouldn't see any issue with just picking one of the reasonable-sounding formats.  But because of that, I expect it could nullify the potential benefits of the idea, if we tried to say "pass a bit vector in format A to the extern", and let the P4 program generate a format A bit vector on the fly for each packet.
That is an argument for combining a control plane API and data plane behavior for this idea (albeit perhaps not a good enough one for an extern to be added to PSA).

I have created an example 'reference implementation' in P4_16 code for this idea here: https://github.com/jafingerhut/p4-guide/tree/master/select-fields
It only adds more proposed details of one way to do it.  I don't think it makes any new arguments for motivating why it may be beneficial to make a new stateful extern object for this functionality, vs. a stateless extern function.
It does seem worth asking people who want this whether merely adding stateless extern function for the field-selection operation, and having the compiler do extra analysis to determine whether the input bits that control the field selection process come from table outputs (i.e. action parameter values of an earlier table apply call) with no further modification, would be straightforward or difficult.  If straightforward, then perhaps there is little motivation for creating a stateful extern object for this.

@jafingerhut , @jnfoster
First of all, I think we need to agree on the problem definition, because it looks to me that the proposed approaches try to solve two different problems.
Specifically, Andy's initial proposal was calling for allowing just the control plane to select the fields. Once the selection is done, it will be the same set of fields for each and every packet, until the control plane reconfigures the data plane for a new set of fields. Indeed, that's the problem we were originally discussing.
Nate's approach is much more powerful, since it allows choosing the set of fields on a per-packet basis. In the example it came from the register g, but it should not obscure the fact that it could've come form anywhere.
While, mathematically speaking it is clear that if one can choose different the fields (or choose to do something else) on per-packet basis, one can easily select the same fields for all the packets, the mechanisms used to implement that in the real HW world might be quite different.
In Nate's example, it will probably be a real table with real actions (although I can easily imagine hardware with crossbars that can be controlled on per-packet basis and then it will not be), while in Andy's example it will probably be a static reconfiguration of a hash computation unit, crossbar or both.
Yes, theoretically the compiler might be able choose the widely different mechanisms by analyzing the program code, but given what I currently see I think we are quite the number of years from that at least. Moreover, even if the compiler is perfect, there is another "kink": these tables or registers most probably will have somewhat different APIs, compared to their "real" counterparts, which will lead to the proliferation of special annotations and such.
Therefore, at least today and for the next N years, I would advocate an "extern" approach. From my perspective, the advantage is that each extern type can have a specialized API and would fairly clearly convey the complexity and resource usage, at least on a given architecture.
Now, on the specific proposal (and that's where I think that Andy's hunch on the necessity of changing the language might be correct). I do like the idea of an extern that takes a set of fields and outputs a collection of bits from these fields up to N bits wide. However, let's consider that we use the extern twice with two different sets of fields, e.g.
    hash1_fields = hash1_field_selector({hdr.ethernet.srcAddr, hdr.ethernet.dstAddr,
        hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, hdr.ipv4.protocol,
        meta.l4fields.srcPort, meta.l4fields.dstPort});
   . . .
   hash2_fields = hash1_field_selector({hdr.ethernet.srcAddr, hdr.ethernet.dstAddr,
        hdr.ipv6.srcAddr, hdr.ipv6.dstAddr, hdr.ipv6.nextHdr
        meta.l4fields.srcPort, meta.l4fields.dstPort});

Now, configuring that extern becomes pretty much impossible. This tells me that the list of fields should, instead be specified during extern instantiation instead of during its invocation, so that we have a clearly named instance to work with in the APIs. Something like that:
    SelectFields(bit<128>, {hdr.ethernet.srcAddr, hdr.ethernet.dstAddr,
        hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, hdr.ipv4.protocol,
        meta.l4fields.srcPort, meta.l4fields.dstPort}) hash1_field_selector;

and this is precisely where I think we might not have enough support in the language.
The API for the hash selector should allow selecting each field (or subset of bits from each field using a bitmask) up to the full width of that selector. It might also allow you to specify the order of fields.

Why not:
SelectFields<tuple<bit<48>, bit<48>, bit<32>, bit<32>, bit<4>, bit<32>, bit<32>> instance

@mbudiu-bfn ,
Is it allowed, i.e. specifying tuple<> in a place where a template type is specified? if yes, then SelectFields can be defined with just two types: one representing the output width and another one being the input tuple.
Also, what is will be required for the decent API generation is to name individual members of that tuple.

Nate's approach is much more powerful, since it allows choosing the set of fields on a per-packet basis.

My original example used a table without keys, which can only be reconfigured by the control-plane. I added a second example using a read-only register because there was some skepticism that a compiler could effectively analyze such a table.
I can see that my pleas for simplicity are falling on deaf ears. But to make one last attempt: if PSA is successful, we will not only be concerned with mapping it down to hardware targets, but also with developing abstractions that sit on top of it and below it. For example, a company like VMware might well want to virtualize the PSA and allow the P4 code written against it to be moved around in a datacenter alongside client VMs. For these and other uses, keeping PSA simple as possible will be a big win. Every one-off primitive we add to make it slightly easier for the compiler to generate specific code for a particular hardware widget increases the costs of developing tools for analyzing and transforming P4 code everywhere else.
There's a fair bit of skepticism about the ability of a compiler to generate good code -- a perspective I do not share as it is at odds with several decades of progress in compiler technology.
Of course, it's not the end of the world to have a few redundant externs, but I encourage everyone to take a default skeptical stance whenever we consider adding new ones.

@mbudiu-vmw ,
Thanks, Mihai! So just to be clear, is that how do you think the extern might look like:
extern FieldSelector<O, I> {
    FieldSelector<O, I>(I );
   O get();
}

struct my_hash_fields_t {
    mac_addr_t mac_da;
    mac_addr_t mac_sa;
    ipv4_addr_t src_ip;
    ipv4_addr_t dst_ip;
    bit<8>         ip_proto;
    bit<16>       l4_src_port;
    bit<16>       l4_dst_port;
}

FieldSelector(bit<128>,
              <my_hash_fields_t>(h.ether.srcAddr,
                                h.ether.dstAddr,
                                h.ipv4.srcAddr,
                                h,ipv4.dstAddr,
                                h.ipv4.protocol,
                                m.l4.sport,
                                m.l4.dport) fs1;

bit<128> hash_input;

hash_input = fs1();

You cannot bind the fields in the instantiation, but you can fix the type. The syntax would be:
FieldSelector<bit<128>, my_hash_fields>() fs1;
bit<128> hash_input = fs1.get({h.ether.srcAddr,
                                h.ether.dstAddr,
                                h.ipv4.srcAddr,
                                h,ipv4.dstAddr,
                                h.ipv4.protocol,
                                m.l4.sport,
                                m.l4.dport });

@mbudiu-bfn ,
That's precisely what I was trying to avoid :) Suppose I have two calls to fs1.get() with different set of fields. I won't be able to generate APIs for each of them, because there is no name associated with the call itself. I can use the the struct field names, but they will have little to do with what's in the call.

@mbudiu-vmw ,
Unfortunately, Github always suggests your older user ID first :)
I agree that it makes sense to have multiple instances -- that's precisely what I wanted to do. I just wanted to do it at the language level, without invoking that single invocation restriction. While it will work, it is still a little awkward, mostly because the API generator now has to be aware not only how the object was instantiated, but also it needs to know now where and how it is used. I think this makes it fairly exceptional and adds a lot of complexity, doesn't it?

I don't see why the api generator has to do anything special. The api does not depend on how you invoke it, but only on how you investigate instantiate it. And the constructor call has all the information it needs.

@mbudiu-vmw ,
The desired APIs should be "add h.ether.srcAddr to fs1" not "add ?.mac_sa fo fs1" (where "?" is not clear, probably either "I" or "my_hash_fields_t"). This is much more convenient and also matches the current P4_14 capability. To generate such an API the API generator needs to know where and how the extern is invoked.

If you want the API to look that way just give the proper names to the fields of the structure my_hash_fields_t. This structure is used in a single place anyway.
I don't think you want 'h' in the API, that can be just a local variable.


Windows not yet supported for torch.compile

(shark.venv) PS E:\shark2\SHARK\shark\examples\shark_inference\llama\llama\llama> python shark_model.py
tensor([[0.4136]])
Traceback (most recent call last):
File "E:\shark2\SHARK\shark\examples\shark_inference\llama\llama\llama\shark_model.py", line 172, in
dynamo_callable = dynamo.optimize(refbackend_torchdynamo_backend)(compile_via_shark)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\shark2\SHARK\shark.venv\Lib\site-packages\torch_dynamo\eval_frame.py", line 479, in optimize
check_if_dynamo_supported()
File "E:\shark2\SHARK\shark.venv\Lib\site-packages\torch_dynamo\eval_frame.py", line 433, in check_if_dynamo_supported
raise RuntimeError("Windows not yet supported for torch.compile")
RuntimeError: Windows not yet supported for torch.compile
idk tbh

Thanks. I'll take a look.

Upstream issue is here: https://github.com/pytorch/pytorch/issues/90768

We could remove the guard and see how far we get on Windows because we don't really use the cpu or triton backends.

Bypass this on Windows by adding --compile=False to the end of your run statement. Ex:
python train.py config/finetune_conversation.py --compile=False works, whereas
python train.py config/finetune_conversation.py will raise the error

Adding --compile=False didn't work for me. I've added it just about everywhere I could add it.

Yeah I haven't had this in a while so I guess it's fixed

Run accelerate config in the command prompt, and when asked, answer the question "Do you wish to optimize your script with Torch Dynamo" with "No."

You should be able to turn off compile functionality as this only speeds ups training your model(s).
But this does resolve the issue. That problem has already been risen some months ago: #90768
Please also see here


Bug: Installer fails when installing via Bun inside a react project

What version of million are you using?
3.0.3
Are you using an SSR adapter? If so, which one?
None
What package manager are you using?
Bun
What operating system are you using?
Linux (WSL2)
What browser are you using?
Brave
Describe the Bug
When installing MillionJS via the installer (bunx million@latest), the install will fail because the MillionJS installer Cli uses performance.markResourceTiming, which is not currently available in Bun. This results in this output when trying to install via the Cli:
ar06@REDACTED:~/documents/Projects/vite-project$ bunx million@latest
┌  ⚡ Million.js 3.0.3
│
◇  bun detected.
│
◇  Installed million with bun.
│
◆  Detected vite project.
│
◇  Transforming vite.config.ts ─────────╮
│                                       │
│  found existing vite.config.ts file.  │
│                                       │
├───────────────────────────────────────╯
12904 |         cacheState
12905 |       );
12906 |     }
12907 |     function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
12908 |       if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
12909 |         performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
                ^
TypeError: performance.markResourceTiming is not a function. (In 'performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState)', 'performance.markResourceTiming' is undefined)
      at markResourceTiming (/tmp/million@latest--bunx/node_modules/million/packages/cli/dist/index.js:12909:9)
      at finalizeAndReportTiming (/tmp/million@latest--bunx/node_modules/million/packages/cli/dist/index.js:12899:7)
      at processResponseEndOfBody (/tmp/million@latest--bunx/node_modules/million/packages/cli/dist/index.js:12843:79)
      at /tmp/million@latest--bunx/node_modules/million/packages/cli/dist/index.js:13222:46
│
└  ✓  You're all set!

ar06@REDACTED:~/documents/Projects/vite-project$

The vite.config.ts is not modified because of this error and a manual install needs to be performed instead.
What's the expected result?
For the MillionJS Cli (via Bun) to install MillionJS and set it up automatically within my project.
Link to Minimal Reproducible Example
https://codesandbox.io/p/devbox/hidden-snow-xkj826?file=%2FREADME.md
Participation

[ ] I am willing to submit a pull request for this issue.

Thank you very much for sharing this @ar065, let me check it out.

Can you possibly check this out @Aslemammad? It seems there's an unavailable method that is causing the error. I can pick it up as well if you want.

Sure, please assign me!

#967 should fix it


Laravel 7

Is there a way to get this work on Laravel 7?
I get these errors =>
Your requirements could not be resolved to an installable set of packages.
Problem 1
- djoudi/laravel-h5p 1.0.x-dev requires laravel/framework 5.7.* -> found laravel/framework[v5.7.0, ..., 5.7.x-dev] but it conflicts with your root composer.json require (^7.0).
- djoudi/laravel-h5p 1.0 requires laravel/framework 5.5.* -> found laravel/framework[v5.5.0, ..., 5.5.x-dev] but it conflicts with your root composer.json require (^7.0).
- Root composer.json requires djoudi/laravel-h5p ^1.0 -> satisfiable by djoudi/laravel-h5p[1.0, 1.0.x-dev].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.

not support yet
i try to add it later

Can I support you? @djoudi

@githubwyllie
sure thanks

It is ready now?
I using Laravel 7 and i cant not install it
can help me please


[Enhancement] Optimize display of explain costs

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Problem Summary(Required) ：

Add explain information of ExchangeNode and TableFunctionNode
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:heart_eyes: pass : 22 / 24 (91.67%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/ExchangeNode.java
17
19
89.47%
[213, 214]

:large_blue_circle:
com/starrocks/planner/TableFunctionNode.java
5
5
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

run starrocks_fe_unittest

[FE PR Coverage Check]
:heart_eyes: pass : 22 / 24 (91.67%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/ExchangeNode.java
17
19
89.47%
[213, 214]

:large_blue_circle:
com/starrocks/planner/TableFunctionNode.java
5
5
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test


RunAndroid: startServerInNewWindow() issue in fresh project.

Fresh created project with react-native init.
If running "npm run start PORT=8081" or  "react-native start" and thereafter  "run-android"  in another node.js command prompt window, it works fine.
When running  "react-native run-android", it should open Node.js server in new window, but gives following error.

Something needs to be fixed, maybe PATH environment variable.

//package.json
{
"name": "TestPro2",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.5.0",
"react-native": "^0.57.0"
},
"devDependencies": {
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.48.0",
"react-test-renderer": "16.5.0"
},
"jest": {
"preset": "react-native"
}
}

Looks like adb isn't in your PATH.

It's there. Checked!
On Wed, Oct 10, 2018 at 1:27 PM jamsch<EMAIL_ADDRESS>wrote:

Looks like adb isn't in your PATH.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/21605#issuecomment-428474233,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ap9RQrgWLNKEE4mCjfe-Ylx0UxRE8HfTks5ujah4gaJpZM4XTYVZ
.


Start libGDX game from  IOS UIView - How?

Start libGDX game from  IOS UIView - How?
pls help me.
I need to add libgdx to my ios app instead of starting the game

https://github.com/libgdx/libgdx/wiki/Issue-Tracker


Add signout component to aws-amplify-react

This is a feature request: when creating a custom UI you can reuse a lot of existing components normally used in the greeter such as SignIn and SignUp. It would be very practical if there was a Signout component as well. At the moment all the logout logic is hardwired in Greetings, which also insists on adding a navbar-structure around the logout button making it unusable in your own UI.
My current workaround is a bit ugly, but effective:
class App extends React.Component {
  render() {
    return (
      <button onClick={this.handleLogout}>Logout</button>
    );
  }

  handleLogout = () => {
    const {authState, authData} = this.props;
    const greetings = new Greetings({
      authState,
      authData,
      onStateChange: this.handleAuthStateChange,
    });
    greetings.signOut();
  }
}

This might help: https://github.com/richardzcode/Journal-AWS-Amplify-Tutorial/tree/master/step-02#4-greetings

@wichert I worked around this using Auth.signOut directly:
import { Auth } from 'aws-amplify'
...
try {
   await Auth.signOut()
   // signout success
}
catch(e) {
   // signout failed
}

I believe this one can be closed as SignOut component is available now.


Alter nlppipe.py file to allow Keras Tokenizer to handle tokenization

It seems that by using spacy, there are a lot of weird things you have to work around (mostly referring to hashes that are created). Instead of doing tokenization through spacy, perhaps we can use spacy to alter the input text in the way that we need to, writie the text back to a list of altered text, and then use Keras's Tokenizer to handle the rest of the work.
This may reduce the amount of time it takes to run the tokenizer.

Progress
import spacy
from keras.preprocessing.text import Tokenizer
from sense2vec import Sense2VecComponent

class NlpPipeline:

    def __init__(self, texts, num_threads=4, batch_size=1000, merge=False, token_type="lower",
                 only_keep_alpha=True, skip_token="<SKIP>", sos_token="<START>", eos_token="<END>"):
        """Summary

        Args:
            texts (TYPE): Python list of texts
        """
        self.texts = texts
        self.nlp = spacy.load("en_core_web_lg")
        self.num_threads = num_threads
        self.batch_size = batch_size
        self.merge = merge
        self.token_type = token_type

        # Tokens that we will skip will be replaced with this
        self.skip_token = skip_token
        # Start of sentence token - Notice the space
        self.sos_token = " "+sos_token
        # End of sentence token - Notice the space
        self.eos_token = " "+eos_token

        # Only keep alphanumeric tokens, otherwise, skip
        self.only_keep_alpha = True

    def process_texts(self):
        """Transform the texts in the way that we would like to. This
        will return another list of texts, but altered/cleaned in the way we would like
        """
        # If we want to merge phrases, we add s2v component
        # to our pipe and it will do it for us.
        if self.merge:
            s2v = Sense2VecComponent('reddit_vectors-1.1.0')
            self.nlp.add_pipe(s2v)

        # Array to hold new versions of texts
        self.tokenized_texts = []

        for row, doc in enumerate(self.nlp.pipe(self.texts, n_threads=self.num_threads, batch_size=self.batch_size)):
            temp_text = ""
            for sentence in doc.sents:
                # Add start of sentence token
                temp_text += self.sos_token

                for token in sentence:
                    # delete punctuation if we need to.
                    if token.is_punct and self.only_keep_alpha:
                        pass
                    # Also skip emails or urls
                    elif token.like_email or token.like_url:
                        temp_text += " " + self.skip_token
                    else:
                        if self.token_type=="lower":
                            if " " in token.lower_:
                                temp_text += " " + token.lower_.replace(" ", "_")
                            else:
                                temp_text += " " + token.lower_
                        elif self.token_type=="lemma":
                            if " " in token.lemma_:
                                temp_text += " " + token.lemma_.replace(" ", "_")
                            else:
                                temp_text += " " + token.lemma_
                        elif self.token_type == "original":
                            if " " in token.text:
                                temp_text += " " + token.text.replace(" ", "_")
                            else:
                                temp_text += " " + token.text
                        else:
                            if " " in token.orth_:
                                temp_text += " " + token.orth_.replace(" ", "_")
                            else:
                                temp_text += " " + token.orth_

                temp_text += self.eos_token

            self.tokenized_texts.append(temp_text)

        return self.tokenized_texts

    def tokenize(self):
        T = Tokenizer(lower=False, filters='')
        T.fit_on_texts(self.tokenized_texts)
        idx_data = T.texts_to_sequences(self.tokenized_texts)
        word_to_idx = T.word_index
        idx_to_word = {v: k for k, v in word_to_idx.items()}
        doc_lengths = [len(x) for x in idx_data]

        freqs = []
        for i in range(1, len(idx_to_word)+1):
            word = idx_to_word[i]
            freqs.append(T.word_counts[word])

        return idx_data, word_to_idx, idx_to_word, freqs, doc_lengths

Found 20% Speedup using this method (unsure about memory usage). Still need to fix dataframe batch writing within the utils file...that should speed this up even more.

Implemented in latest version. Closing.


Add option to build link from x-forwarded headers

When the application using scrivener is being served by some proxy the generated link header can contain wrong values.
This PR adds an option to Scrivener.Headers.paginate for taking into account request x-forwarded headers for generating the link response header. The default behavior remains that of only using conn for building it.
If you think is worth to add this feature I will also add it to documentation

I just see #8, as suggested ther I think it's better to pass the use_x_forwarded option to paginate in a keyword list of options. I will do the change if you think the feature can enter.


Ajustments on options and add intent label

Threshold option score
Fallback message option
Intent label on candidates

Would you mind write some tests against the new features and adjust the compliance with StandardJs to avoid the tests get failed?
Thanks for the contribution 👍


unknown component type ...

unknown component type at "$.components.parameters.foo". fallback to include.
unknown component type at "$.components.schemas.foo". fallback to include.

Does this package not support / understand non-generated OAPI components?

@braco I've published 0.5.2, please confirm the problem is fixed.


HttpClient - related memory leak fixture

HttpClient is created everytime LivenessRunner is what causes leak of objects that .Net Core stores internally. It should be created once in static constructor.

Done

thanks

publishing new package


Rename to

Reason for change
Renames component to <manifold-plan-table>, from a convo in #product today about the decision.
It still loads! Which is probably a good sign

Testing
Everything should pass except VRT

Still trying to fix VRT. It’s not apparent but getting closer! But I’ll have to merge this & rename the GitHub repo before we fully fix it.


Unable to link folder

Hi,
Thanks for a great plugin!  I just started using it, and it comes close to filling an important need for me!
One feature that it seems was thought of, but doesn't appear to work for me, is linking to a folder and not a file.
Maybe I misunderstand how it is supposed to work ... is it possible to link to only a folder, without having to select a file?
Right now, when I execute the "Add File Link" command, I get a dialog that has a "Link Folder" check box, but if I select it, I still have to select a file (the name for which becomes the text of the link).  It doesn't seem possible to select a folder.  (I am on Windows 10.)
In addition, after selecting the file, it doesn't put the correct folder in the link.  It puts the parent folder of the file's folder as the link.
For example, if I select c:\Users\sean.kirkby\OneDrive - Personal\Documents\Projects\projects-index.md, the link will be inserted like this:
      [projects-index](file:///C%3A%2FUsers%2Fsean.kirkby%2FOneDrive%2FDocuments)

It misses adding the "Projects" folder in the path, and uses the selected filename as the text (rather than the folder name).
I think the idea is on-track, but doesn't seem to work. My use case is:  I typically need to put a link to a local projects folder that contains other material for the project accessed by other services, and I'd love to just have a link that opened the related folder from an index/MOC note in Obsidian.  Hosting the project folder for a project in the Obsidian vault isn't an option.
Thanks again for an awesome plugin!

Hi everyone,
it seems to me that this is a limitation of the native file selection menu. If anyone knows whether a folder selection is possible with the native file selection menu, please let me know or open a pull request with a fix.
I don't know how one could get around this limitation without having to rewrite the entire file selection menu from scratch.

closed by #13


How you deal with react-refresh?

Dear Wellyshen, In my project I updated the Webpack to the higher version, and also I used webpack-hot-server-middleware and I have server-build and everything works well, but I lost react-refresh. how you deal with the react-refresh issue?
Because it has some issues with Webpack 5.

@amerllica Thank you for telling me about this issue, I'm facing this issue too. I will spend time investigating it, if you have a solution please share with me.

@amerllica Yo bro, here's a temporary workaround for this issue, see #1065

@wellyshen Really thanks, I will upload my changes in another repo with fork of your repo, to show you how I made it, actually my friend Saeed Padyab helped me a lot. I will review this issue, thanks bro.

@amerllica Nice thank you for that 😎

@wellykkstream, Please re-open the issue, the HRM was working awesome for my implementation, I was talking about fast-refresh. it is like HRM but it is faster also it keeps the state. But HRM doesn't.
for example add an input HTML tag to a component, then in the browser type something and go back to the IDE and add a div tag with your name, then comeback to browser, if the input text disappear it means the fast-refresh is not working.
Also you can test it with useState and a plus number, with change the counter number shouldn't change.

@amerllica Will you show me the solution for the setup of react-fresh with SSR bundle?

@wellyshen, My entire SSR solution is different from your implementation, I used webpack-hot-server-middleware and the react-refresh works well in it. My base configuration is on the latest version of RCS before your new SSR.
If you want I can make a SandBox or a TempRepo to show you my codes. I didn't add additional settings.

@amerllica Do you think it's a good choice to tweak this starter for the react-fresh based your configuration? By the way, I have tested Next.js, react-refresh fails on it too.

@wellyshen, I hate Next.js, really.
I think it could be a good approach to test my configuration. and then prepare yours with mine. and then choose what's better.
 Can you show me your configuration first? I will take take to see it.

@wellyshen, it is not on GitHub, it's on BitBucket and it is private, if you want come here, I'm live now. I can show you my codes by using screen sharing.

@amerllica I won't see it now (because I'm eating). Maybe you can show me some code snippets when you have time.

@wellyshen, Showing code snippets need preparing. finish your eating, take rest, whenever you want, call me on WhatsApp or come here: https://meet.google.com/isf-wcxy-bqh then I can share my screen and show you what I did.

@amerllica I will find a day to book your time for it. Thanks bro.


Use the same logger for Restore and other targets

Currently when AddBinaryLogger is used, a binlog is created for the Restore, but then it's plowed over by the build of the remaining targets.
However, the behavior we want is the same as when using msbuild /restore /bl (note the /restore and not /t:Restore) which does a restore in a separate build session as the rest, but still shares the same logger.
Example of what it should look like:

I suspect this is still a problem in 2.x because I'm still performing restore in a separate MSBuild submission and attaching the binary logger to it and then the main build (even though it's out-of-process now). I can't find the /restore switch documented anywhere though. It would simplify things a bit if I could use it, but I don't want to rely on an unofficial flag that might get removed later. Any more insight into the /restore option?

Update: just remembered https://github.com/Microsoft/msbuild/pull/2414 which has information on the flag. Going to take a look at collapsing my separate restore submission into a single MSBuild invocation with the /restore flag.

It will still require 2 separate and serial builds in the BuildManager, but as long as you use the same loggers collection, it'll log to the same logger.
/restore is an official flag and can be considered a stable feature. In fact, I recommend generally adding it to your Directory.Build.rsp so that it just always happens and you don't have to type it every time (Directory.Build.rsp is a set of command-line switches added to every msbuild.exe command you run from the command-line).

It will still require 2 separate and serial builds in the BuildManager, but as long as you use the same loggers collection, it'll log to the same logger.

I might be able to get away with just one now - in 2.x Buildalyzer was changed/simplified to fork msbuild.exe directly instead of going through the MSBuild APIs. I'm thinking because of that, I should be able to add the /restore switch and it'll just work (same way it would work if running MSBuild directly from the CLI).
Giving it a shot now. If it works, it'll simplify some other stuff too in addition to fixing this logger problem since I won't have to deal with an explicit restore target and managing a separate submission.


We should count the rcpnl files and adjust the marker csv

I noticed that some images get stopped earlier and they do not match the "marker.csv" anymore.
@ArtemSokolov Suggestion: Would it be possible to count the amount of rcpnl files and double check with the length of the csv file? Should I create a separate python script or include this into nexflow?

This can be done as a single nextflow line. Can you link a folder with .rcpnl files that I can use as an example for testing?

The number of rcpnl files alone may not be enough information for your intended application since rcpnl files can sometimes have 4 or 5 channels.

Can throw a warning if number of lines in markers.csv is not a multiple of 4 or 5 relative to the number of .rcpnl files. Having it a warning won't prevent the pipeline from running, but would alert the user that there may be a discrepancy.

sorry, @ArtemSokolov . I was just using 4 and 5 as an example. It currently will be 4 or 5 which will be a helpful now, but as technology progresses, this number will increase. (aka someone else's problem)

Can throw a warning if the number of lines in markers.csv and the number of rcpnl files are relatively prime? HAHA.

Let's do it at stage where it matters: Let's check the amount of layers in the tiff stack and compare it to the csv file?

Example: /n/scratch2/ds230/Z170/12

If the check requires inspection of the file content (rather than the number of files), then I would say nextflow is not the appropriate place for it.
If you want to inspect a .tiff file, can we bake this check into the QC module that we talked about writing (e.g., before it starts comparing DNA channels across cycles)?

@jmuhlich Is there a way to include the names into the ome.tiff? That would pretty much solve all the issues with the mismatch of channels. Is this something on the horizon?


[SPARK-40577][PS] Fix CategoricalIndex.append to match pandas 1.5.0

What changes were proposed in this pull request?

The PR proposes to fix CategoricalIndex.append to match the behavior with pandas.
Why are the changes needed?

Because the current behavior is different from pandas 1.5.0.
Does this PR introduce any user-facing change?

The behavior of API is changed as below:
Before
>>> psidx1 = ps.CategoricalIndex(["x", "y", "z"], categories=["z", "y", "x", "w"])
>>> psidx3 = ps.Index(["y", "x", "w", "z"])
>>> psidx1.append(psidx3.astype("category"))
CategoricalIndex(['x', 'y', 'z', 'y', 'x', 'w', 'z'], categories=['z', 'y', 'x', 'w'], ordered=False, dtype='category')

After
>>> psidx1 = ps.CategoricalIndex(["x", "y", "z"], categories=["z", "y", "x", "w"])
>>> psidx3 = ps.Index(["y", "x", "w", "z"])
>>> psidx1.append(psidx3.astype("category"))
CategoricalIndex(['x', 'y', 'z', 'x', 'y', 'z', 'w'], categories=['z', 'y', 'x', 'w'], ordered=False, dtype='category')

How was this patch tested?

Manually check the existing test is passed with pandas 1.5.0.

Merged to master.

Merged to master.

@HyukjinKwon  this PR seems not merged?

oops


Deploy docs to . (the doctr default is docs)

You'll need to delete the docs directory from gh-pages manually.

Also, once this works, feel free to add this to https://drdoctr.github.io/doctr/#projects-using-doctr (if you want), and suggestsions/improvements to our docs are welcome too.

You'll need to delete the docs directory from gh-pages manually.

No problem. Will do it later.

Also, once this works, feel free to add this to https://drdoctr.github.io/doctr/#projects-using-doctr (if you want), and suggestions/improvements to our docs are welcome too.

Will do.

That looks better.

Also remember to delete the old deploy key from your other script.

That looks better.

So easy... Wish I tried doctr sooner.

Also remember to delete the old deploy key from your other script.

Done!


Add Discard action to scheduled jobs

This is adding the ability to discard a scheduled job. This is useful when a job is no longer needed and you want to remove it from the queue.
Closes https://github.com/basecamp/mission_control-jobs/issues/58

I'll add tests if this covers what you expected.
Also, we can add a button to discard all, can it be part of the same PR?

@JuanVqz awesome! Thanks a lot! This is perfect.

Also, we can add a button to discard all, can it be part of the same PR?

Yes, good idea! 👍🏻

@JuanVqz awesome! Thanks a lot! This is perfect.

Also, we can add a button to discard all, can it be part of the same PR?

Yes, good idea! 👍🏻

Hey @rosa thanks for the quick response, I'll do the discard all in a different PR,  discovered the bulk discards controller is kind of tied to the failed status.
I already added an assertion  for the discard button, making this ready to be reviewed, 👍

Thanks a lot @JuanVqz, there are just two small style details around whitespace to fix before merging this one 🙏

Fixed, would you be interested in adding overcommit to ensure everybody runs Rubocop before pushing it to the repo?

Fixed, would you be interested in adding overcommit to ensure everybody runs Rubocop before pushing to the repo?

I think it's ok, we run it here via GitHub actions like this. In fact this one is still failing.

Looks like the last changes haven't been pushed 😕

I pushed but never went out my cable, now it should be good, thanks!


remark@next (13)

Hi!
remark is switching to a new parser internally (micromark, see remarkjs/remark#536 for more info).
From a quick glance at the code, it seems this plugin should be fine. However, it would be good to check that in the future (there is 13.0.0-alpha.0 published now, and one or two more will come before the release)

Cool. It works well, according to the github actions. Thank you for your notice.

Perfect!


Update README.md

added covid19 tracker dashboard details in Dashboard section

commas look weird, please fix this 😄

@puf17640 whats wrong in it????

it's not how they look, the placement is wrong.
40,26,993 should actually be 4,026,993

fixed it.

cool!


[enh] Improve the help message for cardano-cli transaction

Internal/External
Internal   if an IOHK staff member.
Area
Other   Any other topic (Delegation, Ranking, ...).
Summary
Steps to reproduce
Steps to reproduce the behavior:

execute "cardano-cli transaction"

Usage: cardano-cli transaction (COMMAND | COMMAND | COMMAND | COMMAND |
                                 COMMAND | COMMAND | COMMAND | COMMAND)
  Shelley transaction commands
```

**Expected behavior**
- this is not a Shelley specific command so the `Shelley` keyword might be unnecessary
- the COMMAND keywords should be replaced with the correct values

**System info (please complete the following information):**
```
cardano-cli 1.24.2 - linux-x86_64 - ghc-8.10
git rev 400d18092ce604352cf36fe5f105b0d7c78be074
```

This has been fixed in:
cardano-cli 1.24.2 - linux-x86_64 - ghc-8.10
git rev a8a07facff85982d3e82593a6e68025627fdfe51


How can I debug the plugin?

There are some strange issues, some my OpenAPI files are not properly handled  by Spectral plugin, problems view is stuck and is not updated if I make changes... I cannot find the pattern. Swagger-cli and idea OpenAPI plugin handle this file properly.
How can I see logs of Spectral plugin or debug output to nail down the issues?

Hi @anikitin sorry for the late reply.
I just opened a PR for v1.0.7 of the plugin that includes detailed logging. You can follow the description in the readme on how to look at the logs once it's released.


RFC: Provide install script

Multiplier is using weggli-native in a CMake project via Corrosion, which works well enough as for now.
The issue is that if Multiplier is used as a library and weggli-native is exposed as a transitive dependency, everything breaks.
I created a script that can be used to install the library and the generated header to a chosen directory, together with a CMake config module that allows users to find the library by doing find_package(weggli_native).
I'm open to hearing different approaches

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

Can you give me more details about what you have in mind?

I had something like uthenticode's CMake build in mind: https://github.com/trailofbits/uthenticode
In particular, we use CMake's install and export directives to copy everything, and to auto-generate a CMake user config:
install(
  TARGETS "${PROJECT_NAME}"
  EXPORT uthenticode-targets
  RUNTIME DESTINATION "bin"
  LIBRARY DESTINATION "lib"
  ARCHIVE DESTINATION "lib"
  PUBLIC_HEADER DESTINATION "include"
)
export(
  TARGETS "${PROJECT_NAME}"
  NAMESPACE uthenticode::
  FILE "${CMAKE_CURRENT_BINARY_DIR}/uthenticode-targets.cmake"
)
install(
  EXPORT uthenticode-targets
  DESTINATION "lib/cmake/uthenticode"
  NAMESPACE uthenticode::
  EXPORT_LINK_INTERFACE_LIBRARIES
)
install(FILES uthenticode-config.cmake DESTINATION "lib/cmake/uthenticode")

Ok so here is how far I was able to get:
cmake_minimum_required(VERSION 3.19)

project(weggli_native)

if(NOT ((CMAKE_BUILD_TYPE STREQUAL "Release") OR (CMAKE_BUILD_TYPE STREQUAL "Debug")))
    message(FATAL_ERROR "Only Debug and Release builds are supported")
endif()

find_program(CARGO "cargo" REQUIRED)
find_program(CBINDGEN "cbindgen" REQUIRED)

if(CMAKE_BUILD_TYPE STREQUAL "Release")
    set(CARGO_PROFILE "release")
else()
    set(CARGO_PROFILE "dev")
endif()

string(TOLOWER "${CMAKE_BUILD_TYPE}" TARGET_DIR)

add_custom_target(cargo_build
    COMMAND "${CARGO}" build --profile "${CARGO_PROFILE}"
    WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")

add_custom_command(
    OUTPUT "${CMAKE_BINARY_DIR}/weggli.h"
    COMMAND "${CBINDGEN}" ARGS -o "${CMAKE_BINARY_DIR}/weggli.h"
    MAIN_DEPENDENCY cargo_build)

add_library(weggli::weggli_native-static STATIC IMPORTED)
add_dependencies(weggli::weggli_native-static cargo_build)
set_target_properties(weggli::weggli_native-static
    PROPERTIES
        PUBLIC_HEADER "${CMAKE_BINARY_DIR}/weggli.h"
        IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/target/${TARGET_DIR}/libweggli_native.a")

add_library(weggli::weggli_native-shared STATIC IMPORTED)
add_dependencies(weggli::weggli_native-shared cargo_build)
set_target_properties(weggli::weggli_native-shared
    PROPERTIES
        PUBLIC_HEADER "${CMAKE_BINARY_DIR}/weggli.h"
        IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/target/${TARGET_DIR}/libweggli_native.dylib")

install(
    TARGETS weggli::weggli_native-static weggli::weggli_native-shared
    EXPORT weggli_native-targets
    RUNTIME DESTINATION "bin"
    LIBRARY DESTINATION "lib"
    ARCHIVE DESTINATION "lib"
    PUBLIC_HEADER DESTINATION "include")

problem is, imported targets cannot be installed...

This last CMake file is the best I could come up with. I think it's good, but it's not perfect, as the weggli_native-config.cmake file is hardcoded with the CMAKE_PREFIX_PATH inserted during configuration, so it doesn't work properly if another path is passed to cmake --install

Looks pretty good to me. If you're okay with the minor caveat around CMAKE_PREFIX_PATH we can merge for now, and try to come up with a better workaround later.
(We should also look into testing this build in the CI to ensure that we don't accidentally break it, but we that can be another follow-up task for another time.)

Yes I think it's sufficient for my uses right now. Things for the future:

Windows probably doesn't work like this, as it needs both a .lib and a .dll file for dynamic libraries
CMAKE_PREFIX_PATH is hardcoded
Needs testing


Continuous color scale defunct after 0.3.0

In the upgrade from 0.2.2 to 0.3.0 the ability to supply a custom continuous color scale was lost. The following works as expected, and as demoed on medium (https://medium.com/@plotlygraphs/introducing-plotly-express-808df010143d), in 0.2.2, but not in 0.3.0 and 0.3.1.:
import plotly_express as px
print(f"Plotly express version is {px.__version__}")
gapminder = px.data.gapminder()
px.choropleth(gapminder.query("year == 2007"),
              locations='iso_alpha',
              color='lifeExp',
              projection='natural earth',
              color_continuous_scale=px.colors.sequential.Plasma
             )

This is working fine on my end, and in the docs (check the version number at the bottom of the page here https://www.plotly.express/ )
Can you confirm which version of plotly you're running with print(plotly.__version__) ?

Thanks for getting back to me so soon! I have plotly version 3.10.0.


Create routes and test endpoints with Postman (share collection with all of us!)

Download Postman. Get the Postman App, not the web or desktop agent. They're a PITA IMO.
You can test endpoints using https://jsonplaceholder.typicode.com/, for example:
https://jsonplaceholder.typicode.com/todos/1

@mathcodes   I can create the backend part with  node , express and mongodb for login and  register  , please let me know if it useful or any other help you need?


[google_sign_in] ServerAuthCode returns null for iOS

In addition to basic sign in, I've been using the Google Sign In package for gaining access to additional scopes on the user such as 'https://www.googleapis.com/auth/userinfo.email' and 'https://www.googleapis.com/auth/adwords'. I am successfully able to obtain the ServerAuthCode on Android, however when the same piece of code outlined below is executed on iOS, I am receiving a null value.
I am currently still using the "Info.plist and GoogleServices.plist" method to pass in the various Google credentials into app. The client ID used is one that was "auto created by the Google Service".
Expected results:
Upon selecting an account to authenticate and consenting to some scopes, a ServerAuthCode is generated, which is sent to a backend API endpoint for further operations.
Actual results:
After selecting an account and consenting to the scopes, the ServerAuthCode returns as null, which subsequently makes operations in the backend API endpoint fail.

await googleSignIn.signOut();
final googleSignInAccount = await googleSignIn.signIn();

print(googleSignInAccount.serverAuthCode);

final linking = await http.post(
    Uri.parse(''),
    headers: {
      'Authorization': currentJwtToken
    },
    body: {
      "servertoken": googleSignInAccount.serverAuthCode,
      "email": currentUserEmail,
      "accessToken": "",
      "code": "",
      "redirect_uri": ""
    });

print(linking.body);

return jsonDecode(linking.body);

Hi @chowdud, thanks for filing the issue.
I tried to reproduce the issue but the ServerAuthCode is null for both Android and iOS from my side even though there was a fixed issue #57712. There is also a open PR https://github.com/flutter/plugins/pull/3356 that has been labeled for Android and iOS.
Could you please tell me what google_sign_in plugin version you are using?

Hi @huycozy, thanks for looking into this for me. I am currently using the following versions of the plugin:
google_sign_in: 5.4.0   google_sign_in_android: 6.0.1   google_sign_in_ios: 5.4.0   google_sign_in_platform_interface: 2.2.0   google_sign_in_web: 0.10.2

Hi @chowdud, thanks for confirming/
This issue is reproducible on the latest stable and master channels.
It also happens with plugin version: google_sign_in: ^5.4.1
flutter: serverAuthCode: null

Sample code
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// ignore_for_file: public_member_api_docs

import 'dart:async';
import 'dart:convert' show json;

import 'package:flutter/material.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:http/http.dart' as http;

GoogleSignIn _googleSignIn = GoogleSignIn(
  // Optional clientId
  // clientId: '479882132969-9i9aqik3jfjd7qhci1nqf0bm2g71rm1u.apps.googleusercontent.com',
  scopes: <String>[
    'email',
    'https://www.googleapis.com/auth/contacts.readonly',
  ],
);

void main() {
  runApp(
    const MaterialApp(
      title: 'Google Sign In',
      home: SignInDemo(),
    ),
  );
}

class SignInDemo extends StatefulWidget {
  const SignInDemo({Key? key}) : super(key: key);

  @override
  State createState() => SignInDemoState();
}

class SignInDemoState extends State<SignInDemo> {
  GoogleSignInAccount? _currentUser;
  String _contactText = '';

  @override
  void initState() {
    super.initState();
    _googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount? account) {
      setState(() {
        _currentUser = account;
      });
      if (_currentUser != null) {
        _handleGetContact(_currentUser!);
      }
    });
    _googleSignIn.signInSilently();
  }

  Future<void> _handleGetContact(GoogleSignInAccount user) async {
    setState(() {
      _contactText = 'Loading contact info...';
    });
    final http.Response response = await http.get(
      Uri.parse('https://people.googleapis.com/v1/people/me/connections'
          '?requestMask.includeField=person.names'),
      headers: await user.authHeaders,
    );
    if (response.statusCode != 200) {
      setState(() {
        _contactText = 'People API gave a ${response.statusCode} '
            'response. Check logs for details.';
      });
      print('People API ${response.statusCode} response: ${response.body}');
      return;
    }
    final Map<String, dynamic> data = json.decode(response.body) as Map<String, dynamic>;
    final String? namedContact = _pickFirstNamedContact(data);
    setState(() {
      if (namedContact != null) {
        _contactText = 'I see you know $namedContact!';
      } else {
        _contactText = 'No contacts to display.';
      }
    });
  }

  String? _pickFirstNamedContact(Map<String, dynamic> data) {
    final List<dynamic>? connections = data['connections'] as List<dynamic>?;
    final Map<String, dynamic>? contact = connections?.firstWhere(
      (dynamic contact) => contact['names'] != null,
      orElse: () => null,
    ) as Map<String, dynamic>?;
    if (contact != null) {
      final Map<String, dynamic>? name = contact['names'].firstWhere(
        (dynamic name) => name['displayName'] != null,
        orElse: () => null,
      ) as Map<String, dynamic>?;
      if (name != null) {
        return name['displayName'] as String?;
      }
    }
    return null;
  }

  Future<void> _handleSignIn() async {
    try {
      final account = await _googleSignIn.signIn();
      print('serverAuthCode: ${account?.serverAuthCode}');
    } catch (error) {
      print(error);
    }
  }

  Future<void> _handleSignOut() => _googleSignIn.disconnect();

  Widget _buildBody() {
    final GoogleSignInAccount? user = _currentUser;
    if (user != null) {
      return Column(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: <Widget>[
          ListTile(
            leading: GoogleUserCircleAvatar(
              identity: user,
            ),
            title: Text(user.displayName ?? ''),
            subtitle: Text(user.email),
          ),
          const Text('Signed in successfully.'),
          Text(_contactText),
          ElevatedButton(
            onPressed: _handleSignOut,
            child: const Text('SIGN OUT'),
          ),
          ElevatedButton(
            child: const Text('REFRESH'),
            onPressed: () => _handleGetContact(user),
          ),
        ],
      );
    } else {
      return Column(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: <Widget>[
          const Text('You are not currently signed in.'),
          ElevatedButton(
            onPressed: _handleSignIn,
            child: const Text('SIGN IN'),
          ),
        ],
      );
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Google Sign In'),
        ),
        body: ConstrainedBox(
          constraints: const BoxConstraints.expand(),
          child: _buildBody(),
        ));
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.5 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (9 hours ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.69.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.44.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 103.0.5060.114

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.2479, on macOS 12.5 21G72 darwin-x64, locale en-EE)
    • Flutter version 3.1.0-0.0.pre.2479 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5217f89dcf (31 minutes ago), 2022-08-24 20:27:42 -0700
    • Engine revision 4e89793ac3
    • Dart version 2.19.0 (build 2.19.0-135.0.dev)
    • DevTools version 2.16.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.70.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.5 21G72 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 104.0.5112.101

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Same problem here:
flutter version 3.3.2
google_sign_in: ^5.4.1
Is there maybe a workaround?

Same problem here I'm using google_sign_in: ^5.4.2 for android I am getting the server auth code but in iOS serverAuthCode returns.
Is there any solution?

@ashwani1406 Refer to my comment about the workaround.

@huycozy Hi, are there any updates about this issue?

@chowdud Does your GoogleServices-Info.plist contain a SERVER_CLIENT_ID entry?
A few answers in this StackOverflow thread mention that it is required for a serverAuthCode.

@blaugold I think I've tried something similar to what you've outlined, but it didn't help. Did it work for you?

I'm not having with this issue myself. I just stumbled over it because of something unrelated and vaguely remembered that I had a different issue that came down to the fact that the GoogleServices-Info.plist provided by Firebase did not contain a SERVER_CLIENT_ID but the config file for Android did.

Any updates about this issue?

Any updates about this issue?

Yes, Just add the SERVER_CLIENT_ID  in GoogleServices-Info.plist

Thank you! It seems to work now for me
And this stackoverflow comment helped a lot: https://stackoverflow.com/a/30880417/19925286
You actually have to enter the SERVER_CLIENT_ID in GoogleServices-Info.plist and the value for that is the OAuth 2.0 "Web Client ID" found here https://console.cloud.google.com/apis/credentials


Fix logs description typo

What does this PR do?
Fix logs description typo.
Motivation
https://github.com/DataDog/integrations-core/pull/9739#discussion_r675645995
Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Oh specs too

Per checking, no spec.yaml needed to be changed. Only had to change the main logs template and the rest followed after sync.
https://github.com/DataDog/integrations-core/pull/9764/files#diff-dda1a34e0be34adfa2ec36c12ee90823b7de45303c213bc999943dbf2bb28c3dR9

ddev validate dep changed
File `/home/vsts/work/1/s/pan_firewall/setup.py` missing base check dependency `CHECKS_BASE_REQ`


Realm App

This is https://github.com/realm/realm-object-store/pull/919 rebased onto the v10 branch.

@cmelchior PTAL


Updated mipi_dbi.rst with a newline to display the list correctly

This was fixed by an example from another doc
Resolves #70936

Hi, i see the errors, will fix them soon.

Hi, @danieldegrasse, please take a look.


SQL Server container improvements regarding licensing

From how I understand SQL Server's docker container licensing, there are two things that need to be provided to the docker image:

ACCEPT_EULA=Y
MSSQL_PID=<your_product_id | edition_name> (default: Developer)

The current approach of having to place an image name in a static file is a bit clunky and doesn't cover the above sufficiently

I don't want to run SQL Server using a Developer edition license. I prefer the Express Edition. I guess I can use withEnv("MSSQL_PID", "Express") but it would be nice if I had an enum to choose from with API placed directly on MSSQLServerContainer
The Db2Container has an acceptLicense() method, which I think would be nicer than this file on the classpath. Especially, because I'd like to run integration tests using different images of SQL Server, but from the same Maven project, so I cannot easily reuse this file without a build preprocessing step that writes the image name into the file prior to starting the integration tests.

See:
https://hub.docker.com/_/microsoft-mssql-server#environment-variables

For your second comment I have a PR open to add an acceptLicense method to the SQL Server container here: https://github.com/testcontainers/testcontainers-java/pull/2085
Just need a review :D

@KyleAure if only review :) There are some legal implications that we need to review to be very careful about not breaking any license or anything :)

The Db2Container has an acceptLicense() method

the Db2Container was contributed by IBM's employee who assured us that the method is fine from legal PoV.
I will try to find someone from Microsoft (cc @jdubois) to confirm whether it is okay for MSSQL or not 👍

the Db2Container was contributed by IBM's employee who assured us that the method is fine from legal PoV.

Hah, right. We entrepreneurs are all with one foot in prison...

I'm not a lawyer, but on https://hub.docker.com/_/microsoft-mssql-server the license part looks pretty clear to me:
By passing the value "Y" to the environment variable "ACCEPT_EULA", you are expressing that you have a valid and existing license for the edition and version of SQL Server that you intend to use. You also agree that your use of SQL Server software running in a Docker container image will be governed by the terms of your SQL Server license.

I believe it's pretty clear that anybody using SQL Server needs a license, as it's not OSS, so this shouldn't come as a surprise to anybody.

I believe it's pretty clear that anybody using SQL Server needs a license, as it's not OSS, so this shouldn't come as a surprise to anybody.

By using OSS, people also agree to the relevant license, even without such a 'Y' character being sent anywhere.

If the decision that needs to be made is between having a resource file to accept the license vs. having a programmatic method to accept the license.  Then I think we are in the clear either way.
We are acting as a proxy on behalf of the user to use a docker container in java. We are just passing their arguments to docker.  We are not making any decisions on the behalf of the user.  Therefore, a user calling the method acceptLicense() in their source code is equivalent to setting an environment variable, and just as traceable as having a resource file.  (though I also am not a lawyer)

I'm trying to add MSSQL Server to testcontainers spring-boot and noticed that the docs about the acceptLicense() in MSSQL Server: https://www.testcontainers.org/modules/databases/mssqlserver/ are a little bit ahead of the release ;-)
acceptLicense() is not included yet in 1.14.3, correct? I see the merge of @KyleAure PR has been done but it's for the incoming 1.15.X I believe...

Cross referencing https://github.com/testcontainers/testcontainers-java/pull/2085
This is a duplicate, right?

Correct, I believe this issue can be closed


ldAny bugged if params include macro-variables eg. PARAM_1@

As well as things like HIGH($4321).
I realised that I've over-complicated ldAny by checking for r8, n8 or [HL], and then realising I'd also need to check for LOW(r16), HIGH(r16) and more.
It should be easier to check for any square brackets instead.
There might still be an issue when passing certain strings baked in to macro-vars, but will be a cleaner anyway.

I think this is done, just need to double check


MBTiles output with Vector Tiles?

Hi there - I'd like to create an .mbtiles cache of vector tiles using dirt as an http source.
Dirt returns vector tiles with the following headers (amongst others):
Content-Type: application/x-protobuf
content-encoding: gzip

So I've tried
tilelive-copy http://dirtserver/mvt/v1/layer/{z}/{x}/{y} mbtiles:///path/to/cache.mbtiles

This works, however, it looks like that the output .mbtiles file does not have any format specified in the metadata table, and the the json definition of vector_layers is also missing - therefore the generated output cannot be used with e.g. [tileserver-gl] (https://github.com/klokantech/tileserver-gl) or tessera.
Is it possible to generate such an output?
If not - do you know any tool that makes this possible?
Cheers

tl is an alternative to tilelive-copy that includes a --info parameter that allows TileJSON to be provided (in a file). That's where the format, vector_layers, and everything else can be provided.
tl info mbtiles://./cache.mbtiles will output the existing TileJSON, which you can use as the basis for the augmented version. (You can copy from one MBTiles archive to another and add the --info option to avoid re-downloading if you already have a full cache. There should probably be a way to edit TileJSON directly, triggered by tl (or something), but that doesn't exist yet.)
You can also edit the MBTiles archive directly using sqlite3, but that's more complicated.
(tilelive-http can't produce the relevant portions of the TileJSON that you're missing, as it doesn't see enough metadata without an upstream TileJSON endpoint.)
If dirt produces TileJSON, you can point to that in place of the URL template and metadata will be copied down appropriately.


NIFI-5830 RedisConnectionPoolService does not work with Standal…

…one Redis using non-localhost deployment
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[Y] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message? NIFI-5830

[Y] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[Y] Has your PR been rebased against the latest commit within the target branch (typically master)?

[Y] Is your initial contribution a single, squashed commit?

For code changes:

[Y] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[N] Have you written or updated unit tests to verify your changes?
[N/A] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[N/A] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[N/A] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[N/A] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[Y] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Hi, I'm just checking should I fix/improve/explain anything more or not? Thx

Hey @javajefe - I just merged #3135, could you rebase this PR against master?

Done!
However, I see Travis-CI build failed and I can't believe that's because of my PR (the problem is in org.apache.nifi.dbcp.DBCPServiceTest and it looks like an integration test rather than unit test, anyway there is no relation between DBCPService and RedisUtils)

Changes make sense to me, reproduced the issue with a Docker instance and confirmed this PR fixes the issue when using a standalone Redis instance. +1, merging to master, thanks @javajefe


fix: bulk insert regular expression is too strict

This regularization is too strict, this leads to the failure of all the following cases:
insert into users(a,b) values(:a,:b)
insert into users(a,b) values (:a,:b)
insert into users(a,b) Values (:a,:b)
insert into users(a,b) VALUES(:a,:b)

So, I modified the regular expression, compatible with lowercase and space

Pull Request Test Coverage Report for Build 220

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 73.775%

Files with Coverage Reduction
New Missed Lines
%

named.go
2
79.78%

Totals

Change from base Build 218:
-0.1%

Covered Lines:
1204

Relevant Lines:
1632

💛  - Coveralls

Pull Request Test Coverage Report for Build 220

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 73.775%

Files with Coverage Reduction
New Missed Lines
%

named.go
2
79.78%

Totals

Change from base Build 218:
-0.1%

Covered Lines:
1204

Relevant Lines:
1632

💛  - Coveralls

:facepalm: went and made almost this exact change (minus a test) when you commented on it, would have merged if I'd seen the PR available.  For anyone else, this is tagged v1.3.3


Fix for #258 allow using list type hyperparameters

Hello @JohanMollevik! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file talos/utils/results.py:

Line 66:80: E501 line too long (132 > 79 characters)
Line 66:87: E231 missing whitespace after ','
Line 66:107: E231 missing whitespace after ','

Pull Request Test Coverage Report for Build 425

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

Totals

Change from base Build 424:
0.04%

Covered Lines:
1128

Relevant Lines:
1252

💛  - Coveralls

Thanks for making the PR. This was never merged as the push is away from all kinds of custom formatting codes as much as it is possible.


Windows: Update stackdump event name

Signed-off-by: John Howard<EMAIL_ADDRESS>Doing a blanket update of the event name for consistency across docker, containerd, containerd-shim-runhcs-v1 and docker-signal to make life a lot easier and less typing.
@jterry75 PTAL
Associated PRs: https://github.com/moby/moby/pull/38741, https://github.com/Microsoft/hcsshim/pull/480

LGTM

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3024   +/-   ##
=======================================
  Coverage   43.96%   43.96%
=======================================
  Files         102      102
  Lines       10881    10881
=======================================
  Hits         4784     4784
  Misses       5362     5362
  Partials      735      735

Flag
Coverage Δ

#linux
47.58% <ø> (ø)
:arrow_up:

#windows
41.18% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Make UserMenu match DSM

Fixes PXBLUE-1899.

Changes proposed in this Pull Request:

Update InfoListItem typography variants to match DSM
Make UserMenu match DSM

What about the font colors for the icons and the text, are those matching the DSM?

Good catch! I was so focused on typography stuff that I didn't even question the colors. I'll update those to match.

Changes look good, I'm just trying to verify the colors in your screenshot. The icon is gray[500] and the text is black[500] right?

Changes look good, I'm just trying to verify the colors in your screenshot. The icon is gray[500] and the text is black[500] right?

Correct.


WIP: Tuning with sweep

Still in the debugging phase of implementing wandb.

Hyperparameter Tuning Implementation Using W&B Sweeps
Summary:
This PR introduces hyperparameter tuning capabilities for the CMAP project using Weights & Biases (W&B) sweeps. The changes allow users to efficiently explore various model configurations and optimize training processes directly through W&B and SLURM-based workflows.
Changes Introduced:

W&B Sweep Integration:

Added functionality to define and run W&B sweeps using the sweep_config.yml file located in the configs directory.

Integrated W&B sweep logic in the training pipeline, supporting distributed sweep agents with SLURM.

New Scripts and Configurations:

configs/sweep_config.yml: Configuration for W&B sweep specifying parameters to tune (e.g., learning rate, batch size, augmentation settings).

sweep.job: SLURM job script to launch W&B agents for conducting sweeps across multiple trials.

Enhanced Training Script:

Updated train.py to support W&B sweeps, including run_trials() and one_trial() functions.

Added logging for key metrics like average_test_jaccard_index to ensure they are visible in the W&B dashboard.

Added argument parsing for hyperparameter tuning and debugging modes.

Documentation Updates:

Expanded the README file to include instructions for running W&B sweeps with SLURM.

Provided guidance on running sweeps both locally and via SLURM in a cluster environment.

Included examples for initializing a sweep and starting agents with specific trial counts.

Summary
This pull request introduces hyperparameter tuning capabilities for the CMAP project using Weights & Biases (W&B) sweeps and provides detailed documentation in future-work.md. The changes enable efficient exploration of model configurations, enhanced training workflows, and improved guidance for developers.
Changes Introduced
W&B Sweep Integration:
Added functionality to define and run W&B sweeps using configs/sweep_config.yml for hyperparameter tuning.
Integrated distributed sweep logic into the training pipeline with SLURM job support (sweep.job).
Training Pipeline Enhancements:
Updated train.py to include sweep-related functions (run_trials() and one_trial()).
Added logging for metrics like average_test_jaccard_index to improve monitoring in W&B dashboards.
Improved argument parsing for flexible hyperparameter tuning and debugging.
Documentation Updates:
Expanded the README with instructions for running W&B sweeps both locally and via SLURM.
Added examples for initializing sweeps and starting agents with specific trial counts.
Created future-work.md with:
Instructions for resolving SLURM sweep errors.
Guidelines for experiment initialization and monitoring.
Insights into interpreting metrics using parallel coordinate plots.
Updated Files:
configs/sweep_config.yml: Specifies parameters to tune (e.g., learning rate, batch size, augmentation).
sweep.job: SLURM script for running W&B sweep agents.

Summary
This pull request introduces updates to hyperparameter tuning capabilities for the CMAP project using Weights & Biases (W&B) sweeps and includes detailed documentation in future-work.md. These changes enhance the ability to explore model configurations, streamline training workflows, and provide developers with clear guidance.
Changes Introduced
W&B Sweep Integration:

Updated functionality to define and run W&B sweeps using configs/sweep_config.yml for hyperparameter tuning.

Training Pipeline Enhancements:

Updated train.py to refine sweep-related functions (run_trials() and one_trial()).
Improved logging for metrics such as average_test_jaccard_index for better monitoring in W&B dashboards.
Enhanced argument parsing for flexibility in tuning and debugging.

Documentation Updates:

Expanded the README with updated instructions for running W&B sweeps locally and via SLURM.
Added examples for initializing sweeps and starting agents with specific trial counts.
Created future-work.md to:

Provide guidance on resolving SLURM sweep errors.
Outline best practices for initializing experiments and monitoring results.
Offer insights into interpreting metrics using parallel coordinate plots.

Updates to Supporting Files:

configs/sweep_config.yml: Updated parameter tuning configurations (e.g., learning rate, batch size, augmentation).
sweep.job: Refined SLURM script for running W&B sweep agents.


add log_step_count_steps argument

Control the display steps when running Experiment.

Thank you. Could you please rebase your code and push?
git fetch upstream  # assuming the remote is called upstream
git rebase upstream/master
git push origin master  # assuming the remote is called origin

Thanks for the PR @lucienwang1009 -- I'm merging this in now!


Browsers' back and forward button make a connected component rerender

React router redux
2 container routes both connected and subscribing only to the router redux reducer. hostname/route1/ and hostname/route2

Going to route2: Go from route1 to route2 via a Link Component. route1 is not re-rendered which i expect.
Going back to route1: Click browsers back button, route2 will then first be re-rendered then route1. I i would expect it to work similar to clicking a react router dom link component, ie only route1 would be rendered in this case.
Going forward to route2: Click browsers forward button, similar situation as in nr 2 above.

Are these behaviours intended?
I would have expected the browsers back/forward button to only trigger the container we are going to not the one we are leaving.

An example of what you're seeing is really necessary here. But there are known issues with double-rendering right now. Hence the alpha status.

Hi, thanks for quick reply. Just wanted to make sure this was a bug and not intended.
I made up a sandbox of what i see in my project here https://codesandbox.io/s/8yv7p018rl
Then follow this:

Only use the environment inside codesandbox (my other project is not in codesandbox though), i mean, dont open the example in another tab.
Open code sandbox's console and the live view
Click Page 1
Click codesandboxes' liveviews' backbutton
. What happens: Both Page1 (Route1) and Home component will render (viewing the logs in each render)
. What i guess is expected: Only Home component should make a render
Using the forward button has the same behavior
Only navigating using the Link components works great

+1

where is the liveviews button?

Do we any update/fix for the same?

@timdorr any specific reason for deleting the comments?
This type of nature will encourage the people to fork the repo. and maintain their own copy instead of contributing to original and that will the defeat the purpose of opensource!

Agreed.
But, even if those comments are constructive they will reveal the desire to fix the issue and may encourage someone to contribute a fix!

On 29-Apr-2018, at 4:52 AM, Tim Dorr<EMAIL_ADDRESS>wrote:
They weren't helpful or constructive comments. I'm not hiding anything other than offtopic discussion.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/ReactTraining/react-router/issues/6049#issuecomment-385212015, or mute the thread https://github.com/notifications/unsubscribe-auth/AYmJDcW5eKtdZ89s5VI_6A5Iy2npFOU4ks5ttPmbgaJpZM4TBKxe.

I've come across this issue as well.
Using<EMAIL_ADDRESS><EMAIL_ADDRESS>Basically in the exact same situation as @wayweary.
To maybe add more background into the mix, I have noticed that the undesired rerender occurs before the LOCATION_CHANGE action is emitted by the react-router-redux middleware - due to a change in the router.location.pathname state which the connected component observes.
What I have observed is this:

Click back in browser
address bar changes to previous page's pathname
current connected component rerenders
a LOCATION_CHANGE is dispatched with the new pathname

I am having a similar issue. The problem is compounded by the fact that the previous component rerenders with the new (!) location.
I would expect a component added to a route to never render on the wrong location since it generates issues with loading data, especially since we are using query parameters in the url for state management.

Closing this out since react-router-redux is deprecated. Use connected-react-router instead!

so sad to see this closed since connected-react-router only works with v4


Registry

This adds support for managing a Docker Registry.

:clap:

thanks!

how soon until this and the switch to swarm, etc roll out? very interested giving this a spin.

@jgangemi i would like to have a beta in a few weeks