Skip tests on Mono that fail due to external bugs

Mono has numerous bugs in LINQ, SqlClient, remoting, and others. We thoroughly test on CoreCLR on X-Plat.
Passes on Mono 4.2.0.
Running korebuild does not work yet on Mono 4.0.x. Xunit hangs indefinitely on <4.2.0 (see https://github.com/xunit/xunit/issues/564) even with parallelization turned off.
Fix #3594

Updated.


version number mismatch

The maven version number in pom.xml (3.2.2) and the ant build version number in build.xml (2.3.2) deferr.
I assume they should be matching, right?

I would like to remove the ant build or is there any reason to keep the ant way?

you're right. now that this is a maven project, we can use the pom.xml to build the distribution zip files...
Go ahead and remove the ant build file...

now that these issues are resolved, please have a look at my PullRequests and consider a push to the maven central repository as version 3.3.0
Cheers :cocktail:
Tobias

consider a push to the maven central repository as version 3.3.0

only looked into jarbundler-core package and saw that it is still at 3.2.2 while jarbundler-parent is at 3.3.0

fixed.


go-cmp should ignore generated proto fields

XXX_cachesize auto-generated proto fields are not currently ignored by go-cmp. Example from Grafeas:
storage_test.go:287: GetOccurrence returned diff (want -> got):
            {*grafeas_go_proto.Occurrence}.Resource.XXX_sizecache:
            	-: 0
            	+: 16
            {*grafeas_go_proto.Occurrence}.Details.Vulnerability.PackageIssue[0].AffectedLocation.Version.XXX_sizecache:
            	-: 0
            	+: 16
            {*grafeas_go_proto.Occurrence}.Details.Vulnerability.PackageIssue[0].AffectedLocation.XXX_sizecache:
            	-: 0
            	+: 53
            {*grafeas_go_proto.Occurrence}.Details.Vulnerability.PackageIssue[0].FixedLocation.Version.XXX_sizecache:
            	-: 0
            	+: 16
            {*grafeas_go_proto.Occurrence}.Details.Vulnerability.PackageIssue[0].FixedLocation.XXX_sizecache:
            	-: 0
            	+: 53
            {*grafeas_go_proto.Occurrence}.Details.Vulnerability.PackageIssue[0].XXX_sizecache:
            	-: 0
            	+: 116
            {*grafeas_go_proto.Occurrence}.Details.Vulnerability.XXX_sizecache:
            	-: 0
            	+: 125
            {*grafeas_go_proto.Occurrence}.XXX_sizecache:
            	-: 0
            	+: 307

It doesn't scale if cmp is taught the special case for every possible Go type that exists out there.
What you want is golang/protobuf#762

Thanks for referencing the relevant issue! Just to clarify: XXX_cachesize isn't about Go types, but about proto fields. The Grafeas type here is just used for example, it's unrelated to the Grafeas itself.

My point is that the presence of XXX_cachesize is an artifact of protobuf message implementations. cmp should not have any knowledge about these special cases.


Cache save failed in CI

CI can sometimes fail, though locally the build succeeds, likely due to a bad cache save. See the following logs for details.
In the first run, I'd switched ELFSage's Git URL to my fork.
https://github.com/leanprover/LNSym/actions/runs/10816223174
The second run is when I merged main into the branch.
https://github.com/leanprover/LNSym/actions/runs/10887193356/job/30208908292
For now, we have set use-github-cache: false under leanprover/lean-action@v1, which solves the issue.
Note that this scenario would need to be recreated -- the PR has been merged (though the branch is not yet deleted).
https://github.com/leanprover/LNSym/pull/151

Note that in both of the fails above, the cache save failure in on a MacOS runner.


Allow search by date ranges

As documented in #96, you can not access all the tweet account history simply scrolling. There is a limit of around ~800 tweets.
Nevertheless, the search URL allows to specify date ranges. For instance:
https://twitter.com/search?q=from%3Ajcea since%3A2015-01-01 until%3A2015-02-01&src=typed_query&f=live
If we could parse those results...

@jcea
Hi,
I tried to scrape tweets with the official provided url https://twitter.com/i/profiles/show/realDonaldTrump/timeline/tweets?include_available_features=1&include_entities=1&include_new_items_bar=true
However, there's no response and return 403 error code, as I mentioned in https://github.com/bisguzar/twitter-scraper/issues/135#issue-622458276. I was wondering if you met the same issue or could you please give me some guidance on it?
Thanks in advance.

I didn't dig the details, but projects like https://github.com/Mottl/GetOldTweets3/ allow to search by date range.

@icmpnorequest , sorry I can not help you.
Please, do not hijack github issues unrelated to your problem.
Thanks.


Not working with .Net 8 on Ubuntu 22.04?

Hi, I cloned this repository and tried to run Photino.Blazor.Sample on Ubuntu 22.04 using dotnet SDk 8.0.105 (8.0.5 runtime), but it only displays Loading... .

Am I missing something?
Also, If I run it on Wayland, it's possible to resize the window, but under X the window has no size and I could only show it with .SetMaximized(true).
Thanks,
Bruno.

I have the same problem with HelloWorld sample and my Photino-based projects.
I publish application on Windows with argument --os linux and copy output directory to Ubuntu 22.04.
Everything is working fine when i rolled back to commit 0422492d8a3cd848a04e5d3c5fe0778171be7111. Something broke after it.

Same problem, also webkit dev tools don't work. Started occurring on 3.0.11, but 2.7.0 is still fine.

the same problem

We release new 3.1.x versions yesterday with many fixes. It seems there were bugs using the new interop features in .NET 7 and 8. .NET 6 did not have the issues. In any case, please try the new versions and let us know if the issues persist.

@MikeYeager  3.1.8 version The bug still exists during testing , Same problem

We have identified the issue and are working to resolve it.

I know that this doesn't solve your problem, but my .NET 8 Photino Blazor app runs in Ubuntu 22.04
https://github.com/Jinjinov/OpenHabitTracker

Update the Photino.Blazor package to its latest version (3.1.9) and the issue should resolve.


After install, the route is not able to start the IIS manager

"No route registered for '/IISManager/'"

Hello. Please restart a Kudu.

Oh, I see, thanks.
I did an install from within azure portal itself, than it is working fine.
But thanks for the restart tip anyway !

Oh, but once installed, the URL throws another error
"You do not have permission to view this directory or page."


File save/load plugin

I was implementing an extension to draw-tools that should allow users to save drawn items to a file and load it again any time late. But when my code was finally ready for submitting jonatkins just merged another pull request that implemented exporting/importing drawn items via copy and paste (just like the bookmarks plugin).
As I'm not very sure if the way I implemented the save to file feature works in every browser we want to support (it at least works on recent chrome and firefox), I just came up with the idea to implement a generic save to/load from file plugin that could be used by all other plugins that currently implement export/import via copy and paste (currently I know of draw-tools and bookmarks). So the idea would be: If the save/load plugin is available the other plugins will use it. If it's not present the other plugins use the current copy and paste approach.
Another reason for doing this as a separate plugin is, that I personally prefer saving to real files to the current copy and paste approach, but I don't know if everybody has the same opinion about that. With a separate plugin everybody could choose the way they prefer.
Any chance, that a plugin like that would be merged? I'm asking because I don't want to waste time implementing a feature that doesn't have a chance of getting merged...

@strguntbr
Is your code still available?


Stop returning an error when clearing command capabilities in c8y-mapper

Proposed changes
Stop publishing an error on the te/errors topic when tedge-mapper-c8y receives command capability clearing messages.
P.S. I think it would be a nice to create a Robot test to cover device deregistration scenario.
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue
#2739
Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

will be coverred with: https://github.com/thin-edge/thin-edge.io/pull/2772

Since it needs more fix than I initially thought, I would close this PR.


121 Generate node executable

Updated cmake to generate both composable node plugin library and standalone executable for NovatelGpsNode.

@danthony06 can you review?

Yeah.


Add binding for agent forwarding

channel_open_request_auth_agent_callback is required for implementing ssh agent forward as unlike X11 forward, there is no other way to establish a forwarding channel.
In libssh:

Callback is triggered while handling protocol packets in other libssh call.
The callback creates a new channel and prepare for bidirectional forwarding between it and ssh agent.
The callback then returns a borrow of the newly created channel for libssh to make reply to the remote side.

However, the callback-based flow does not really fit our Rust binding design: during callback we have SessionHolder locked, so it's really hard to do anything without introducing lock re-entrancy issues, plus that it demands us to return a temporary borrow of something owned by Rust side whose lifetime is tricky to model.
Instead, we try to turn the callback-based style back to something resembling ssh_channel_accept_x11 by buffering pending channels and let users fetch them later in a saner context.

I have a draft for using this to implement ssh agent forward in wezterm: https://github.com/wez/wezterm/pull/5345

Thanks for the review! I've addressed most comments, but have further comments on the safety discussion.
In addition, I wonder why do we need std::panic::catch_unwind in bridge_*_callback-s? I just followed suit here.

Thank you!

I'd also love to see agent forwarding in WezTerm, but small side-note that the Windows OpenSSH agent (and specifically ssh-add) is broken currently for users of SSH certificates.


refactor(widget-dev): change to flux standard actions format

LGTM

I'm shocked this has no merge conflicts. Merging!


evaluation notebook, script

The first version of the evaluation part

Thanks @mchijmma. Will merge and test on my end.

Is it possible to avoid using soxbindings? I have an issue getting it to install on M1.


Deployment Resource ID missing when failure is due to template rather resource

When deployment fails due to resource not being able to be provisioned we get nice error in FailedResources property and Error property but when there is a failure for template we do not have deployment resource ID, we only get the error from that deployment but not in which deployment exactly occurred (see screenshot). Knowing which deployment is can help you save time to understand where the problem is without having to browse the portal.

If we trace on portal we will see this and we can see which deployment the error is on:

@slavizh Was this a nested deployment within your stack Deployment? Just to confirm, you are seeing $yourStack.deploymentId as empty?

Yes, this is nested deployment. $yourStack.deploymentId  is not empty but when you have nested deployments the actual error is within the lowest deployment in the three. As you can see from the screenshot Target is missing there. I think that should be the resource ID of the deployment from where the error comes.

@slavizh : Got it. Thanks for confirming. The "target" property is on our roadmap for errors, we're just awaiting a coordination between a deployments version API bump and an SDK release.


[FEATURE] Metal/Vulkan support

Is your feature request related to a problem? Please describe.
I'm using the dev/update-m80 branch of mono/skia library directly, without C#, but doesn't found metal/vulkan related apis in include/c/gr_context.h,
and i knows that there is vulkan binding landed in xamarin-develop branch recently, will it be merged to dev/update-* branch? or i should just use xamarin-develop branch?
Describe the solution you'd like
I'd like the mono/skia library supports both vulkan and metal.
Describe alternatives you've considered
I currently using opengl on all platforms, and also google/angle library on windows.
Additional context
Add any other context or screenshots about the feature request here.

Thanks for asking this. Actually, the skia xamarin-develop is the later branch and that should be used instead of dev/update-m80 (which is going to be deleted soon). This goes with the SkiaSharp develop branch.
Metal is coming soon, I think it is just a few APIs to add.
Vulkan has landed and is available on Win32, Linux and Android.
For use of ANGLE on Windows, we currently create views just for UWP, but do you also use it on Win32?

If you are interested in trying out code without building, check out the v2.80 alphas on https://aka.ms/skiasharp-eap/index.json

I got it, thanks for your reply, and also your great works😀.
i'm not so familiar with cpp, the mono/skia's c binding is so awesome.
And another issue, i don't needs skias cpp api, so i added "-DSK_API" for msvc and "-DSK_API=__attribute__((visibility("hidden")))" for clang/gcc to extra_cflags,
it saves some binary size, it may also useful for SkiaSharp.

We have this version script https://github.com/mono/SkiaSharp/blob/master/native/linux/libSkiaSharp/libSkiaSharp.map

ok, thank you, i'm closing this issue.

thanks for the latest release 2.80.0 which has Vulkan support 🙌 . I wanted to check in on the Metal APIs for macOS. Are they still under construction, just wondering because this issue is closed already

Ah, missed it in this issue. Opened a new one https://github.com/mono/SkiaSharp/issues/1391
I'll see what it takes and start a PR.


feat(levm): merge main into levm-ethereum-rust-integration

The SSTORE behavior of main is outdated, the correct one is the one from the l1 integration branch

The SSTORE behavior of main is outdated, the correct one is the one from the l1 integration branch

Thanks! I think SLOAD was also off.


Implement handle_tostring

Decided to open it as a draft to gather some opinions if someone have any!
Meanwhile I am going to gather a bit more context and make sure that I understand the implementation, even though it seem to work 🙃

Implemented by https://github.com/tenderlove/tenderjit/pull/52

Implemented by #52

Apologies for stepping over :pray: I had in mind that newhash was being worked on by somebody else, but I completed overlooked this issue :flushed:

Hey @64kramsystem, no worries at all! I kind of abandoned this implementation while was trying to figure out what's wrong with it. Was going to mention that I would love to see another correct implementation in a separate PR :) And actually I was able to learn from your implementation, so thanks! ❤


Support rendering jsx in addition to html

I noticed hain is written in react, i want ro return a preview with react, i can render an iframe i guess an bundle my own version of react , but that seems a little wasteful, and will probably load really slow.
Would be cool if preview function would have a renderJSX function we can call instead of the normal render .

It can be difficult to maintain compatibility between multiple versions of React. because React updates its version very often. so I suppose this can be difficult to make it.

Maybe have react as a peer dependency for plugins, that way plugins will use whatever version hain uses.
React api is also pretty stable by now.
If you provide a renderComponent function that will take a react component and will just use react's renderDOM to render it to the preview container, it could open up the possibility to easily implement really cool previews (like interactive ones).
Which compatibility issues are you worried about?

On the other hand i see plugins are already rendered in an ifame , so maybe performance will be the same if i load react on my own, ill give it a try and see.
For most previews probably html will suffice.

I almost agree with your opinion.
For now,  hain-package-manager doesn't support peer dependency installing.
so all plugin dependencies are being installed and node-modules are not shared between hain and plugins.
In this situation, I believe we couldn't follow React updates for the perfect, and I dont wanna make a additional dependency.


Removes github.com/deckarep/golang-set dependency.

Built on top of #13:
Details

Removes github.com/deckarep/golang-set dependency.
Was being use within executor/nonnull_test.go through testutil.EqualSet, but we can use instead reflect.Equal, sorting slices before comparing equality is a simple solution instead of having this dep.

Alright great! Now theres a way to test for errors 👍🏻
I think its fine to just go ahead and completely remove testutil.EqualSet() since nothing else is using it.

Great! :+1:  thanks for feedback @sogko, merging this one.


Load images before objectFit calculations in partial support Edge browsers

Doesn't exclude partial support Edge browsers from the "wait until images has loaded" setup.
Fixes #51

Should be fixed now in master per #51 discussion. Thanks so much for reporting this issue! 🙏


EXPERIMENTAL FOR DISPLAY ONLY: combine 'Param api 2' with test/params_test.c

This combines #8379 with #8396

Both #8377 and #8379 demonstrate the same inability to simply ignore when a parameter the provider end knows may be available isn't.  In test/params_test.c, the "provider object" has a parameter "p2" that the "application" doesn't touch.  You may notice that the raw methods pass with flying colors, while the API methods (both api_get_params and api_set_params) get faults because they can't find a "p2" among the given parameters.

Additionally, it would be good if #8379 had a public OSSL_PARAM_locate

If "p2" is optional then the recipient should either use the OSSL_PARAM_locate function or see if it fails and check for CRYPTO_R_PARAM_NOT_FOUND error.  Both of those would be straightforward for Pauli to implement based on my code.

It seems a bit silly to call OSSL_PARAM_locate to then call an API function that will call OSSL_PARAM_locate again...
In that case, the rest of the API should be made to treat any OSSL_PARAM pointer as just that instead of an array, so a call like OSSL_PARAM_get_int(params, "foo", &foo) can be replaced with:
    if ((p = OSSL_PARAM_locate(params, "foo")) != NULL)
        if (!OSSL_PARAM_get_int(p, &foo))
            goto err;

I.e. the caller gets to decide how a missing parameter is treated.

I doubt optional parameters are the common case for which we should tune the API.

I disagree.  Think of this, someone is interested in the public parameters of a key (i.e. the numbers that constitutes the public key).  For RSA, they would naturally ask for "n" and "e"...  however, an RSA key has other numbers, which might be available depending on what provider's handling them internally.
Getting the public bits of a key is, I believe, a fairly common operation.

Most uses are going to be done via the EVP API not by user’s calling providers directly.

Doesn't really matter.  To the provider, libcrypto is an application.
But put it another way, there are possibilities that OSSL_PARAM arrays can be used as controls, or to pass configuration data.  Does that mean that for someone who tries to use OSSL_PARAM as a control, it must specify all control possibilities at once?  That doesn't seem sane.  Or if a provider (because a provider will be able to use a libcrypto get_params to get configuration data) wants to get one piece of configuration data, does it have to ask for all of them?  What happens if a user adds another thing in the provider configuration that no one recognises, but it will still be there among the configuration parameters that libcrypto provides to the provider, should the provider in question be sent tumbling?
Believe you me, I have thought about this stuff.  A lot

Well, we disagree.  You want to provide flexibility that isn't currently required, and I want the common case to typesafe and efficient and look very much look the API's that we are calling into providers. Philosophical difference.

In this particular case, the point is whether OSSL_PARAM_locate returning NULL should be seen as an error.  I claim it shouldn't.  I don't think that changes anything to the type safety idea.

So you think I should remove the CRYPTOerr call from locate and put it in the internal functions that call it?  Okay.

If you're just moving the error adding code outside of OSSL_PARAM_locate, you are still making a NULL return into an error

Yes, if you try to get/set a param and it doesn't exist you are doing it wrong.  If you want an optional parameter, try to locate it first.

It's the other way around, it's about the receiver of an OSSL_PARAM array having to insist that all existing params be specified

I don't understand the difference.  A receiver (which I tried to shortcut in the previous comment by saying "get") can do locate and then fetch if the param is there.  Note that the cost of doing this is one extra strcmp, if you pass the return value from locate into the get.  I will update the documentation.

[sigh]
Some caller is only interested in "n" and "e" from an RSA object, so sets up an OSSL_PARAM array specifying those two and calls the appropriate "get_params" (the responder, ultimately).  Now, for that particular RSA object (implemented by our default provider, say?), there also exists "d", "p", "q", and a few more.
A naive "get_params" for that would probably be written like this:
    /* internal RSA object available as |rsa| */
    /* received OSSL_PARAM array available as |params| */
    if (!OSSL_PARAM_set_bignum(params, "n", rsa->n)
        || !OSSL_PARAM_set_bignum(params, "e", rsa->e)
        || !OSSL_PARAM_set_bignum(params, "d", rsa->d)
        || !OSSL_PARAM_set_bignum(params, "p", rsa->p)
        || !OSSL_PARAM_set_bignum(params, "q", rsa->q))
        return 0;
    return 1;

Now, a caller was interested in "n" and "e", so an OSSL_PARAM array to get them would be something like this:
    BIGNUM *rsa_n;
    static unsigned char buf_rsa_n[4096];
    static size_t buf_rsa_n_l;
    BIGNUM *rsa_e;
    static unsigned char buf_rsa_e[4096];
    static size_t buf_rsa_e_l;
    /* currently using #8377 macros, but that's not really consequential */
    const OSSL_PARAM public_rsa[] = {
        OSSL_PARAM_DEF("n", OSSL_PARAM_BIGNUM, &buf_rsa_n, sizeof(buf_rsa_n), &buf_rsa_n_l),
        OSSL_PARAM_DEF("n", OSSL_PARAM_BIGNUM, &buf_rsa_e, sizeof(buf_rsa_e), &buf_rsa_e_l),
        { NULL, 0, NULL, 0, NULL }
    };

    /*
     * |rsa| is the local rsa object, which isn't necessarily the same as the one
     * in the previous code block, but is related
     */
    if (!whatever_get_params(rsa, public_rsa))
        goto fail;    /* <----- #1 */
    /* demonstrate what's done with the result */
    if ((rsa_n = BN_native2bn(buf_rsa_n, (int)buf_rsa_n_l, NULL)) == NULL
        || (rsa_e = BN_native2bn(buf_rsa_e, (int)buf_rsa_e_l, NULL)) == NULL)
        goto fail;

That code will currently fail (at <----- #1), because the array (public_rsa) doesn't contain anything about "d", "p", or "q".  And please answer me why code that's only interested in the public parameters must also ask for all other available parameter.
So, I suspect that we will see quite a bit of code that only asks for a subset of the available parameters for a given object, and that means that every responder must prepare for it, which means that the naive code shown above will not do, and we're going to be forced to write it like this, everywhere:
    const OSSL_PARAM *p;

    /* internal RSA object available as |rsa| */
    /* received OSSL_PARAM array available as |params| */
    if ((p = OSSL_PARAM_locate(params, "n")
        && !OSSL_PARAM_set_bignum(params, "n", rsa->n))
        return 0;
    if ((p = OSSL_PARAM_locate(params, "e")
        && !OSSL_PARAM_set_bignum(params, "e", rsa->e))
        return 0;
    if ((p = OSSL_PARAM_locate(params, "d")
        && !OSSL_PARAM_set_bignum(params, "d", rsa->d))
        return 0;
    if ((p = OSSL_PARAM_locate(params, "p")
        && !OSSL_PARAM_set_bignum(params, "p", rsa->p))
        return 0;
    if ((p = OSSL_PARAM_locate(params, "q")
        && !OSSL_PARAM_set_bignum(params, "q", rsa->q))
        return 0;
    return 1;

We have enough issues with people understanding and using the current API.  You believe we will see the kind of use you describe?  The work-around (if this comes up, which I highly doubt) is to use the existing API with NULL parameters. And also your sample code assumes that all providers use the same field names which seems naive. :)
Provider-specific code does not have to be enabled by this API in the first release.

Actually, the functions these APIs (both yours and @paulidale's) define are exactly the sort of thing that would be used by providers first of all (i.e. receivers of the OSSL_PARAM array, which I've called setters and responders in my docs).
I can see that the application side (or really, any owner of an OSSL_PARAM array) would mostly use the OSSL_PARAM constructor macros.

This has moved on to test #8400 rather than #8379

#8396 has been update with everything that was in here, so closing this.


not accurated interaction detection.

Implement a ray that checks if any element is being hit when interaction is presented.

actually the bug was from the script service, give a better look at threads on the future, maybe LIBSPI is broken with many threads?

Actually fixed.


Don't log content data; only JS(x)

This change fixes the issue where we were caching content data on the render server. Should reduce memory overhead a bit.

Is there any way to ensure that the locale GraphQL/Apollo cache is getting cleared out as well? We'll want to periodically clear that out and also clear out the WB Data cache too. Don't have to do that here but we should track that so that we're not letting those caches continually increase. I wonder if we should clear all these caches on static deploy?

There isn't a need to do that. Those exist within the VM and so aren't kept around across requests.


Dev

For marking scripts

Codecov Report

Merging #225 (a2e890e) into master (aac570c) will increase coverage by 3.23%.
The diff coverage is 6.45%.

@@             Coverage Diff              @@
##             master     #225      +/-   ##
============================================
+ Coverage     62.93%   66.16%   +3.23%
- Complexity      590      625      +35
============================================
  Files           111      111
  Lines          2118     2143      +25
  Branches        231      235       +4
============================================
+ Hits           1333     1418      +85
+ Misses          708      643      -65
- Partials         77       82       +5

Impacted Files
Coverage Δ

...edu/address/logic/commands/ChangeGroupCommand.java
86.36% <0.00%> (+86.36%)
:arrow_up:

...ddress/logic/commands/DeleteAssessmentCommand.java
100.00% <ø> (ø)

...java/seedu/address/logic/commands/EditCommand.java
86.56% <ø> (ø)

...java/seedu/address/logic/commands/NoteCommand.java
0.00% <ø> (ø)

...edu/address/logic/commands/ViewStudentCommand.java
100.00% <ø> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
81.48% <0.00%> (+5.55%)
:arrow_up:

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...in/java/seedu/address/model/group/Description.java
80.00% <ø> (+10.00%)
:arrow_up:

.../java/seedu/address/model/util/SampleDataUtil.java
65.00% <0.00%> (-11.48%)
:arrow_down:

...ain/java/seedu/address/ui/DetailedStudentCard.java
0.00% <0.00%> (ø)

... and 15 more

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 aac570c...a2e890e. Read the comment docs.


Root CA bundle

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #1298
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Root CA bundle

/retest

/retest

/retest

kron4eg force-pushed the kron4eg:1298-ca-bundle branch from 492d568 to 753f677 2 minutes ago

that's just a rebase


[textanalytics] move async file to aio

Moves _response_handlers_async.py into the aio directory

/azp run python - textanalytics - tests


add modernish

New App Submission

[X] I've read the contribution guidelines.

Repo or homepage link:
https://github.com/modernish/modernish
Description:
From the homepage:
"Modernish is a library for shell script programming which provides features like safer variable and command expansion, new language constructs for loop iteration, and much more. Modernish programs are shell programs; the new constructs are mixed with shell syntax so that the programmer can take advantage of the best of both."
Why I think it's awesome:
I've only used this for small scripts so far but it seems compelling. No affiliation to the project.

Thanks for submitting this - it looks like a very useful resource and library that I've seen many times before, but seems absent from this list.


Page build failure

Hi
I got this error when setting up github pages with this theme,
the email I got doesn't have any description related with the failure.
I just change the default theme to 'jekyll-theme-minimal', it builds fine when switch back to 'minima' theme.
Thanks.

@cooperkong we're not able to provide individual support in this forum. Can you please contact GitHub support who should be able to help get your issue resolved?


skupper schema

Schemas enhancement for the skupper integration
Ticket: APPSRE-6515
Design doc: skupper-integration

/retest

I like names more than in the design doc 😍


Error: Could not authenticate you. code : 500

Same error for me ...

Yuck same for me. Anyone solved this?

<DOH!>
Remember to remove the curly brackets from TWITTER_CONSUMER_KEY & TWITTER_CONSUMER_SECRET


Cannot publish any libraries on Windows

Operation System: Windows 10 Pro
Beaker version: v0.8.0-prerelease.3
I'm able to successfully submit the Publish files form but upon reloading the library none of the changes are actually published.

@ezmill Can you give a bit more information? Perhaps some screenshots? I need to make sure that:

You're getting all the way through publishing flow
The files actually didn't get published


Wallet transactions not receiving confirmations since 7/27/2020 - coins moved to "immature"

NOTE:  I went back, removed the chainstate & blocks directories and replaced with the bootstrap050120.zip chainstate & blocks directories, restarted reddcoin wallet and the wallet is now caught-up syncing and staking again.  The transactions that had my coins tied-up in the "stake" category is now back in the "available" category.  These transactions are were not accepted in the block chain.  I'm happy that I'm staking again!
This is the last few transactions generated through staking:
reddcoin7_31.pdf
debug.log
Staking transactions are not recorded in Reddcoin explorer & the wallet is not picking up confirmations.  I looked at addresses that were made "available" before 7/27 and the number of confirmations are much greater than the information on transactions in the wallet.   These transactions do not show up in pending in Reddcoin Explorer.  Lower right corner says "Processed 3387264 blocks of transaction history.   Last received block was generated 46 hours ago".
I also tried replacing a copy of my wallet from June and made it "wallet.dat" then restarted staking with v3.10.2.  The wallet did not sync and transactions made after the June date were not in the transaction list.  99.9% of my coins disappeared from the wallet completely.  These coins are the ones "staked" by the transactions that do not have 50 confirmations and are considered "immature".   I replaced the June with the backup from yesterday and they are back in the "stake" and "immature" categories.

Transactions in my wallet fail to get confirmations since 7/27.  Transactions continued to process reducing the "available" so that it is very low and majority of coins are now "staking" but receiving no confirmations.   I upgraded to the new release yesterday (3.10.2) and that has not fixed the problem.  It was 33 hours behind over night.  I stopped the wallet and reinstalled and now it is 45 hours behind.  There is a message lower left corner that says "no source block available".  The wallet says it's staking and there are peers.  There are 5 transactions that have not received 50 confirmations -- 2 on 7/27 - one with 5 and the other with 4, there are 2 on 7/28 - one with 3 and the other with 2 and one on 7/29 with 1 confirmation.

thanks for the log.
you were very close with the activities you did to restore functionality.
However, having staking enabled while syncing is prone to error.
Basically, you cannot stake while the blockchain is still synchronising.
So, repeat the previous operations

delete blocks/ chainstate/
extract bootstrap050120.zip
start wallet with reddcoin-qt -staking=0

When all caught up you can enable staking
help > debug window > console > setgenerate true
Let me know how it goes

Closing due to inactivity and likelihood of resolution. Please reopen if still an issue.


Fix parameters and pre-parameters

set ALL references to [Tt]rigger incidences to 0. This is because
we don't support adaptive triggers.
if calibration date is before first intervention date, set
'Alert trigger starts after interventions' to 0, otherwise 1.

Regarding 2, I’m pretty sure that Neil explicitly told us to set that “Alert trigger starts...” parameter to 1 unconditionally. I used to have it the way you’ve written it here, but changed it due to a conversation with him. Maybe the model has changed though?

I don’t know. I’m not confident of any of this except for the conversation I had. I’ll verify that, though.

@maxbrunsfeld Thanks for pointing this out for bullet-point 2. I finally got confirmation from Neil that this is the case. I'll remove that portion and then let's get this into production so we can start using this. Eyeballing the EU runs shows that there is some improvement here.


Input types that contain itself

Hi,
We are currently testing if we can upgrade our version from 3.x.x to 4.x.x and everything has been going smoothly except for one thing.
In our schema we have filter input types that refer to themselves.
input StringOperationFilterInput {
  _and: [StringOperationFilterInput!]
  _or: [StringOperationFilterInput!]
  _eq: String
  _neq: String
  _contains: String
  _ncontains: String
  _in: [String!]
  _nin: [String!]
  _startsWith: String
  _nstartsWith: String
  _endsWith: String
  _nendsWith: String
}

The new Schemagen doesn't like that and fails with:
Input object cycle type: StringOperationFilterInput
Any idea how this should be solved?
Thanks

Note to self: https://spec.graphql.org/October2021/#sec-Input-Objects.Circular-References

TL;DR; yes, it looks like the cycle detection is too aggressive. Nullable or list of self types should be allowed, only a non-nullable type should be blocked.
This has some unwelcome implications for the C++ code generation, though. A std::vector<Self> should be fine, but std::optional<Self> (for a nullable field) needs to be replaced with std::unique_ptr<Self> because std::optional stores the non-null value inline. A lot of code referencing them should port cleanly since they override the same operators, but there will likely be spots where that doesn't work without some cleanup. I suspect that v3.x without the cycle detection probably had a bug where it would generate invalid C++ using std::optional<Self> for a nullable, non-list self type field.
This'll also need a unit test or two, or at least a schema addition to validate the types that should work generate working C++ code.


[branch-1.2]improvement throw exception instead of log fata if string column exceed total size limit

Proposed changes
Issue Number: close #26667
ref: https://github.com/apache/doris/pull/17989
fix same issue on branch-1.2-lts
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Not merge it.
Because 1.2 is not exception safe. If you throw exception here, there maybe memory leak.


Update \DDD parsing

Previously we followed PCRE's parsing of this syntax such that it may either be an octal sequence or backreference depending on a list of heuristics. However this model is complicated and not particularly intuitive, especially as there are other engines that disambiguate using subtly different rules.
Instead, always parse \DDD as a backreference, unless it begins with 0, in which case it is an octal sequence. This matches ICU and Java's behavior. Once we start validating group references, we can then start emitting an error on invalid backreferences using this syntax, and suggest prefixing with 0 if an octal sequence is desired.

@swift-ci please test Linux

@swift-ci please test


Add All contributors to our repository

We want to acknowledge people that take the time to contribute to the project. To do so we will be integrating https://allcontributors.org/ to our repository.
See the type of contributions we can give at https://allcontributors.org/docs/en/emoji-key
And the usage at https://allcontributors.org/docs/en/bot/usage

@all-contributors please add @nlopin for his excellent work at code doc bug review

Also, we need to add to the other members such as @lukahartwig @snapsnapturtle for the great work at code doc bug and review of pull requests

Also, we need to add to the other members such as @lukahartwig and @snapsnapturtle for the great work at code doc bug and review of pull requests CC: @all-contributors

Also, we need to add to the other members such as @snapsnapturtle for the great work at code doc bug and review of pull requests CC: @all-contributors

It seems to add only one Pull requests to contributors by Issue/PR

Nice idea!

I will close this one as it has been tested already. From now on we can add ourselves on PRs


JSX extension support

Response to https://github.com/zeit/next.js/issues/161 in case we want to support .jsx files.

I dont really no wut to do here im new at this lol

What's the advantage of supporting .jsx if we already support jsx in .js? Isn't it confusing to have two?

typescript is a use case to support this.  typescript will product jsx files if you want babel to compile JSX and not typescript.

@rauchg beside what @skhavari mentioned, some still love to use .jsx extension for React.
Here's the discussion in CRA: https://github.com/facebookincubator/create-react-app/issues/87
If this helps to someone, adding .jsx support make no harm.
But we should not document it.

I support this since JSX is not a standard feature, and I understand that some might want to make this explicit.

how to understand the conflict in webpack.js ?

Can you elaborate?
On Mon, Nov 21, 2016 at 6:49 AM Giacomo Rebonato<EMAIL_ADDRESS>wrote:

how to understand the conflict in webpack.js ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zeit/next.js/pull/163#issuecomment-261891654, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAy8QhhL6AKSJ1FfcHLc1P6JCF6KlGDks5rAWkzgaJpZM4KkguK
.

I would like to help with this PR, but I don't know how to understand what the conflict on webpacks.js is about.
Should I checkout this branch e run the tests?

Closing this for the time being as we haven't heard much. @CompuIves wouldn't it be nicer to incorporate typescript support through babel / webpack decoration, rather than a separate pipeline that outputs JSX?

@rauchg I agree, I now see that I also edited the gulp file which wasn't necessary at all 😅 . After we support the Webpack config PR people can just add this themselves, we could also maybe document it somewhere or create helper methods (something like addJSXSupport(webpackConfig)).


Replace enums with literals

Is your feature request related to a problem? Please describe.
Currently enums are created for enum strings in openapi. The issue is that openapi string enums allow any characters while python enums do not.
Describe the solution you'd like
Instead it could just be string in python but typed with typing.Literal and let typecheckers notify any wrong use.
I'd like to hear your thoughts on this and if there are any particular reason for choosing python Enum for this?

Wait a minute. I didn't realize you could create a python enum instance from it's value using the call method.
from enum import Enum

class Flavour(str, Enum):
    LATTICE = "lattice"
    STREAM = "stream"

    def __str__(self) -> str:
        return str(self.value)

stream_enum = Flavour("stream")

With this I can actually use the openapi enum value to create the python enum. So that's good.


Linkify “www.”

It would be cool if ng-embed would (optionally) turn words starting with “www.” into anchors. I wouldn't mind implementing it myself. Any thoughts on this matter?

PR is welcome :+1:

Hi @rubenswieringa ,
Any updates ?

Hey @ritz078,
Yes, sorry, I got sidetracked. I couldn't find any tests/specs, is that correct?

Also, what is the purpose of the (href|src)=["'] part in urlRegex?
var urlRegex = /((href|src)=["']|)(\b(https?|ftp|file):\/\/[-A-Z0-9+()&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;

Here's a PR:
Turns URLs starting with 'www.' into links


upload file 404 ERROR

My gitea is deployed on a windows2008. When I upload a huge file with git command or a web page (the file is larger than 500M), I always return an HTML error of 404. What is the reason?
The server has set the maximum file parameter for app.ini, and the client has set the http.LOAD parameter, but it has no effect

Why do you want to upload a 500M file via web ui?


RFC: logging: experimental batching writer

Manually written batching implementation. Unlike GAX batching,
it implements flushing and does not deal with partition keys.
If we're OK with where this is heading,
we should make this work with batching settings (shouldn't be hard)
and load-test before migrating things to it.
If not, this can serve as a starting point for a better GAX batching
implementation.
In an experiment, I publish 1M messages of 300 bytes each.
Using LoggingHandler gives me ~14,000 msg/s.
BatchingWriter gives ~67,000, using similar BatchingSettings.
Letting users configure these settings might be important though;
I have observed ~300K msg/s given enough CPU and memory.

Updates #2796

I still think that we should try refactoring gax code instead of writing batching code from scratch. There are a lot of useful features in the gax implementation that are lost here.
Before the bigtable client is ready I will need the following features in batching:

request byte size flow control
ability to know when either the the whole batch request failed or when an entry failed
ability to retry individual entries

General feedback on the PR:

add() should return a future so that the caller can find out the result of the write
writer should be closeable & throw an error if any rpcs failed
It would be nice to provide a means to do nonblocking back pressure: adding an bool isReady() & onReady(Callback) on the Writer
there should be a flush() method that can send all pending RPCs and wait for all of them to return

@igorbernstein2 Thank you for your thoughts. I agree that putting this in gax will be valuable. I'm mostly using this to figure out what logging needs from whatever ends up in gax. This is why it's an RFC after all.
To answer your points:

request byte size flow control

I think this is easily done by changing Semaphore to FlowController right?

ability to know when either the the whole batch request failed or when an entry failed
ability to retry individual entries
add() should return a future so that the caller can find out the result of the write

Please correct me if I'm wrong. I think these 3 are somewhat related. At least it's predicated on the ability to identify individual requests from a batch. Pubsub needs this too.
However, logging doesn't (writes are all or nothing, and failures are reported to error manager). I haven't measured how much CPU work this would cost. If it's significant, we should find a way for logging to not pay for this cost.

writer should be closeable & throw an error if any rpcs failed

I don't think this makes sense to logging. Doc explicitly discourages throwing exceptions.

there should be a flush() method that can send all pending RPCs and wait for all of them to return

Definitely makes sense as a convenience method. I believe it can be implemented by
initFlush();
for (Future<?> future : pendingRpcs()) future.get(); // error handling elided.

It would be nice to provide a means to do nonblocking back pressure: adding an bool isReady() & onReady(Callback) on the Writer

Does BigTable require single- or multiple-producer per writer? I think isReady makes sense in single, but could cause thundering herd problem in multiple. I need to think more about onReady.

@garrettjonesgoogle Are you OK with me submitting this as-is to a branch?

I'll merge this into a branch


Update tab.js

Makes multiple tab-contents from one tab work
Fixes #19964

Also, please be more clear as to what this is supposed to fix.

Thanks for the feedback, this is my first I contribute to bootstrap, so thanks for being patient.
The problem that which should be fixed is, for example in a business application where you work with tab structure, with a tab-content for line items (like order data, product information) and side-bar with functions (also tab-content) which are related to what kind of details are shown.
Therefore it would be necessary that both tab-contents change/show with the click on one tab.
Tab (data-target=”.view1”)

… line items …

… side-bar with function that coould be applied on the line items shown, functions can be different per display typs of line items …

Sorry for asking, my task?

Mention that feature in tab docs
A unit test

Yup :)

I don`t understand. Multiple tab-contents from one pill works in 4.3.1 or not?

Finally we will pass on that feature thanks @Lexipowder, if you want to finish your work feel free to open a new PR 👍


Add attachment/screen to tag whole roster on instagram

Analog to the current MassTweet attachment/screen, Per Geoff Climer request

Added in v2.3.0 (thanks @gclimer!)


GET routes in Insomnia for users and thoughts

WHEN I open API GET routes in Insomnia for users and thoughts
THEN the data for each of these routes is displayed in a formatted JSON

done


'off' should cancel 'once' binding

this might end up as won't fix for various reasons but for the time being, and as work around, if you need to arbitrary cancel .once you should probably do it pragmatically via .on and .off
The only possible way I see now is to pollute the internal object with yet another array of .once attached listener but it doesn't feel right ... it's also some sort of edge case that you want to drop .once externally .. can you explain me how frequently you need that?

it's not so important, but I think we need to document that case in README. In code I use .on/.off instead already, it's ok

Fair enough, added here https://github.com/WebReflection/eddy#note-about-off-and-once and https://github.com/WebReflection/eddy#objectoncetype-handler-capture .
For now I'm flagging this as won't fix. Thanks for opening this though, I agree from an API point of view one would expect that to work. Will think about it.


[AddressBook] "Owner address name" is used instead of "Address on Create/Edit Entry form

Title/Description
"Owner address"  is used instead of "Address on Create New Entry form. According to design and available functionality, the field should have the name "Address"
Environment

Browser: Chrome
Safe: 0x1230B3d59858296A31053C1b8562Ecf89A2f888b
Wallet: Torus
App Version: v2.11.0
Environment:

staging (rinkeby)

Steps to reproduce

Go to address book
Click "Create entry
Look at address field

Expected result
"Address " should be used as a name
Obtained result
Owner address name is used for the field
Screenshots

It's been fixed ✅


Registry: Possible to collapse long keys?

Is it possible to collapse long registry keys to a single line? Right now, the entire list shows up all the time, which for a long key (such as I have in a lot of the directories at /registry/Jim/AliceBobRes/Cooldown151230/160219/) means a lot of scrolling to get to the rest of the keys.
Ideal (if possible) would be to have the key at a single line but then expand it out upon clicking on either the key (or name, or icon).

Do you mean on the header, like after it says: Labrad - ?

 What I think would be better is if only the first line were shown, but upon clicking on the key name t1s, the entire value would be shown. Does this make sense and is it feasible, @joshmutus?

Ah sorry, I misread keys as paths for some reason. This was actually how I'd written it originally but there were some bugs we couldn't sort out so we changed it to how it is currently.
I think we have to change the way keys are displayed and edited so this may be possible. It's good to know it's something you'd want.


Calliope "get gesture" block has some not wanted ports (only in "wait until" block)

only for the following modes:

Expected behavior
port A is not shown

These modes no longer have a port selection.


tf.while loop in MultiWorkerMirroredStrategy leads to training error: Complete shape not known for Adam/allreduce/CollectiveReduce

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.04.2 LTS
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v2.4.0-49-g85c8b2a817f 2.4.1
Python version: 3.8.5
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: cuda 11.0/cudnn 8
GPU model and memory: NVIDIA GTX 1080 8GB

Describe the current behavior:
In a cutom tf.keras.Model using a tf.while loop within train_step works fine when using non ditributed training or tf.distribute.MirroredStrategy.
When using tf.distribute.MultiWorkerMirroredStrategy following error is shown upon training startup which then leads to NaN loss when training a complex model:

2021-04-02 12:56:07.219137: W tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:455] error: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce
2021-04-02 12:56:07.219172: W tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:1138] error: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce
2021-04-02 12:56:07.219180: E tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:1155] ScopedAllocatorOptimizer: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce
2021-04-02 12:56:07.219187: W tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:928] error: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce

I have prepared an example to reproduce the problem in the code below. The issue is present for GPU and CPU. Due to the simplified example, it does not lead to immediate NaN loss as it does in my more complex model. However, I hope it is sufficient to reproduce and identify the issue. When switching to SGD the error message does not appear. Nevertheless, when using tf.distribute.MultiWorkerMirroredStrategy it goes to immediate NaN loss in my more complex model as well.
Describe the expected behavior:
Training should work with tf.distribute.MultiWorkerMirroredStrategy as it does for standalone training or training when using tf.distribute.MirroredStrategy.
Standalone code to reproduce the issue
Needed files are provided as well in this zipfile:
example.zip
Use code below or unzip the files in a directory and run python test_worker_0.py on one instance and python test_worker_1.py on another instance of the same machine.
Code for TestModel.py:
import tensorflow as tf
import numpy as np

loss_tracker = tf.keras.metrics.Mean(name="loss")

class TestModel(tf.keras.Model):
    def __init__(self, *args, **kwargs):
        super(TestModel, self).__init__(*args, **kwargs)
        self.Dense = tf.keras.layers.Dense(80)
        self.MSE = tf.keras.losses.MeanSquaredError(reduction=tf.keras.losses.Reduction.NONE)

    def train_step(self, data):
        batch_size = tf.squeeze(tf.slice(tf.shape(data), [0], [1]), -1)
        #tried hardcoding batch_size to e.g. 16 with two workers -> does not resolve the issue
        max_length = 10
        i_start = tf.constant(0, dtype=tf.int32)
        dummy_inputs = tf.zeros([batch_size, 1, 200])
        gen_outputs = tf.zeros([batch_size, 0, 80], tf.float32)

        def body(i, input, output_full):
            output_single = self.Dense(input)
            output_full = tf.concat([output_full, output_single], 1)
            i_next = i + 1
            return i_next, input, output_full

        with tf.GradientTape() as tape:
            _, _, gen_data = tf.while_loop(cond=lambda i,
                                                       input,
                                                       output_full: tf.less(i, max_length),
                                           body=body,
                                           loop_vars=(i_start,
                                                      dummy_inputs,
                                                      gen_outputs,),
                                           shape_invariants=(i_start.get_shape(),
                                                             tf.TensorShape([None, None, 200]),
                                                             tf.TensorShape([None, None, 80])))
            loss = self.MSE(data, gen_data)
        grads = tape.gradient(loss, self.trainable_variables)
        self.optimizer.apply_gradients(zip(grads, self.trainable_variables))
        loss_tracker.update_state(loss)

        return {"loss": loss_tracker.result()}

def get_dummy_data():
    x = np.random.random((128, 10, 80))
    dataset = tf.data.Dataset.from_tensor_slices(x)
    dataset.options().experimental_distribute.auto_shard_policy = tf.data.experimental.AutoShardPolicy.DATA
    dataset = dataset.batch(32)
    return dataset

def get_model():
    model = TestModel()
    optimizer = tf.keras.optimizers.Adam()
    model.compile(optimizer=optimizer)
    return model

Code for test_worker_0.py:
import os
import json
import tensorflow as tf
os.environ.pop('TF_CONFIG', None)
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
tf_config = {
    'cluster': {
        'worker': ['localhost:12345', 'localhost:23456']
    },
    'task': {'type': 'worker', 'index': 0}
}
os.environ['TF_CONFIG'] = json.dumps(tf_config)

communication_options = tf.distribute.experimental.CommunicationOptions(
    implementation=tf.distribute.experimental.CommunicationImplementation.RING)
strategy = tf.distribute.MultiWorkerMirroredStrategy(communication_options=communication_options)

import TestModel

with strategy.scope():
    model = TestModel.get_model()

data = TestModel.get_dummy_data()
model.fit(data, epochs=4)

Code for test_worker_1.py:
import os
import json
import tensorflow as tf
os.environ.pop('TF_CONFIG', None)
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
tf_config = {
    'cluster': {
        'worker': ['localhost:12345', 'localhost:23456']
    },
    'task': {'type': 'worker', 'index': 1}
}
os.environ['TF_CONFIG'] = json.dumps(tf_config)

communication_options = tf.distribute.experimental.CommunicationOptions(
    implementation=tf.distribute.experimental.CommunicationImplementation.RING)
strategy = tf.distribute.MultiWorkerMirroredStrategy(communication_options=communication_options)

import TestModel

with strategy.scope():
    model = TestModel.get_model()

data = TestModel.get_dummy_data()
model.fit(data, epochs=4)

Other info / logs
Full logs from a run of the example:

2021-04-02 12:56:04.115797: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2021-04-02 12:56:04.797812: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-04-02 12:56:04.798297: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcuda.so.1
2021-04-02 12:56:04.819525: E tensorflow/stream_executor/cuda/cuda_driver.cc:328] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
2021-04-02 12:56:04.819543: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: test
2021-04-02 12:56:04.819548: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: test
2021-04-02 12:56:04.819598: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:200] libcuda reported version is: 460.39.0
2021-04-02 12:56:04.819613: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:204] kernel reported version is: 460.39.0
2021-04-02 12:56:04.819618: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:310] kernel version seems to match DSO: 460.39.0
2021-04-02 12:56:04.819910: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2021-04-02 12:56:04.821691: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-04-02 12:56:04.823450: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-04-02 12:56:04.827242: I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:301] Initialize GrpcChannelCache for job worker -> {0 -> localhost:12345, 1 -> localhost:23456}
2021-04-02 12:56:04.828921: I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:411] Started server with target: grpc://localhost:23456
2021-04-02 12:56:04.885062: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)
2021-04-02 12:56:04.885517: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency:<PHONE_NUMBER> Hz
Epoch 1/4
2021-04-02 12:56:07.219137: W tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:455] error: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce
2021-04-02 12:56:07.219172: W tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:1138] error: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce
2021-04-02 12:56:07.219180: E tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:1155] ScopedAllocatorOptimizer: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce
2021-04-02 12:56:07.219187: W tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:928] error: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce
4/4 [==============================] - 2s 3ms/step - loss: 0.3312
Epoch 2/4
4/4 [==============================] - 0s 3ms/step - loss: 0.3290
Epoch 3/4
4/4 [==============================] - 0s 3ms/step - loss: 0.3270
Epoch 4/4
4/4 [==============================] - 0s 3ms/step - loss: 0.3250

Due to the simplified example, it does not lead to immediate NaN loss as it does in my more complex model. However, I hope it is sufficient to reproduce and identify the issue.

@antonaldo,
I did not face the NaN loss issue on running the code for 100 epochs. Please check the attached screenshot for reference.

2021-04-02 12:56:04.819525: E tensorflow/stream_executor/cuda/cuda_driver.cc:328] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected

Also, looks like TensorFlow failed to detect the GPU on your machine. Could you please share the output of the below code with us?
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

Thanks!

@amahendrakar
Thanks for looking into this. Please let me clarify the example and the issue.
Idea of the example was to reproduce this error message in a simple way:

2021-04-02 12:56:07.219180: E tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.cc:1155] ScopedAllocatorOptimizer: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce

This example is related to the allreduce error observed. It is a very simplified example, so I am not sure if it will go into NaN-loss.
Can you reproduce the error message related to allreduce with the example?
GPU was turned off on purpose in my example, so that it becomes clear that this error message is not necessarily GPU. However, the allreduce error message shows op on GPU as well. This happens if I use the example one one machine or distributed on two different machines with GPU or CPU.
This only happens when using tf.distribute.MultiWorkerMirroredStrategy.
When using tf.distribute.MirroredStrategy or non ditributed training the error does not show up. So there seems to be an issue with tf.distribute.MultiWorkerMirroredStrategy when used in the context of the example provided.
I hope this clarifies the problem.

Hi @antonaldo, your model trains fine with MirroredStrategy but then when you use MultiWorkerMirroredStrategy it still trains, but you see the message ScopedAllocatorOptimizer: Aborted: Complete shape not known for Adam/allreduce/CollectiveReduce. Have I understood this correctly?

@nikitamaia
Yes, you are correct, when using MultiWorkerMirroredStrategy the model performs the training loop, but the error message is displayed at the beginning. However, when using my full model with MultiWorkerMirroredStrategy loss is not decreasing, but ends up in NaN loss after a few steps.
When using MirroredStrategy training works as expected with my full model (loss decreases).
I assume that the observed error message is the reason for this unexpected behavior when MultiWorkerMirroredStrategy is used.

So that message means that an optimization failed and your model training might run slower. I don't know that it would cause a nan loss though. A few questions:

Do you still have the nan loss if you use a different optimizer?
Can you also provide a screenshot of the logs for your full example?
are you scaling your batch size by the number of replicas? global_batch_size = per_replica_batch_size * strategy.num_replicas_in_sync

Quick update, looks like you should not encounter this ScopedAllocator issue with TF 2.5.
Can you try your code with 2.5 or nightly?

@nikitamaia:
I have tried it with nightly and the error is no longer displayed. Therefore, this problem is resolved an I will close this issue.
I realized that the observed NaN-loss in my full model is most likely related to use of tf.keras.layers.experimental.SyncBatchNormalization(). I will look into this and file a new issue if needed.
Thanks for your support!


Windows store (game) apps

So, I’ve got another issue I noticed but first of all I want to thank you for your work since the script is just awesome!
the store is not uninstalled which is fine and I wouldn’t want it to be uninstalled. My issue lays that there are often there are apps that require Xbox to be installed to work, almost always games. Since I do not want bloatware but all of my functionality to work I am massaging you once again.
I cannot find what apps are required to run Xbox games on google so I tried some myself:
What I first tried is adding the following apps to the white list: Microsoft.XboxGameOverlay, Microsoft.XboxGamingOverlay, Microsoft.Services.Store.Engagement, Microsoft.XboxSpeechToTextOverlay, Microsoft.Xbox.TCUI.
I confirmed the apps where on the system after installation and tried to install a game to test. Unfortunately, it made no difference so I tried removing the removal of the scheduled tasks because I didn’t know what they did just for testing but that didn’t change anything.
So how I test is installing this app: https://www.microsoft.com/en-us/store/p/age-of-empires-castle-siege/9wzdncrfjb5l
When it says connection error (it doesn’t give an error without running this script on my deployment) it means it’s still missing an app or multiple apps.
I hope you can help me out, thanks in advance.

Just go through the script and remove anything that says xbox in it so it doesn't uninstall anything xbox related.

Hello, I actually experience the same thing. From my testing it seems that you lose the rest of the Xbox Appxpackages/appxprovisionedpackages once they're removed and it doesn't look like they can be re-added, unfortunately.

So, is there a possibility that I can prevent removal in the first place? wouldn’t that solve it?
Of course, I wouldn’t like bloatware to be on my computers, but I could make a difference between Windows 10 Home and Pro since pro is more for those who use their computer inside domains or as hypervisor anyway and the home users just basically use it for basic use and games.

So I’ve figured it out. The following apps have to be added to the whitelist or have to be reinstalled to the system to make Xbox connected apps available again. :
Microsoft.XboxGamingOverlay
Microsoft.XboxGameOverlay
Microsoft.XboxIdentityProvider
Microsoft.Xbox.TCUI
If installed it works perfectly fine again.

I updated the scripts so that those aren't removed.


some pools don't pay masternodes.

Zergpool:
https://explorer.pyrk.org/block-height/96527
https://explorer.pyrk.org/block-height/96523
https://explorer.pyrk.org/block-height/96521 and other blocks -  all coins to pool
Zpool:
https://explorer.pyrk.org/block-height/96530
https://explorer.pyrk.org/block-height/96516 and others blocks
Unknow pools
https://explorer.pyrk.org/block-height/96531
https://explorer.pyrk.org/block-height/96528 and other blocks
But for these blocks "getblocktemplate" returned required payment for the masternodes

Latest release now has deterministic masternodes DIP0003 and DIP0004 which should resolve this issue


Applying defaults with a base URL

https://github.com/kenchris/urlpattern-polyfill/blob/3b7dde94e60b9353bd54328c8b61078175a2c816/src/url-pattern.ts#L68-L73
I'm not sure if i misunderstood or this is a bug/awkwardness, but essentially:
(new URLPattern({pathname: '/foo'})).pattern;
// produces:
{
  "hash": "*",
  "hostname": "*",
  "password": "*",
  "pathname": "/foo",
  "port": "*",
  "protocol": "*",
  "search": "*",
  "username": "*"
}

(new URLPattern({pathname: '/foo', baseURL})).pattern;
// produces:
{
  "hash": "",
  "hostname": "",
  "password": "",
  "pathname": "/foo",
  "port": "",
  "protocol": "",
  "search": "",
  "username": ""
}

this means the computed regex patterns become ^$ in the latter, rather than ^(.*)$.
so we can't rely on defaults if we have a base URL? the comment i quoted seems to hint at the fact that its on purpose, but it feels like the behaviour should be the same to me

URL parsing baseURL produces a specific value for every component.  Writing https://example.com/foo is the same as writing https://example.com/foo?#.  If you use a base URL or the string argument to the constructor then you must explicitly provide wildcards.
What I don't understand in your example, though, is how you can have a base URL with empty string for all components.  That should fail to parse.
Also, the URLPattern.pattern property is an internal private field.  You should instead just reference the URLPattern.hash, etc, getters instead.

I can't reproduce your example:
const p = new URLPattern({ 'pathname': '/foo', baseURL: 'https://example.com' });
console.log(p.hostname);

Logs example.com for me.

ah sorry it was just a terrible example. the host etc will have been populated.
https://jsfiddle.net/4u76p0sv/
Just like in my example further up, you can see the pattern is * when initialised without a base URL, and "" when initialised with a base URL.
So it seems you are correct and we need to set every part to * manually if we have a base URL (when i say every, i mean the ones we care about, of course we'd take the non-empty ones from the base URL).

that makes sense, but i do wonder if the inconsistency will confuse more than just me.
in your example, you essentially have:
{
  "hostname": "example.com",
  "hash": "foo",
  "password": "",
  "pathname": "/",
  "port": "",
  "protocol": "https",
  "search": "q=1"
}

the parts we care about have explicit values. the empty ones are parts we haven't defined.
the inconsistency comes when you do/don't have a base URL:
new URLPattern({ baseURL: 'https://example.com/' }); // everything is an exact match of empty string
new URLPattern({ }); // everything is a wildcard

maybe im an outlier but i would assume (and did assume) that the base URL provides defaults for the parts it contains, leaving the rest as URLPattern's defaults (wildcard).
your example would work exactly as it does now, if the default was wildcard rather than empty string. because everything you care about in that situation has an explicit value.
anyhow this is more of a question to wherever the draft repo lives more than the polyfill i suppose. i am happy to pass the wildcards myself but if that stays the behaviour, its probably worthwhile documenting it very clearly if it isn't already

If we coerced empty string to * then there would be no way to write "please match where  is empty".  For example, if you want to exactly match the default port or exactly match that there is no query string.
Ultimately empty string and undefined are different values.  We map undefined to *, but we must support matching empty string as its a valid constraint.

By the way, this discussion might be better as a https://github.com/WICG/urlpattern spec issue.

@kenchris I think this can probably be closed unless you want to update some documentation within this repo.


Validators

This PR addes a new DSL method to allow validation of values before setting them.
This can be useful to validate user input (via ask) or to check the certain values are valid (like paths should not contain spaces or other strange characters).
A default validation for the variable application is added to ensure a proper application name.
closes #1053
closes #1183
/cc @ain @koenpunt @leehambley
Open for discussion and feedback (especially what a good default validation should do? raise? auto-fix?)

Sorry to have left this languishing for so long, merged with thanks :)

:+1:


CPU usage at 100% ~all the time

Not sure if I'm using this somehow wrong, but I'm getting continuous 100% CPU usage when looping stuff with temporal. See example code:
var pollIntervalInHours = 4;

temporal.loop((pollIntervalInHours * 60 * 60 * 1000), function() {
    console.log('# Temporal loop executing!');
    doStuff();
});

This issue is referenced in here also: https://github.com/rwaldron/johnny-five/issues/169#issuecomment-21324787, but upgrading to latest node (0.12.7) doesn't do any difference in my case.

This is the cost of using "recursive"  setImmediate to create an extremely fast, async execution loop (it's not really recursive, since control is returned to the main process). It's this speed that allows temporal to review the internal schedule for tasks to execute more than once per millisecond, which is needed to create preferential execution cycles for hardware programming.
I won't beat around the bush, a program that wants to schedule something every 4 hours shouldn't use temporal at all—this library is for writing timing sensitive programs that are expected to be the primary process running on a given system, where the power source itself is tuned to accommodate that program specifically. Concrete examples include: walking robots (autonomous and remote control bipeds, quadrupeds or hexapods), driving robots (autonomous and remote control rovers), flying robots (autonomous and remote control single and multi-rotor helicopter), or water based robots (underwater rovs, surface boat-likes).
I should probably put all this in the readme

Yeah, mentioning that on the README could be good - I wouldn't be surprise if someone else would try to abuse this module the same way I did.
My use case was that I needed to do cron-like execution and I thought that I could make a shortcut with temporal and forever. If the CPU-usage wouldn't have been an issue, this approach would have saved me from setting required configuration environment variables at the cron config (forever gets user's env vars).
Thank you for your fast reply!

Couldn't you just use
setInterval(function() {
  //...

}, pollIntervalInHours * 60 * 60 * 1000);

Nope, you are not missing anything, I noticed that I am truly overengineering this instead of keeping it simple.
Your suggestion would work perfectly. Apologies for wasting your time.

No apologies necessary and certainly not a waste of my time—I'm glad that I could help you find a solution (even if it meant not using my module haha). Good luck with the rest of your project :)


Delete Image/Video

Firstly thank you for the library, how can we add a Delete icon next to the Download button?

Hi twostarii,
While this project does have htaccess based authentication, it is not a fully secure login method. I do not feel comfortable adding a way to delete content from a user's server with the existing authentication.
If your use case is different somehow, you should be able to have a developer add a custom plugin similar to how the instaGallery_download.inc plugin works.


Multiple futures

Can I make Promise/Future of multiple futures, lets say I have 2 API calls one returning some mapped object like Article and the other simple Integer. How do I combine those two to single Future, cause I wanna do something when both of these are done :)

I need to document that.  But there is a class called FutureBatch.
FutureBatchOf is a typesafe version.  But it requires all the futures to be the same type.
FutureBatch is a type alias of FutureBatchOf.
And if has a var "future" which will succeed iff all of its subfutures succeed.
They also execute in parallel. The result is an array [Any]

Didn't mean to close this yet.
I'll get the documentation and example up this weekend.

Well, I think there should be more options of handling this ... Like complete if any of the futures is completed ... complete if all the futures are completed, etc ..

So the current implementation waits for all to finish.  Which I use a lot in my code.   It also keeps error handling simple and reliable.
There is also an internal future that first returns a an array of Completion<Any> if you want to query the individual futures results.   But I never have used that.  I mostly just want to fail if any fail.   One option I have considered adding is to stop immediately after the first failure.  (It currently doesn't do that).  Which hasn't been a huge problem for my existing apps so I haven't added that feature.   But might be worth adding but it does add complexity.
It wouldn't be hard to build a "return a value immediately if any finish".  I can show an example of how to do that.  But not sure if it should be part of FutureBatch or just included as an example.  (Cause it's dead simple).
For that you can just create a single Promise, and than iterate through an array of Futures calling onComplete or OnSuccess that try to complete the Promise.  And use the future from that Promise.
Do  you care if the others succeed? Should they be canceled?
I've been intentionally trying to remove complexity or confusion from the initial launch.

Added this:
https://github.com/FutureKit/FutureKit/pull/5
Which changes FutureBatch a bit.  Still need to add a full set of test cases.  But it should do what you want.
There are now 3 vars
completionFuture - returns an array of Completions<T>.  Always returns '.Success' with an array of completion values.  Does't finish until all sub-futures do.
batchFuture - returns an array[T]. Will Fail if one sub-future fails.  Will return Cancel if no Fails, but one sub-future is canceled.  Completes only after all sub-futures have completed.
future - exactly like batchFuture - EXCEPT it will stop immediately if one of the sub-futures returns Fail or Cancel.  It doesn't wait for other sub-futures to complete.
Also add
cancelRemainingFuturesOnFirstFailOrCancel() and cancelRemainingFuturesOnFirstFail() which will try to cancel other sub-futures if one of the sub-futures fail.  (To help speed up halt/cleanup).
onEachComplete() which lets you define a block that will run as soon as each sub-future completes.
I think this should be flexible enough to cover must needs for dealing with lots of sub-futures.
I killed append (for now)which would let you add a new future to an existing batch (that has already started).  Both cause I think it may lead to difficult to manage logic AND it was hard to implement once I added  onEachComplete() and'cancelRemainingFuturesOnFirstFailOrCancel().   Might return in a future version of FutureKit.

This has been closed in the latest releases.


Create dependabot.yml

This project doesn't use GitHub actions, so what would this do?

@imbsky said he's going to install dependabot for now as he's moving from Travis to GitHub Actions in the future.

I'll leave this open until that's ready then. Thanks!

Yep, thanks for explaining it @nzws 🙂


Database opening very slow when unlocking volumes on open

When using KeeLocker to unlock drives upon opening the database, it slows the loading of the database as KeePass becomes unresponsive while the drives are being unlocked. Before using this option, the database would open within a couple seconds, whereas now it takes ~10+ seconds, with KeePass not being responsive and the database not loading until all the drives are unlocked. This feature has been tremendously useful, and I intend to keep using it even with this delay, but it would be nice if something could be done about it, whether optimizing it so it doesn't cause KeePass to essentially lock up or at least delaying the unlocking of the drives until the database is loaded.

Upcoming 1.6 release may improve your situation. It's available in the releases page here (but not yet from keepass update screen, I'm testing it for a little while before).


Add Varun Nair to Contributors list

Hi  @VarunDelft, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added social share  to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.

Hi @Roshanjossey , thanks for preparing this tutorial on basics of a GitHub workflow. I got a good understanding of some key terminologies such as staging, commit, merge and pull requests. If possible, could you also add some more advanced topics ? I am quite new to software development and am currently learning some Python. There are some open source projects which I hope to contribute to. However, the code base seems quite big and complex. My question is: how does one go about contributing to projects with large code ?

I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://goo.gl/PM1Jdh
We have more information in our slack group about contributing to other projects.


HNS V1 interface

What type of PR is this?

Uncomment only one, leave it on its own line:
/kind api-change
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

ping @madhanrm

/lgtm


[ContainerRegistry] Prepare for 2021 November release

update release date and entry in CHANGELOG

/check-enforcer override

overriding the known pipeline failure when re-installing native dependency

/check-enforcer override


Improve and migrate model_surgery guide

This PR does the following:

Add a bunch more texts explaining why and how to do param and opt state tweaking to readers with little context of Flax terminologies.
Explained the FrozenDict a bit more.
Make the guide notebook-based, so that it's trivial to open a colab and test the code.

It is a good idea to transition docs from .rst to Colab+md files. Thanks!

It is a good idea to transition docs from .rst to Colab+md files. Thanks!

1 @gnecula We have some docs that use tables with before/after code. Unless we find a Markdown-way of implementing this without any (or too many) (external) Markdown "themes" for Sphinx, we can keep them for now. There may also be a way of doing this in HTML embedded in Markdown 🤔 (we do this in TensorFlow . org)

@IvyZX Thanks for the PR. Will review asap.

It is a good idea to transition docs from .rst to Colab+md files. Thanks!

(Note: In some Markdown flavors, code diff highlighting can be done by adding "diff" (similar to adding "python" if you want the code to have python syntax colors). Will investigate if this works in Sphinx for ReadTheDocs. cc @cgarciae You can use it in GitHub comments that support Markdown (during reviews). Reference: https://stackoverflow.com/questions/40883421/diff-syntax-highlighting-in-github-markdown )

In my opinion, the Github diff highlighting is quite a lot worse than what we have now. We currently have a side-by-side view, which I think is very effective to demonstrate the effect of a change (see e.g. @cgarciae's BatchNorm guide). The diff view with green and red is not so easy to read, I think.
I think these side-by-side views do have a benefit so I would be in favor of keeping them as .rst for now. I do agree that if we don't use these side-by-side views in a doc we should switch to notebooks.

I agree that the side-by-side views look pretty convenient and we should keep them as .rst, until we find a good alternative. The doc on this PR doesn't have the side-by-side views so it could be safely converted.

After @cgarciae and @levskaya are finished with their reviews, I will add my final suggestions.


Command to paste in is missing quotes, so fails.

When intero has a problem starting up, it (very helpfully) shows the command it was trying to run. But, unfortunately, it is missing quotes around the arguments to pass to docker, which means the command fails because docker arguments are being passed to stack (which doesn't understand them).
An example command is:
stack ghci --with-ghc intero --docker-run-args=--interactive=true --tty=false --no-load --no-build --ghci-options "-odir=/var/folders/4q/x49z7wfx6656_0h1_stqth5h0000gn/T/intero88354yPD" --ghci-options "-hidir=/var/folders/4q/x49z7wfx6656_0h1_stqth5h0000gn/T/intero88354yPD" project

And the problem is that there aren't quotes around the --docker-run-args (I'm not actually sure how far they need to go, but at least --tty is not a stack argument).

Good catch.  I'll fix when I get home. Thanks!
On 5 Jun 2016 00:25, "Daniel Patterson"<EMAIL_ADDRESS>wrote:

When intero has a problem starting up, it (very helpfully) shows the
command it was trying to run. But, unfortunately, it is missing quotes
around the arguments to pass to docker, which means the command fails
because docker arguments are being passed to stack (which doesn't
understand them).
An example command is:
stack ghci --with-ghc intero --docker-run-args=--interactive=true --tty=false --no-load --no-build --ghci-options "-odir=/var/folders/4q/x49z7wfx6656_0h1_stqth5h0000gn/T/intero88354yPD" --ghci-options "-hidir=/var/folders/4q/x49z7wfx6656_0h1_stqth5h0000gn/T/intero88354yPD" project
And the problem is that there aren't quotes around the --docker-run-args
(I'm not actually sure how far they need to go, but at least --tty is not
a stack argument).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/commercialhaskell/intero/issues/65, or mute the
thread
https://github.com/notifications/unsubscribe/AAArCxNELZuyViCHZNteh4OmEqnEB2-gks5qIfthgaJpZM4IuO4w
.

Thanks!
I've had to run the command manually a few times when switching
targets (which succeeds the first time, and then once that happens, intero
works), but overall, this seems like finally the Haskell Emacs IDE that
actually just works. Somehow it always seemed like it should be possible to
have flycheck/type lookup that reliably worked, but I guess stack had to
come first...
Anyway, great job (as always).
On Sunday, June 5, 2016, Chris Done<EMAIL_ADDRESS>wrote:

Good catch. I'll fix when I get home. Thanks!
On 5 Jun 2016 00:25, "Daniel Patterson"<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

When intero has a problem starting up, it (very helpfully) shows the
command it was trying to run. But, unfortunately, it is missing quotes
around the arguments to pass to docker, which means the command fails
because docker arguments are being passed to stack (which doesn't
understand them).
An example command is:
stack ghci --with-ghc intero --docker-run-args=--interactive=true
--tty=false --no-load --no-build --ghci-options
"-odir=/var/folders/4q/x49z7wfx6656_0h1_stqth5h0000gn/T/intero88354yPD"
--ghci-options
"-hidir=/var/folders/4q/x49z7wfx6656_0h1_stqth5h0000gn/T/intero88354yPD"
project
And the problem is that there aren't quotes around the --docker-run-args
(I'm not actually sure how far they need to go, but at least --tty is not
a stack argument).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/commercialhaskell/intero/issues/65, or mute the
thread
<
https://github.com/notifications/unsubscribe/AAArCxNELZuyViCHZNteh4OmEqnEB2-gks5qIfthgaJpZM4IuO4w
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/commercialhaskell/intero/issues/65#issuecomment-223800723,
or mute the thread
https://github.com/notifications/unsubscribe/AAiwpTIrbNzlfNBdaG7XUJEs7yzWfvHXks5qIo4OgaJpZM4IuO4w
.


instrumentation: fastapi prometheus middleware

About this change - What it does
Added a middleware to instrument the fastapi requests.

I will close this in favour of the OTel metrics adding in #1011


Feature: exception handling

Dump non-200 responses instead of attempting OpenAPI decoding. This will catch and nicely render common error messages like 403: "credentials not provided".
Assert the render data is an instance of coreapi.Document

Current coverage is 100% (diff: 100%)

Merging #523 into master will not change coverage

@@           master   #523   diff @@
====================================
  Files           3      3
  Lines          61     66     +5
  Methods         0      0
  Messages        0      0
  Branches        5      6     +1
====================================
+ Hits           61     66     +5
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update a2b6487...7d8cca9

@marcgibbons
Thanks!
The "fixup!" commit was meant to be squashed though.
Check out http://fle.github.io/git-tip-keep-your-branch-clean-with-fixup-and-autosquash.html.
zsh has nice completion after git commit --fixup, and I am using the following shell function (where just gcf adds a fixup for HEAD):
gcf () {
	typeset -a opts
	while [[ $1 = -* ]]
	do
		opts+=($1)
		shift
	done
	git commit $opts --fixup "${@:-HEAD}"
}

I have an alias for grbi=git rebase -i --autostash and grbiom=grbi origin/master then.
Hope that's useful.. :)

@blueyed I had no idea! Very cool feature!


Add Ethereum name or address to package.json

I would like to see an Ethereum name or address added to the ethereum field of the package.json file. This will allow consumers of the project to know a canonical address to send funds to. For example, I'm building an application that will allow developers to automatically donate ETH to all of their npm dependencies that have Ethereum addresses in their package.json files: https://sustainus.io

Hello... I'm one of the devs here ;) what's the purpose of this? are you going to modify your own?

I've decided to kind of lay low on Sustainus, waiting for npm to come out with their program which might make more sense to use: https://blog.npmjs.org/post/187382017885/supporting-open-source-maintainers
But the idea is to add an Ethereum address for this project so that people can send funds to it. You would add the address as a custom field in the FUNDING.yml file that is associated with GitHub sponsors

I've decided to kind of lay low on Sustainus, waiting for npm to come out with their program which might make more sense to use: https://blog.npmjs.org/post/187382017885/supporting-open-source-maintainers
But the idea is to add an Ethereum address for this project so that people can send funds to it. You would add the address as a custom field in the FUNDING.yml file that is associated with GitHub sponsors

So this is for the purpose of funding for animate.css or the one will be using it?

For funding animate.css. The users of animate.css would be donating

@lastmjs thank you for your initiative in funding the animate.css, but we don't need any donation as per @daneden since he opens this for public use. The core developers and maintainers of this repository are all good to keep this repo active as much as possible.
Even me, I'm busy to update and work on animate.css but we are doing our best to support and develop this animation library. Thank you for your support we will maybe add this in the future. ;)
Agree? @eltonmesquita

Thanks for your consideration @lastmjs, but I'll close this as it doesn't fit the project needs and as you cited, there are better options today.
Thanks again!


Contract is not visible on etherscan if deployed through factory contract

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
0.2.0
What command(s) is the bug in?
cast send --gas-limit 20000000 --json  0x0aaA1E0f026c194E0F951a7763F9edc796c6eDeE newAuthGemJoin(address,bytes32,address) 0x5DCdbD3cCF9B09EAAD03bc5f50fA2B3d3ACA0121 0x5257413030374154322d41000000000000000000000000000000000000000000 0x88f1953f1839D0A2F81DC30482AE8b631F7DF376
Operating System
macOS (Intel)
Describe the bug
When I call contract method which creates another contract this contract is not visible on etherscan (Goerli).
This issue start only after I update to the latest version

@nduchak did tx actually succeed? if so, could you provide the hash?

huh, i can confirm
Tx: https://goerli.etherscan.io/tx/0xa351a79dfc533b4a0533da622dd741e6b9f72b38ac45fbe71c19b2535e228894
contract page is empty, but if you run cast code 0xac2eccaf266c74b18b12ba008cd9df755f8eae95, it will give you the bytecode.
unfortunately, I doubt that we can help you anyhow here. try contacting etherscan support

huh, i can confirm Tx: https://goerli.etherscan.io/tx/0xa351a79dfc533b4a0533da622dd741e6b9f72b38ac45fbe71c19b2535e228894 contract section is empty, but if you run cast code 0xac2eccaf266c74b18b12ba008cd9df755f8eae95, it will give you the bytecode. unfortunately, I doubt that we can help you anyhow here. try contacting etherscan support

Thanks, it was a bug of Etherscan. Now it's working


Potential Use Case: What are the Benefits to Business?

This could potentially draw from some of our other use cases, but I'm thinking something in the form of a sales pitch. If you're a business owner or development shop, why does investing in OSS make sense for you?
(this might seem obvious to some of us, but we'll shoot for empathy and not to seem patronizing about it.)

An example of this success recently -- NancyFx sponsored development:
http://thecodejunkie.com/2016/02/22/working-full-time-on-getting-nancy-running-on-coreclr/


Disable duplicate name validation on new schemas

This is a necessary patch for us to handle duplicate names in SELECT statements (e.g. SELECT x, x from main). It disables DF's duplicate name validation when creating projections/new schemas, which are non-SQL conformant.
This is a self-contained change -- I will clean this up and try to get it upstreamed.

No, this is unrelated to CAST.


[Mgmt] Expand enum in resource types & put extra parameters in GetAll method to constructor

Fixes https://github.com/Azure/autorest.csharp/issues/1702
Fixes https://github.com/Azure/autorest.csharp/issues/1694
Description
This PR introduces the functionality that expand one resource with a resource type that contains variables in it into multiple resources with one solid and constant resource type. This is required since the base class of all resources ArmResource can only hold one constant resource type in its ResourceType property.
Therefore this PR changes our map for Resources to Dictionary<string, Dictionary<ResourceType, Resource>>. Same thing happens to ResourceCollections, since in this case we can have multiple resources under the same request path.
The CreateOrUpdate (and other methods in the collection class) will automatically omit the parameters that originally appear in the resource type, this variable will be given the corresponding constant value when invoking the corresponding RestOperations.
This PR also introduces a new format for the request-path-to-resource-name configuration to ensure you could use the configuration to override the resource name in this case. You can do this by using this format as key: request-path|resource-type (see the test project for detailed examples).
This PR also refactors the way we initialize resource and resource collection. Now the map of resources and the map of resource collections are guaranteed to initialize together.
Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

/azp run autorest.csharp - ci


add logging/debug output

see the built-in logging module tutorial.

[ ] check about writing to stderr instead of stdout using rich driver
[ ] add a --quiet CLI option to write no logs


feat: namespace restrictions for gateway routes

What this PR does / why we need it:
This PR adds namespace based restricting of traffic routing based on whether --watched-namespaces is in use on the controller.
Which issue this PR fixes
Resolves #2080
Notes
This is not necessarily the final implementation we'll have for this but it works in the interim. We're separately pursuing improvements upstream to make it possible to list the namespaces that should be supported in a declarative manner: https://github.com/kubernetes-sigs/gateway-api/discussions/977

After talking with someone upstream I think there's a good chance we can have upstream improvements pretty soon, so I'm going to pass on this for now and push it up into the next milestone so that we can continue to follow up on https://github.com/kubernetes-sigs/gateway-api/discussions/977 and get a complete solution.


feat: drop Node.js 16

Closes #546

Closed in favour of https://github.com/vercel/edge-runtime/pull/1045


Can't update simple_usertype at runtime when using index/newindex metamethods

Using this code:
auto registration(lua.create_simple_usertype<CTestType>());
registration.set(sol::call_constructor,       sol::constructors<CTestType()>());
registration.set(sol::meta_method::index,     &CTestType::getter);
registration.set(sol::meta_method::new_index, &CTestType::setter);
lua.set_usertype("test", registration);

lua["test"]["hi"] = [](CTestType& _self) { _self.hi(); };

This line:
lua["test"]["hi"] = [](CTestType& _self) { _self.hi(); };
Throws:
lua: error: lua: error: lua: error: sol: received nil for 'self' argument (use ':' for accessing member functions, make sure member variables are preceeded by the actual object with '.' syntax)
It doesn't hit the getter/setter, but without them it does work. I'm not sure if I'm just pushing the limits here, but figured I'd report it.

There's a long explanation about why this doesn't work and stuff (and why its also a bug), but let's just make it short. To start, pull from the latest. Then, observe the following:

You can set index and new_index freely on any usertype you like
new_index and index will not be called if you try to manipulate the named usertype table directly. This means modifying test (as in your code) will not call your new_index function, but sol2's instead to add that function to the usertype's table.

new_index and index will be called if you attempt to call a key that does not exist on an actual userdata object. That means t = test(), with t.hi = 54 will call your function, but test.hi = 54 will not.

The behavior that is has now, as of this pull, is actually what I did expect -  my goal was to bind additional functions to the objects (a la classes) and not go through my setter/getter - so thanks so much for another quick fix. This is 100% the behavior I was going for.

@babyjeans 👍
Go get 'em!

Added a note in the docs here to make sure I don't forget the behaviors: http://sol2.readthedocs.io/en/latest/usertypes.html