feat(util): new helper type for recovering recorder after installing it

Context
In cases like #308, there can be a desire to ensure that a recorder flushes itself on process exit. As we install the recorder globally, such that it is leaked to provide the ability to acquire a static reference to it, recorders cannot normally participate in the typical Drop logic as objects are cleaned up before process exit.
Solution
This PR introduces a generic helper -- RecoverableRecorder<R> -- that allows for installing a wrapped version of the recorder, and acts as a drop guard to allow either manually "recovering" the recorder, or recovering it on drop such that the recorder's drop logic can also be called.
We wrap the recorder in an Arc<T>, and install a custom recorder wrapper that holds a Weak<T> reference. This allows the global recorder to provide access to the inner recorder without taking ownership of it.
When the caller manually seeks to recover the recorder, they call RecoverableRecorder::into_inner which attempts to unwrap the Arc<T> until there are no active references other than from the drop guard, which gives back the original recorder. If the drop guard is simply dropped, the original recorder too is dropped as soon as all active references to it have dropped, following the normal behavior of Arc<T>.
This does come with a small performance overhead, as every call through the weakly-held Recorder implementation must clone the Arc<T> before proxying the given method call, but it should be fairly minimal in practice. If performance is a huge concern, a recorder should implement its own drop guard for controlling flushing on process exit, but this is simply meant to be a generic solution when the application has no control over the recorder implementation.
Additionally, I've stripped out all of the atomic_cas and set_recorder_racy bits, as all illusions of metrics being no_std/embedded-compatible have sort of faded at this point, and it was just an opportune time to strip out the last vestiges.

Released in<EMAIL_ADDRESS>


[Feature Request]: Make install button show flatpak install command

I would love it, when the "Manual install"-section from the bottom of the page, would become a drop-down for the Install button, like the Clone button works on GitHub or GitLab.

Story time!
It might be just a me-problem, so feel free to drop this, but I find myself clicking the install button and downloading the .flatpakref-file more often than I like. For some reason I keep being under the illusion the install button would work like the clone button here on GitHub, opening a drop down with a handy snippet to copy.
Yet, I always end up with an unintended download, before scrolling down, copying the command from the manual install section and installing the application I want, while GNOME software is still counting something… maybe the stars in the galaxy.  I don't know, it takes ages and it just makes the current install button behaviour useless for me.

Did you report that to gnome software?

I mean, not myself, but it seems that a sufficient amount of people have tried, with limited success:
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1894
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1962
And to be completely honest, I don't know any other behaviour of GNOME Software. (Therefore I accepted it as it is. I can work around it quite well.)

Made this to play with it, not sure if we will land this.


Motion Detection local presets Does not work

way to error:
set up vtherm with motion detection
Set up vtherm to use its own presets (not central)
Expectation
When motion detected in room heating preset to be set on vtherm as per configuration.
Observation
Motion is detected on the vtherm but the preset is not updated and the heating does not come on.

No template -> no help.


Use non greedy aws_iam_user_group_membership

what
aws_iam_group_membership [1] is a greedy resource that can cause
inconsistent behaviour. The resource will conflict with itself if used more
than once with the same group. To non-exclusively manage the users in a
group switch to the aws_iam_user_group_membership [2] resource which
can be used multiple times with the same user for non-overlapping groups.
why
Note that terraform-aws-iam-user [3] is using the
aws_iam_user_group_membership resource. This mix is causing issues when
running root account level Terraform. users is run and any subsequent
runs of iam (which calls this module) is greedily removing users from
groups that were associated in the users run.
testing
I managed to reproduce this issue on testing after bumping root.cloudposse.co terraform-root-modules to current release.
Applying users followed by iam, users are not removed from any groups.
[1] https://www.terraform.io/docs/providers/aws/r/iam_group_membership.html
[2] https://www.terraform.io/docs/providers/aws/r/iam_user_group_membership.html
[3] https://github.com/cloudposse/terraform-aws-iam-user/blob/master/main.tf#L20-L25

I believe this might have other unintended effects.
EG: You now cant pass var.user_names from the output of another resource (eg. a resource that creates the users) as it will fail to compute count (known terraform limitation). This means now you need to know by some external logic that your users are created before this can run, as there is no way to do depends_on between modules aside from implicit dependencies.
eg.
module "some_user_creation_module" {
  user_names = "${var.user_names}"
}

module "this_module" {
  user_names = "${module.some_user_creation_module.users}"
}


chore(main): release 0.3.4

:robot: I have created a release beep boop
0.3.4 (2023-11-10)
Bug Fixes

move antismash cpus and mem to config (1a74e81)
prevent antismash from erroring on seqs w/o proteins (f7065d0)
remove and comment out currently unused computation (7677748)
update strep config (ddd2299)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/socialgene/sgnf/releases/tag/v0.3.4 :sunflower:


"Added Dockefile to dockerized and host on nginx"

Hi @bgstaal ,
I have added dockerfile to dockerized the app and used nginx to host it when docker docker container is spin up.
Please Review & Approve it :)
Thanks,
Rohan Rustagi

Hi @bgstaal ,
I have added dockerfile to dockerized the app and used nginx to host it when docker docker container is spin up.
Please Review & Approve it :)
Thanks, Rohan Rustagi

Stinky👃🏻indian LOL

@Zaid-maker nice one islamic beggar.


Add option to enable CAPI http for Android

What's the motivation of this change? Why is CAPI based http client needed here?

What's the motivation of this change? Why is CAPI based http client needed here?

Good question, will wait for @vgerasimovms to reply. The scenario I could think of was trying to use C-API from the android app using JNI. Vitaliy can confirm if the default HTTP client for android is not getting initialized in that case?

in MIP we use CAPI and we re-define task dispatcher and HTTP methods - it is how that works today for MAC, iOS, Linux, Windows
I'm in the process to start using OneDS client for android in the same way how that had done for other platforms. I've faced issue: HTTP client is null for Android. I believe that is the bug because in that case, I see dereferencing of nullptr, what leads to a crash. Do you have a sample of using CAPI for Android (test)?

Do you have a sample of using CAPI for Android (test)?

I don't think we have it in the repo. But SDK should configure default HTTP Client (based on the platform ) if HAVE_MAT_DEFAULT_HTTP_CLIENT is enabled.

I don't think we have it in the repo. But SDK should configure default HTTP Client (based on the platform ) if HAVE_MAT_DEFAULT_HTTP_CLIENT is enabled.

in the SDK it tries to use what jni provides, but we don't use java wrappers for calling OneDS - we use c++ calls c++. In that case no default http client present. One way is to use curl, but it is not part of ndk and we will have to build it by ourselves.

in the SDK it tries to use what jni provides, but we don't use java wrappers for calling OneDS - we use c++ calls c++. In that case no default http client present. One way is to use curl, but it is not part of ndk and we will have to build it by ourselves.

Ok, I think it would help if someone with android expertise ( @larvacea @saurabh-sagrawal  ? )  have a look at this PR.

I've talk to Trevor, and he said #ifdef for Android was introduced because of it wasn't fully supported at that time.
About http client: So, if OneDS client will be compiled without curl and will be run without involving mat_open_with_params with overridden http stack it has to be run/initialized through JNI - otherwise NO HTTP client at all?

in the SDK it tries to use what jni provides, but we don't use java wrappers for calling OneDS - we use c++ calls c++. In that case no default http client present. One way is to use curl, but it is not part of ndk and we will have to build it by ourselves.

Ok, I think it would help if someone with android expertise ( @larvacea @saurabh-sagrawal ? ) have a look at this PR.

Actually I'm confused here, what is a CAPI?
Is the intention to use the sdk in android app without any java code to initialize the sdk?

Actually I'm confused here, what is a CAPI? Is the intention to use the sdk in android app without any java code to initialize the sdk?

We build C++ SDK and create java wrapper where we expose just SDK functionality and prefer don't do that for dependencies (OneDS)

We build C++ SDK and create java wrapper where we expose just SDK functionality and prefer don't do that for dependencies (OneDS)

I am fine merge this PR ( Max also has approved it ), just curious - the changes  ( in this PR ) are not required if you use mat_open_with_params() -> mat_log() -> mat_upload() capi functions through jni ?

I am fine merge this PR ( Max also has approved it ), just curious - the changes ( in this PR ) are not required if you use mat_open_with_params() -> mat_log() -> mat_upload() capi functions through jni ?

It still requires changes: mat_open_with_params calls mat_open_core which ignore http override in case of Android


Send DM confirmation when someone disables their account

Ie the inverse of #1024.

That's probably not going to work (unless a method other than blocking is used to revoke the opt-in).

Definitely, the DM would need to come from a different account, eg<EMAIL_ADDRESS>


Feat:batch script support

Feature description and goals
There appears to be Command Line support for single Preview thumbnails to cache. It would useful to populate a destination folder with thumbnails of specific size.
This would need batch script processor with parameters for source file, destinations file, thumbnail dimension(s) and page offset selection (for multi-page documentation like PDFs) or subregion designation (for over-sized images with significant dead-space that would render poorly as thumbnails).
Example use case:
The open-source Python 3.5 genealogy database application Gramps supports attachment of Media files with thumbnails.  But the internal thumbnail generator does not support nearly the variety of MIME types. And the the project distributes under the GNU General Public License, version 2 (GPLv2). Rather than deal with the hassle of multiple licensing, it would be simpler to recommend running preview-generator as a separately installed utility and have Gramps generate a report that outputs a batch script.
References:
https://github.com/gramps-project/gramps

Hello @emyoulation,
Do you have an example of something that would not work by simply calling preview-generator in a bash loop to perform a batch operation?
Can you give an example of command line you'd would like to be able to run?


LoadSharing mirror update errors occur when creating volumes in Trident

When creating a new volume in an SVM protected by a Load Sharing Mirror, the ONTAP storage system is showing meassages similar to:
Job "SnapMirror Loadshare update" [id 1001] (snapmirror update-ls-set for source "") completed unsuccessfully: SnapMirror: error: Another transfer is in progress. (With Job ID 1000 in Running State.), Function acquireTransferLock
Even with this message, the volume will still create and Trident will give no warnings or errors.
This is occurring because ONTAP and Trident are both updating the LoadSharing mirror.  The one that occurs first is succeeding, but the one that is kicked off second is failing because the first one is already running.

Hello, @NA-Scott.  There was a time when Trident had to kick off the LS mirror update, but it seems newer versions of ONTAP do that automatically.  As you observed, the error is harmless.  What version of ONTAP are you running, please?  It should be simple to prevent Trident's starting the update on newer ONTAP versions.

ONTAP version is 9.1P8


Disable rounded corners on Windows 11

Self explanatory title. However, for compiling: this increases the Windows SDK requirement to Windows 11 SDK (10.0.22000.0).

This is a very negative PR because it strictly increases the requirement to Windows 11 SDK just to add/remove one little detail and this should fit as a code snippet for anyone to use, not as a PR.

Fair point.


L4T 35.4.1 tegraparser_v2 returns error on zero length DATAFILE

TL;DR;
There appears to be an error, but everything seems to work OK.
See this forum post for context.
An error will be shown in digsigserver's logs although the generation of flash.idx is the last step in the signing functions within tegraflash_internal.py.  No error codes are captured and returned so digsigserver is going to return success - 200.  The resulting packaging will be missing flash.idx, but I'm not sure what it is used for.  As I was chasing issues with getting signing completely working with L4T 35.4.1 tooling I thought this was the source of one of my issues so I crafted a 'fix' in this branch to the tegraXXX-flash-helper scripts.  Turns out that doesn't really fix anything other than addressing the superficial error in the logs.
Worth fixing?  Ignore?  I think it's worth fixing so that this error doesn't lead to future chasing of red herrings.

What we probably need to do is update the helper scripts to remove those touch commands and instead remove the DATAFILE and other problematic file references in a temp copy of the layout.  Something along those lines, at least.


Create insertion_in_LL.cpp

@manan-shxrma  please check out my request

i amke sure i uplode right code in this repo .. please can you remove this spam tag ..
i am  working  hard for hacktober fest ... this spam waring is so terrifing..
am requesting you to please remove this code...

hey maan i upolded the right files in your repo can you please check out..

i make sure i uplode right code in this repo .. please can you remove this spam tag .. i am working hard for hacktober fest ... this spam waring is so terrifing.. am requesting you to please remove this tag

okayy but be very careful and particular before before uploading


Resize Manipulation

Hi Bartosz,
First off, you've created an amazing product, thank you!
Is there a manipulation event I can use to manually fire the resize function that OwlCarousel uses for its responsiveness? I'm developing a site on which the carousels width dynamically changes without the browser-window being resized. So the browser stays the same size while the carousel itself is enlarged or reduced by clicking on a trigger. I've tried using the jQuery .resize(); function but doesn't seem to do the trick.
I've found that you've developed plugin manipulation functionality like owl.data('owlCarousel').updatePosition(); . Is there also an event for triggering the resize function?
Best Regards,
Max

We've just used code snippet from that fiddle http://jsfiddle.net/GN22j/2/ :+1: in one our project. Thanks!


chore: updated peerDeps to support tailwind 3

Would really appreciate seeing this merged.

Thanks!

has this been published to the npm package?

I don't think so. I had to install using the repo URL the other day when I was trying it out again as a stopgap solution.
npm install https://github.com/spatie/tailwind-safelist-generator.git


Only fallback to proprietary webkit FS API if standard API is not available

In https://github.com/feross/drag-drop/blob/6f563124d468cdaa0fae7b9d33f3fc1f30e56010/index.js#L113, the code steps in the webkit fs api if it's available before checking if the standard way to do it works.
Reversing the branches here based on e.dataTransfer.files would allow library users to listen for file drops and set an input[type=file]'s selection to that (which is only supported by browsers for FileList as a security measure).

I saw your PR here: https://github.com/feross/drag-drop/pull/38 Let's continue discussion there. Closing this issue.


How-To for creating a debug build

It would be nice to be able to create a non-minified, non-all-in one file build. They are very useful for:

debugging
deployment in environments where I just that extra few percent reduction in bandwidth I get from gzip + minified over just plain old nginx gzip = 9 compression isn't worth losing the ability to debug side-by-side with a user.
compatibility with external configuration systems (e.g a salt template for a javascript file that sets up various routes/hosts that may vary from environment to environmet). Yes, I did end up with a conf.js in the public folder, but storing stuff in window.[config_variable] did feel a little icky.

Maybe there's some simple way to deploy a non-minified build that's obvious to experts.
But for someone, like me, that has used some node, grunt, bower, etc, for a few months, but is still relatively unfamiliar with the scope of the javascript package ecosystem, I can't seem to find a simple way. So maybe a How-To would help? If you could sketch it out enough for me to figure it out, I can massage it into something suitable for the wiki...
But... I can't even figure out how to assemble the files I have by hand into a directory structure without getting "Unexpected Token Import" or just a blank page issues, that leave me a little stumped as to what I should do next.

See this issue
https://github.com/facebookincubator/create-react-app/issues/1354

Hmm... the issue @viankakrisna is interesting, but not sure how it addresses this specific issue - I'm not trying to customize the build folder for my particular project, I just don't want my source to be minified and inlined into one file. It's fine if there is a standard option with a standard layout that does this.

To be clear, I'm looking for a standard option to generate debug builds.

You should just be able to ship the source map with the production build and get the niceties of debugging, actual source, etc.

@Timer Thanks! Was shipping, and did not know... but also ... only sort of kind of it does that. The debugger can see the actual source, so that's mostly there (and I just learned that)... but still, it nice to have the actual source file - and server-side, and not just in a debugger - especially when dealing with configs that vary - the public options gets you there, but a little roundabout.
Also, for a fairly simple app, sometimes it just nice to have a clearer idea what is going on with your source, from when nginx loads it on - actually see the calls to load things, etc.
If it helps, this is from the perspective of a mostly-backend dev who creates ui's on occasion and is more easily confused by all the magic then a skilled front-end dev.

Is this what you're looking for to manage configuration?
https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables
As for what you're trying to do (non-minified, etc), we don't provide any way to do that -- though you could use require.ensure to split your build into multiple files. I'm not sure if support will be added for such a thing without excellent reasoning.

Ah ok. Thanks for the info @Timer require-ensure is cool, but not really what I'm looking for. Sounds like it's best to close this as won't-fix for now. Will do that.
I come from a world where I don't minify and inline without excellent reasoning (I've never seen a convincing bandwidth argument (vs gzip), even for mobile, but javascript & decompress overhead, I don't know as much about that), so I think it's just a different POV.

I can't add won't fix, for some reason, so that will need to be added by someone else.

A debug build will be good, if we want to do App Security Scan such as IBM AppScan Source, which support pure js app scan.


The fonts of the toolbar between Documents editor and blob container editor are inconsistent

OS Version: Win10 Enterprise(32 bits)
Storage Explorer:  Storage Explorer_Mac_20170929.2
Repro Steps:

Launch Storage Explorer.
Choose a Cosmos DB account and open the Documents editor.
Check the font of the toolbar.

Expect:
The fonts of the toolbar between documents editor and blob container editor are consistent
Actual:
The fonts between documents editor and blob container editor are inconsistent. --Please see attachment compare.png.
More Info:

This issue doesn't reproduce on Windows.
This issue also reproduce on Linux.
This issue also reproduces on stored procedure/triggers/user defined functions editor.

This is TFS bug 502012.

This seems to be fixed already in 1.0.0


Mismatch between default template by Visual Studio and the template used in the Identity doc page

I'm quite confused between the referenced template, in this section:

Services are added in ConfigureServices.

and the template created by VS (15.7.4). I'm using .NET Core 2.1, and this is the template in a clean new project (ASP.NET Core Web Application, MVC, .NET core 2.1):
// This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

Also there are a punch of highlighted lines which means that we add them manually, Am I right? because nothing mentioned about these highlighted lines (why do we need to add them, )
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 94bfd895-d2af-390b-0801-428b36a27ff4
Version Independent ID: 0e0d870e-e49a-e16c-c259-68d58e701b8f
Content: Introduction to Identity on ASP.NET Core
Content Source: aspnetcore/security/authentication/identity.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

See #8395

@mshwf  you're looking at view=aspnetcore-2.0 which is the wrong version.

Yes, The highlighted code is in view=aspnetcore-2.0 , but there still a mismatch with the 2.1 (with no code highlighting) .


Frontend S3 bucket app

Hi there!
I've been using S3 locally, developing an API when I needed to save some images in a Bucket. And it worked great!
This time the situation is different. I have a full stack App, which is composed of a Frontend (a React app that is served in a S3 bucket) and a backend ( apigateway + lambdas ) and I need to run both the backend and the Frontend using the command "serverless offline start" could it be useful to use serverless-s3-local to do this?
Thank you in advance!

@fedeiglesias
Sorry for my very late reply. I couldn't find this comment.
As long as I read the document, S3rver supports web hosting feature.
I haven't tried this feature with serverless-s3-local, but I think it'll work correctly.
If you don't mind, please try it!


OSD-11517 Add missing shell scripts for the Dockerfile

Needed in https://github.com/openshift/aws-vpce-operator/blob/main/build/Dockerfile#L19, seems common to all operators - not sure why it wasn't part of boilerplating the operator...

/lgtm


rem en-us for loc

Docs Build status updates of commit 1045154:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

excel/Concepts/Excel-Performance/excel-performance-and-limit-improvements.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Use native MacOS DNS resolution

Command
N/A
What occurred
DNS resolution does not use the native MacOS resolution. Thus it does not take into account /etc/resolver/.
What you expected to occur
Use native MacOS DNS resolution by default or make it adjustable via env variable.  This does not seem to work with the present binaries either.
CLI Version
6.37
CC API Endpoint Version
N/A
CF Trace
Defaults to Go DNS resolver.
$ GODEBUG=netdns=2 ./cf apps
Getting apps in org labs / space dmikusa as admin...
go package net: built with netgo build tag; using Go's DNS resolver
go package net: hostLookupOrder(api.run-04.haas-59.pez.pivotal.io) = files,dns
go package net: hostLookupOrder(api.run-04.haas-59.pez.pivotal.io) = files,dns
go package net: hostLookupOrder(api.run-04.haas-59.pez.pivotal.io) = files,dns
FAILED

Cannot override to use cgo.
$ GODEBUG=netdns=cgo+2 ./cf apps
Getting apps in org labs / space dmikusa as admin...
go package net: built with netgo build tag; using Go's DNS resolver
go package net: hostLookupOrder(api.run-04.haas-59.pez.pivotal.io) = files,dns
go package net: hostLookupOrder(api.run-04.haas-59.pez.pivotal.io) = files,dns
go package net: hostLookupOrder(api.run-04.haas-59.pez.pivotal.io) = files,dns
FAILED

Platform & Shell Details
Mac OS 10.13.6, iTerm2 3.2.0
Any other relevant information
If I compile my own binary and set REQUIRED_FOR_STATIC_BINARY =-a -tags cgo -installsuffix cgo and CGO_ENABLED=1 GOARCH=amd64 GOOS=darwin go build in the Makefile, it works using the MacOS DNS resolution.
$ GODEBUG=netdns=2 cf apps
Getting apps in org labs / space dmikusa as admin...
go package net: using cgo DNS resolver
go package net: hostLookupOrder(api.run-04.haas-59.pez.pivotal.io) = cgo
go package net: hostLookupOrder(login.run-04.haas-59.pez.pivotal.io) = cgo

Hi @dmikusa-pivotal could you provide us with more details about this change? What is your use case? What were the issues you were seeing? How could we reproduce the issue? How would this change address those issues? Thanks.

What is your use case?

In MacOS, there is a feature with DNS resolution where you can add a file to /etc/resolver/. The name of the file is the DNS segment and inside the file you specify the DNS resolver to use for that name segment.
Thus if I want to use Google DNS for all google domains, I could add a file /etc/resolver/google.com and inside that put nameserver <IP_ADDRESS>.  If I then issued a curl www.google.com, resolution would be done against <IP_ADDRESS>.
The real use case here is that I want DNS resolution for my CF environment to happen with an internal DNS server, so I put an entry into /etc/resolver for my PCF DNS. All works well from my browser or other tools, but the cf cli doesn't respect /etc/resolver/ :(

What were the issues you were seeing?

See the examples above. DNS resolution fails, but only with he cf cli. It's because it's using Go's built-in resolver, which only takes into consideration /etc/resolv.conf.
If you instruct the binary to use the cgo resolver, this delegates to the native resolver libraries on my mac and that takes into account /etc/resolver/ so everything works :)
Unfortunately, the only way to do that at present is to recompile the cf cli myself. It would be nice if, at least on Mac, the build scripts compiled with cgo by default. Then I could go back to using the officially published binaries.
For what it's worth, I saw docs which seemed to indicate that I could set GODEBUG=netdns=cgo and that would instruct the binary to use the cgo resolver, but I did not have any luck making that work with the cf cli. If I could get that working, that would be an acceptable solution too.

How could we reproduce the issue?

1.) Set up a main DNS server, do that through System Preferences -> Network. Make sure it's unable to resolve the DNS used by your CF environment.
2.) The open a terminal and add a file to /etc/resolver/. The name should be the DNS name of your CF environment, ex: pcf.example.com. In the file put nameserver <ip> and enter the IP of the DNS server which can resolve the DNS for your CF environment.
3.) Run cf api api.system.pcf.example.com. DNS resolution will fail because it only takes into account the DNS server you configured in step #1, which cannot resolve the DNS names for your CF environment.

@dmikusa-pivotal We originally switched from permitting cgo to forcing netgo because users who were installing root certs for their own certificate authority would receive untrusted cert errors from macOS 's DNS resolution. See https://www.pivotaltracker.com/n/projects/892938/stories/156851937
We are removing the build time constraint to use netgo, so that macOS CLI will be able to use macOS's DNS resolving behavior, but if this causes the above tracker issue to regress, we will have to choose which issue to fix, or else build two binaries or something.

Ok, let me know when this is available and I can test. I work with labs using self-signed certs too, so if that issue resurfaces, it'll probably hit me too. Thanks!

@dmikusa-pivotal thanks, the edge binary includes the fix: https://github.com/cloudfoundry/cli/wiki

@abbyachau - I did some tests this morning and it appears to be working now.  I see go package net: using cgo DNS resolver. I also fired up Wireshark and I can see the DNS requests going off to the correct DNS servers.
I also do not see any issues with trust validation. I have connected to PWS, which has certs trusted by well-known CAs, one of my labs which has self-signed certs (generated by Ops Manager), and one of my labs that has CAs which are signed by an internal CA (the internal CA is installed in KeyChain). All of them worked as expected.
Hope that helps!

Hi @dmikusa-pivotal thanks again for raising this issue. We provided a fix for this in CLI 6.40.0.


Unable tto flash BW-SHP2 V2.3

I'm unable to flash: Blitzwolf BW-SHP2 V2.3
Hopefully, I'm doing something wrong but it looks like the device is responding as it stops blicking with the led.
Thank you verry much for working on this project!
Full Output, using a Raspberry pi3b to run it:
Starting smart config pairing procedure
Waiting for the device to install the intermediate firmware
Put device in EZ config mode (blinking fast)
Sending SSID                  vtrust-flash
Sending wifiPassword
Sending token                 00000000
Sending secret                0101
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
..................
SmartConfig complete.
Resending SmartConfig Packets
..................
SmartConfig complete.
Resending SmartConfig Packets
..................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
............
Timed out while waiting for the device to (re)connect

In the Tuya-Convert folder is a scripts folder - cd into that folder and copy out all your log files and post them. It will help!
I had a very similar issue that I just resolved by reflashing my Raspberry Pi with the Legacy version (Buster) of Raspbian and then setting up Tuya-Convert on this version.
Let me know if this helps.
Again - posting your logs will also help us help you.

Awsome! Indeed did install Buster and that is working. Still got some problems but I got a Tasmota webinterface so that should be fine!

Well, this did solve my issue, some more information in order to add it to openhab.
I needed to downgrade it in order to enable discovery.
https://community.openhab.org/t/how-set-up-the-native-tasmota-discovery/139112/13

EHoegee, is my second account, so this is solved.
install Buster and that is working :D
@ebuford I'm pretty new to tasmota, do we want to keep this issue open so they can check why it did not work on the new RP image? or do you know if there is an open issue on this?

If you have worked through the issue, I think it it should be closed.
Glad you got it working!


Add E2E GHA to test all K8s versions

Add GHA to run the E2E tests for the normal matrix but with every
relevant K8s version. This includes the currently supported versions, as
well as the oldest version thought to work with SubM.
Triggered once a week or manually with the "e2e-all-k8s" label.
Signed-off-by: Daniel Farrell<EMAIL_ADDRESS>

I would also add the e2e-all-k8s label to this PR to test the GHA once the PR has enough votes and doesn't require a rework.

I see Tom has rebased this, and I'm fairly sure we're doing the right thing here as Stephen explained, so I'd like to go ahead and merge this to prevent running 52 jobs yet again.


DBeaver setting SQL Assistant/Completion, the editor only assist with SQL keywords

DBeaver - Version 4.2.1
DBeaver JDBC driver: jTDS or Microsoft
Operating System: Windows 7 / Windows 8.1
Database Server: Microsoft SQL Express 2014
When checking the DBeaver SQL Completion setting SQL Assistan/completion - Enable auto activation, the editor only assist with SQL keywords when typing.
If unchecking the above setting and I type the first couple of letters of a table name and press CTRL+SPACE keyboard shortcut, the editor assist with both tables names (in sys, dbo) and with SQL keywords.
I would like the above setting would assist me with both table names and SQL keywords, not only the latter. As it is now I have to have the setting unchecked since it does not help me at all.

Yet another enhancement for #810

Clearification: What I would like to happen is the same as I get in DBeaver when connecting to a PostgreSQL database. That the lookup suggestions contain all database table names plus the SQL script commands.
With SQL Server connection the lookup suggestions only contain SQL script commands (no table names). Only way to get the table names is to write "dbo." and then the tables names is shown. Also I can close the automatic lookup suggestion and press CTRL+BLANK to see tables names.

The workaround for me currently:

Driver Manager
Edit driver
Advanced parameters
Check Omit catalogs

This allows the automatic search to not force you to start searching with dbo. or having to ctrl-space.
Might have side effects on the displaying of objects in the Database navigator.

Hi,
@sishgupta advice works well for seraching but when I choose the right object, it is inserted in the editor WITHOUT the schema prefix, and the query is not valid.
Am I missing something?
Thank you!


Impossible to force stop a Tone.Player once a stop operation has been scheduled

As discussed here: https://groups.google.com/forum/#!topic/tonejs/-Hl48fqrWts
I noticed that if I have a scheduled stop call on a Tone.Player (ie: myPlayer.stop(5)) and then I "change my mind" and I want to stop the player right now myPlayer.stop(), the last call will be ineffective.
Any call to stop will nullify the _source property here and make any subsequent stop call effectively noop:
Tone.Player.prototype._stop = function(time){
 if (this._source){
  this._source.stop(this.toSeconds(time));
  this._source = null;
 }
 return this;
};

It seems the reference to the source should be kept until AudioBufferSourceNode#onended is executed. As a side effect, it probably means that any call to start on an already playing player should immediately stop the previous AudioBufferSourceNode before creating and starting a new AudioBufferSourceNode.

Thanks for the issue. Should be fixed now on the dev branch. Will close the issue when dev is merged into master.  Here's a jsfiddle with the latest dev build.
As far as your second comment, that's already the behavior of all of the sources. If they are playing, they will stop and restart: https://jsfiddle.net/4arLarr5/

@tambien too fast for me :) I was planning to submit a PR. Anyway, I'll have a look. Thx for the fix.

Confirming the fix on the Dev branch. It also collateraly fixes Player#seek which was broken as well.


Consider making preoperators part of the same transaction as the actual operation

All my use cases would work better if each operator would execute everything in one transaction. Two examples:

I want to GenericTransfer a set of rows from one DB to another, and I have to create the table first in the destination DB. I feel like it'd be a lot more clean if I didn't have empty tables lying around if the insertion fails for some reason later on.
I want to GenericTransfer all rows from an entire table periodically to sync it from one DB to another. To do this correctly I want to clear the destination table first to make sure I end up with no duplicate rows, so I'd have a DELETE * FROM dst_table preoperator. If the insertions fail afterwards, I'd end up with no data (it would be better in most cases to fall back to the old data), and even if everything is working correctly, I'll have an empty table while the insertions as still executing.

To fix this, the relevant DbApiHook methods could support a new kwarg to set whether it should commit at the end.
Thoughts?

Moved to https://issues.apache.org/jira/browse/AIRFLOW-30.


Questions regarding optimization of WASM MediaPipe build

This issue is closely related to https://github.com/google/mediapipe/issues/877.
I am working with proprietary code using MediaPipe, including custom C++ calculators. Some future application venues use web as the platform, so I made a custom WASM build of MP, originally by closely following @prantoran's  implementation here.
The current issue is performance of the custom graph, which involves face landmarks (& detection), pose landmarks, and some custom calculators using OpenCV functions.
Runtime performance was dismal compared to stand-alone desktop app (factor of ~8 slow-down on Linux, 5X slow-down on MacOS), and after switching from single-threaded build to using pthreads, I only got about 50% speed improvement. I also see that MP requires upwards of 30 threads (plus the 4 required by -pthread Emscripten build of OpenCV).
Any ideas on how I could optimize this further?
Here are my current Emscripten flags:
DEFAULT_EMSCRIPTEN_LINKOPTS = [
    "--bind",
    #    "--closure 1", # TODO: optimizes out worker code, cannot be used with WASM_WORKERS=1. Won't be needed if we minify code some other way (e.g. via WebPack or Rollup)
    "--export-all",
    # "-s MALLOC=emmalloc", # TODO: test whether this is actually faster
    "-s EXPORTED_RUNTIME_METHODS=['FS']",  # Absolutely critical for using in-memory file system, e.g. for JSON output writing/reading from JS!
    #    "-s STRICT", # right now causes an error -- some zlib Emscripten uses the 32-bit arch instead of 64-bit
    "-pthread",  # enables threads
    "-O3",
    #    "-s PTHREAD_POOL_SIZE='navigator.hardwareConcurrency'", # This would set to the # of hardware threads/cores available on system. But that's not enough threads for MP + OpenCV (!!?)
    "-s PTHREAD_POOL_SIZE='50'",  #that does the trick, might be able to reduce that
    "-s PTHREAD_POOL_SIZE_STRICT=2",
    "-s WASM_WORKERS=0",  # TODO: '=1' could potentially speed threads up, but breaks build right now (possibly due to some internal emscripten (em_opt) errors?
    "--memory-init-file 0",
    #    "-s USE_PTHREADS=0", # disables pthreads (reliably), if needed; don't trust deprecation warnings on that
    "-s INITIAL_MEMORY=1073741824",
    "-s ALLOW_MEMORY_GROWTH=0",  # multi-threaded WASM code is slow w/ dynamic memory for some reason (see https://emscripten.org/docs/porting/pthreads.html#special-considerations)
    #    "-s PROXY_TO_PTHREAD", # if we actually had a main() loop, we would use this to run things asynchronously
    "-s FORCE_FILESYSTEM",
    "-s USE_WEBGL2=1",
    "-s FULL_ES3=1",
    "-s SINGLE_FILE=0",  # set to 1 to embed encoded WASM into the client-wasm.js file in its entirety
    "-s ASSERTIONS=1",
    "-s EXPORT_NAME=createPreprocessingModule",
    "-s EXPORT_ES6=1",  # for proper module import/export in webapps
    "-s MODULARIZE=1",  # for proper module usage (also required by EXPORT_ES6=1)
    "-s USE_ES6_IMPORT_META=1",  # for module export that allows for use within raw HTML (maybe =1 for web app?)
    "-s ERROR_ON_UNDEFINED_SYMBOLS=1",
    "-s DISABLE_EXCEPTION_CATCHING=1",
    "-s NODEJS_CATCH_EXIT=0",
    "-s OFFSCREENCANVAS_SUPPORT=1",
    "-s NO_EXIT_RUNTIME=1",
]

I believe MediaPipe on web currently executes the graph in a single thread no matter what.  So the best you can do for parallelism when enabling pthread emulation is that it may help specific individual CPU-intensive calculators.  If you really need multithreading at the higher graph-level, then you'd need to split the graph into multiple graphs and have each of those run in a separate worker thread (managing any intercommunications between these subgraphs yourself).
The speed improvements you see are most likely due to any expensive OpenCV processing you're doing and speedups you may be getting from CPU-based machine learning inference (which can definitely benefit from additional threads).  Normally you wouldn't need anywhere near 30 threads, but if you have a lot of independent ML calculators, then each of them may be trying to allocate the maximal number of threads, thus leading to this excessive thread requesting (as well as to reduced performance benefits).  I think there should be options for setting the thread-count for each of those inference calculators independently, so you should be able to control this.  But if not, then the graph-splitting approach (and not using pthreads for most of the subgraphs) may end up being your best bet.  Also, XNNPACK usage should be the default for CPU-based ML inference, but it would be good to check just in case somehow the ML inference is falling back to the much slower vanilla TFLite inference.
All that being said, if you really want better performance, you should ensure you're using wasm-SIMD on browsers that can support it, as that can give you massive gains (sometimes 2-3x speedup without multithreading).  But you still won't be able to match performance of a GPU-based machine learning inference solution.  And if I recall correctly on desktop OpenCV has special intrinsics-based routines for extra-fast performance, so anything built with OpenCV on web has a chance to be a lot slower even if you do everything on your end optimally.
Of course, profiling the different sub-pieces of your specific graph to find out exactly where the bottlenecks are occurring (and more importantly where the deltas between Desktop and web are occurring) would help narrow the scope here.
Hope that helps!

Hi @Algomorph,
Please take a moment to review the above comment in response to your inquiry.
Thank you

Thank you @tyrmullen for such an in-depth answer, this certainly gives me a lot of additional info to go on and ideas to pursue!
I propose to wait for the auto-close on this particular issue, I might be able to provide additional info on which scenarios worked best if & when I have the time, or there might be clarification questions from me or others.

Good news: I have the actual WASM speed where we want it at this point, using pthreads.
Bad news: there is a severe latency / lag problem, and (as may be related) emscripten generates the following warning in the console:
Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread.

For context, we're testing things only in the Chrome browser right now, and that's what we care about.
Before I dive into the problem above, side note 1: I gave some misleading/incomplete information previously. The big slow-down was on the single-threaded version, w/o pthreads, on both MacOS and Linux. However, after I switched to pthreads, we saw a major improvement on MacOS (90-100% throughput of the desktop app), which did not translate to Linux due to a platform-specific slow-down in getImageData of CanvasRenderingContext2D. Linux performance is not critical for me, and I sped it up using WebGL context instead anyway.
Side note 2: @tyrmullen mentioned attempting a graph-splitting approach instead of using Emscripten pthreads. Unfortunately, this currently doesn't seem like a feasible scenario, since we have the same graph being used in a variety of other applications on multiple platforms, and would like to keep or code the same for each platform as much as possible -- to avoid developing and maintaining multiple versions in parallel.
The pthread problem is that, whereas we're seeing sufficient throughput, there is major latency (sometimes, up to a second) between events in the input and what we're seeing in the output. I tried to parse the information linked from the Emscripten "blocking" warining. I feel like I still couldn't fully comprehend it, but I'm getting the general picture: "don't start the main application thread directly from Javascript, because if the main application thread launches pthreads, the JS main thread will get blocked and GUI might end up non-responsive".
More context: by default, the WASM we compile with Emscripten has no main thread (hence -s PROXY_TO_MAIN doesn't work). I have an embind-exported graph container class and a few supporting classes. I've attempted a multitude of ways to solve is, but don't have a working solution so far. Emscripten WebGL usage seems to become a problem whenever pthreads are involved (even if following Emscripten test code. I'm not sure what I'm doing wrong.
Does anyone have any input on how to get that main thread unblocked? Any additional pointers, information, observations about anything else?

Got -s PROXY_TO_MAIN to start the graph in a main thread now. However, blocking on main thread persists.
Drilling down to more specific questions:

Proxying and Blocking on Main Thread in Emscripten docs describe multiple scenarios in which -s PROXY_TO_MAIN (and emulated versions thereof) may fail and block / clog up the main thread. I think this is exactly what we at my org are experiencing. Can anyone from MediaPipe contributors or maintainers tell me, more specifically, which MediaPipe operations cause these problems? If you can actually point me to relevant code, that would be really helpful!
If we were to go the split-graph route and then run these in separate Emscripten workers, what would be the easiest way to recombine the graph pieces, i.e. facilitate I/O between resultant sub-graphs?


[multi processing] re-eval in all processes

Hi Guys,
I am using the recommended workflow - a simple directory structure that Juno expects
Re-evaling functions inside modules  works for me like magic, I don't notice it anymore
However re-eval does not work when there are several processes.
so lets say I have:
module A
function f(x,y)
    x+y
end
end

f(3,3) yields 6
fetch(@spawn f(3,3)) yields 6
changing f to be
function f(x,y)
    x*y
end

and re-evaling
f(3,3) yields 9 #the expected magic
fetch(@spawn f(3,3)) yields 6

Evaluation will always have to be on the master process only by default. But what might be nice in this case is to have some shortcut that does the equivalent of applying @everwhere. Then you could run eval everywhere and get the expected behaviour.


Docs Currently Don't Show Up in Pursuit.

Hello! The link for the pursuit docs is currently broken. I assume this is because you haven't updated the package for the newest version of purescript? Anyway the only way I can access the docs is by downloading an older version of pursuit locally and running it.

Republished now :)


Additional html content in description of Video

While editing video in VideoCollection Template, additional html's paragraph opening (<p>)  and closing (</p>) tag appears in beginning and end of the description.

To avoid this, we can add a method which will trim the description fetched from an url entered.

@opticod @croozeus What are your views on it? Shall I make PR for this?

@yadav-rahul, if you remove all of it, then the text will not be formatted in the output. We have added this feature so that user can do some text-formatting.

@opticod OK. I misunderstood it for additional content. Shall I close this issue then?


WidgetSpans cause incorrect line breaking with newline characters.

When using WidgetSpans in some conditions, the text after will sometimes not wrap and continue on out of bounds.
Example (as reported by @MasiaVittorio):

Split off of https://github.com/flutter/flutter/pull/38699.
Repro posted there: https://pastebin.com/nWbDjq6S courtesy of @MasiaVittorio

@GaryQian seems odd that the issue is not happening on your device.
My device is a OnePlus 3T. Now I'm going to bed but tomorrow I'll try to test it on the emulator too.
Make sure you tap on the FAB to toggle the "\n" in the text!

I have noticed it is touchy and repros on certain widths and not others from the other instance where I saw this. Different devices have different pixel ratios and screen resolutions.

I don't know if this helps, but here is my flutter doctor results:
https://pastebin.com/CtfDnUcv
And here the verbose one: https://pastebin.com/BC9YeFfR
And here what I see on my OP3T with the app I posted yesterday (in release mode, but it is the same in debug mode)
https://i.imgur.com/IAPi6HD.png
https://i.imgur.com/OmgymK7.png

We have since landed some changes around this area, are people still seeing this happen?

It seems to be fixed, closing.
Could everyone who still has this problem please file a new issue with the exact description, code sample for reproducing and the output of flutter doctor -v please


Add node code lists R17 and R20

This PR adds two new regional mappings for GUIDE project and YSSP'23 work related to it. The R17 regional mapping is for YSSP work and R20 for overall GUIDE project.
How to review

Read the diff and note that the CI checks all pass.
Confirm the new lists appear in the documentation.
More TBA.

PR checklist

[ ] Continuous integration checks all ✅

[ ] Add or expand tests; coverage checks both ✅

[ ] Add, expand, or update documentation.

[ ] Update doc/whatsnew.

@SiddharthJoshi-Git, thanks for starting this PR.

I updated the PR description, in particular to re-add the "PR checklist," which is not optional. Please re-read the comments inline to understand how to use ~strike through~ if you think a particular item should not be needed for a certain PR (though in this case, I think all are relevant).

As next steps, you should:

Bring your branch up to date with iiasa:main. You can use the provided button above: "Update branch > update with rebase" (and then git pull --rebase on your local system to mirror the changes).
Look at the checks/tests that are failing. (Click the "Details" next to the failing jobs.)  Try to make a guess as to why, and if possible adjust or expand the tests so that they pass.

@SiddharthJoshi-Git, thanks for starting this PR.

I updated the PR description, in particular to re-add the "PR checklist," which is not optional. Please re-read the comments inline to understand how to use ~strike through~ if you think a particular item should not be needed for a certain PR (though in this case, I think all are relevant).

As next steps, you should:

Bring your branch up to date with iiasa:main. You can use the provided button above: "Update branch > update with rebase" (and then git pull --rebase on your local system to mirror the changes).
Look at the checks/tests that are failing. (Click the "Details" next to the failing jobs.)  Try to make a guess as to why, and if possible adjust or expand the tests so that they pass.

HI @khaeru,
The 'ALL' tests are failing due to licensing error from GAMS. As per some suggestions I received, can this be due to me starting a PR from my fork. Should I restart a PR by making a branch within the message_ix_models (IIASA) to remedy the licensing errors?
Best,
Sid

Should I restart a PR by making a branch within the message_ix_models (IIASA) to remedy the licensing errors?

Yes, that sounds like a good idea. A nice branch name to use would be something like enh/node-R17-R20 (for "enh"ancement).
You can copy the raw Markdown from this PR's description into the new one; saves re-writing.


Editing a twitch emote into a discord emote crashes Discord

If you send a message with a twitch emote, then edit that message and add a discord emote into it, it causes you and anyone else in that channel at the time to crash (if they have BetterDiscord installed). This is obviously a pretty big issue as you can easily crash someone elses discord just by sending and editing a message.

can reproduce on my end, even on zerebos fork

Weird, we have gotten multiple people to crash this way and I tried it on multiple servers. Can you explain exactly how you are doing it?

i said i can reproduce :thinking:
send an emote as message, edit and replace it with an emoji, confirm/save/send edit

oh, i am bad at reading


[DO NOT MERGE] Remove reliance on .env

A change to puppet makes this environment variable available across all applications, so rely on that instead.
Waiting on this PR to be deployed: https://github.com/alphagov/govuk-puppet/pull/5395

Looks like this change will change the default behaviour for local development. You might want to consider adding a default value in to the app?

@cbaines the development behaviour should remain the same once the Puppet change (linked) has deployed?

Do we still need the gem now?

@tijmenb we need the gem for tests, where we don't have the environment variable, but we need it set to display new content in integration tests.

@cbaines the development behaviour should remain the same once the Puppet change (linked) has deployed?

I'm guessing that this is predicated on all development being only done on machines that govuk-puppet has been run on?
Regardless, I'm not aware of any specific guidance on how dependent applications should be on govuk-puppet, so I'm happy for this to be merged.

In the tests we can just set ENV['BLA'], we don't need a dependency for that probably.

I'm guessing that this is predicated on all development being only done on machines that govuk-puppet has been run on?

Yes. Which is why @carvil suggested merging this a few days after the Puppet change has been deployed.

@tijmenb @carvil The Puppet branch (https://github.com/alphagov/govuk-puppet/pull/5395) was merged 5 days ago - is that enough time to merge this change now?


Upgrade Asp.Net Core 1.0.0

In Asp.Net Core 1.0.0 project the following problem occurs:

Unable to determine the provider name is provider of factory type ‘System.Data.SqlClient.SqlClientFactory’. Make sure the provider que ADO.NET is installed or registered in the application config.

@fernandocode Thanks .. I will upgrade to 1.0 and see if the error occurs.

I upgraded the project to 1.0 RTM.  However, I did not receive the error you describe.  This may be helpful to you: http://stackoverflow.com/a/32461618

@fernandocode Are you receiving this error with an exact clone of this repo? Or is it with your own project?

@tonysneed, exact clone. I think the problem must be related to something in my environment. Because a coworker tried to run the same repository project and its environment everything worked perfectly, and its development environment would be the same as mine, also being with Asp.Net 1.0.
I'll get investigate what's different in my environment that is causing the error. I will try to check the versions of toolings and SQL Server Provider installed in both environments.
If I find some solution inform here. = /

I managed to solve the problem that happened in my environment, after checking the driver and installed providers in my environment that were different from my coworker environment and not succeed. I noticed that in some of the suggestions on my problem was to add a web.config configuration to <DbProviderFactories>, as [this issue] (http://stackoverflow.com/a/31800310/2290538). But as in ASP.Net 1.0 Core projects there is no web.config I started looking for another way to get the same result was as follows:
In DbConfig.cs add line:

SetProviderFactory("System.Data.SqlClient", System.Data.SqlClient.SqlClientFactory.Instance);

Result class:
using System.Data.Entity;
using System.Data.Entity.SqlServer;

namespace Experimental.AspNetCore.EF6.Contexts
{
    public class DbConfig : DbConfiguration
    {
        public DbConfig()
        {
            SetProviderFactory("System.Data.SqlClient", System.Data.SqlClient.SqlClientFactory.Instance);
            SetProviderServices("System.Data.SqlClient", SqlProviderServices.Instance);
        }
    }
}

And add in section dependecies  in project.json:

"System.Data.SqlClient": "4.1.0"

Check that with this configuration the project is still running in your environment. Maybe you can add it to the official project.

PS: I even set up a branch here but I could not submite it. =\

Glad you found a solution!  I suggest that you fork the repository, make your changes there, then paste a link to your forked repository here.

Here's the fork in your repository with my solution to the problem. Few changes that cost me some work time and research. = D


[Webview2 Microsoft Windows] Implementation of onFileDownload in webview2

Ref issue: https://github.com/react-native-webview/react-native-webview/issues/1848
We need Webview2 to implements onFileDownload callback, the same way as for iOS in Webview. This function is invoked when the clients needs to download a file (URL not renderable by the webview or with specific HTTP Response header).
https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#onFileDownload

still searching for solutions

Still a valid issue


nixos/adguardhome: run --check-config before merging

To prevent merging configurations on different schema_version, we will now check the existing configuration, which has the side-effect of updating the schema_version.
Fixes #246461 as described in https://github.com/NixOS/nixpkgs/issues/246461#issuecomment-1667663556
Should work/merge independent of #247828, which changes the generation of the default config.
Description of changes
Add an additional call to adguardhome --check-config to the preStart.

Things done

Built on platform(s)

[ ] x86_64-linux
[X] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[X] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Pinging @dmoonfire as creator of the original issue, as well.

@ofborg eval

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1368

@wegank Hope it's fine to ping you, as you have merged the related #247828. This PR closes a related, repeatedly reported issue with AdGuard Home.


Editing the style of a layer reset's its legend's titles [DEPENDS ON #10904]

STR

Have map with legends
Set a custom title for a legend
Change styles of that layer (color or whatever)

Expected result:
Styles change and maybe the legend has to change as well, but the title stays the same.
Actual result:
The legend is reset and the title is as well.
I guess it's debatable but it has given me some frustration today. What do you guys think? Bug or feature?
cc/ @xavijam

That's a good one, it opens the 🍉  about if we need states in the properties in order to store if the user took the decision of changing the title it was auto-generated due to whatever.

As @nobuti pointed in the PR, not merge until #10904.

Brought back from acceptance to development.
The fix works perfectly when we modify the title of a gradient legend. If we modify the styling after changing the title, it saves the last title. OK
Nevertheless, the next scenario happens:

Choose a custom legend.
Check title and modify it.
Modify the style. For instance, select another color palette.
Builder changes the legend from custom to gradient
The given title is lost.

After discussing this with @xavijam we concluded that there are two issues here:
A. Should Builder change the custom legend to a gradient one after changing only the color palette?
B. Should Builder keep the title between changes of legend type?
A is not clear for us if it's a good approach. @saleiva has to tell us if it's the desired behaviour or it's a bug.
B is a bug and should be adressed in this issue. When changing between the two types of legends, the title has to be kept.

A bug? Really? It's not the same legend, not sure how to tackle.

El 05/12/2016, a las 17:27, Ivan Malagon<EMAIL_ADDRESS>escribió:
Brought back from acceptance to development.
The fix works perfectly when we modify the title of a gradient legend. If we modify the styling after changing the title, it saves the last title. OK
Nevertheless, the next scenario happens:
Choose a custom legend.
Check title and modify it.
Modify the style. For instance, select another color palette.
Builder changes the legend from custom to gradient
The given title is lost.
After discussing this with @xavijam we concluded that there are two issues here:
A. Should Builder change the custom legend to a gradient one after changing only the color palette?
B. Should Builder keep the title between changes of legend type?
A is not clear for us if it's a good approach. @saleiva has to tell us if it's the desired behaviour or it's a bug.
B is a bug and should be adressed in this issue. When changing between the two types of legends, the title has to be kept.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Holidays means holidays @nobuti.

We need to define the specs, I think there will be more cases and we'll have to decide what to do.

El 05/12/2016, a las 18:15, Javier Álvarez Medina<EMAIL_ADDRESS>escribió:
Holidays means holidays @nobuti.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Should B be applied when the user change between legends using the form? I guess we want this only by legend type (color or size) right?

Fixed and ready for another pass.

Local acceptance 👍
Staging acceptance at 08 :+1:


Replace spaces in filename/path to become more shell friendly

Currently the config and logs are captured in a dir called NODENAME-log and config.
I would appreciate not having any spaces in path and filenames, as they need to be escaped in a shell.
E.g. if I run a find on multiple diags, I can't just copy and paste the path as it includes a space, which i need to escape first.
Can we replace the space by _ ?

Done - will be in 1/24 release.


Web application clashes on standing up

Hi there, I am trying to build a real time pose estimation web app using flask, the application seems to be working but I get this annoying recurring message in the console.

The strange thing is when I stand up for looking at my pose estimations the application crashes and throws this error.

Any fixes?

Hi @nakshatrasinghh, You need to check whether face result is None first in case of no face results detected in the current frame.
if result.face_landmarks.landmark:
      face= result.face_landmarks.landmark

Hi @sgowroji what do I put in the else block?

If no human pose is detected, the fields in the "results" object is set to None. Before accessing results.pose_landmarks, please check if it's None. See our example code at https://github.com/google/mediapipe/blob/master/docs/solutions/pose.md#python-solution-api.

@sgowroji tried everything possible for 3 days straight, the error only comes when i stand up from the sitting position and it only happens in web apps, in local environment is works fine. Can we connect for 10 mins and you can help me solve this issue

@sgowroji tried everything possible for 3 days straight, the error only comes when i stand up from the sitting position and it only happens in web apps, in local environment is works fine. Can we connect for 10 mins and you can help me solve this issue

Please try pip install mediapipe==0.8.6 to install the latest version and also apply the suggestions mentioned in https://github.com/google/mediapipe/issues/1553.


Revert "Bump types-requests from <IP_ADDRESS> to <IP_ADDRESS>"

Reverts sciety/sciety-labs#216
This is causing dependency issues when installing dependencies together (but currently ignored by docker build):
ERROR: Cannot install -r requirements.dev.txt (line 9), -r requirements.txt (line 12), -r requirements.txt (line 13) and -r requirements.txt (line 8) because these package versions have conflicting dependencies.

The conflict is caused by:
    opensearch-py 2.3.1 depends on urllib3<2 and >=1.21.1
    requests 2.31.0 depends on urllib3<3 and >=1.21.1
    requests-cache 1.1.0 depends on urllib3>=1.25.5
    types-requests <IP_ADDRESS> depends on urllib3>=2

Actually need to rollback to a lower version even


Re-write in Swift. WORK IN PROGRESS

Can we implement tests that imitate livelocks/deadlocks? I have no good scenarios, for now, will provide as soon as I can.

feedback addressed


e2e CSV test - use unique name resources for each test

Signed-off-by: akihikokuroda<EMAIL_ADDRESS>
The "ClusterServiceVersion when a CustomResourceDefinition was installed alongside a ClusterServiceVersion" tests uses the same namespace name for each test.  It creates and remove the namespace every time.  It doesn't delete the resources in the namespace before it delete the namespace.  It may be causing the longer delete time of the namespace and the timeout of the test.  The tests executed after the timeout fail because the uncleaned namespace and resources in it.
Description of the change:

use the unique namespace, resource names for each test.
delete the resources created in the test before the deletion of the namespace

Motivation for the change:
Closes https://github.com/operator-framework/operator-lifecycle-manager/issues/2540
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive

@akihikokuroda Can you also rebase when you get a chance? I saw the unit test failure, but we just merged those changes since this PR has been opened.

/ok-to-test

@akihikokuroda You may need to also rebase against master too.

/approve

@akihikokuroda could you rebase this test as well?

@akihikokuroda Apologies - we just merged some e2e improvements that parallelize the e2e suite into their own jobs, so the overall e2e execution should drop from ~1h to ~20m. Can you rebase your PR once more, and I'll tag it once it passes the checks?

Longer term, we need to solve the situation where branches constantly need to be rebased when changes land in the master branch as it's not the greatest UX for contributors.


Groups: Require icon/thumbnail or use placeholders instead

Please could you describe it in more details ?


Improvements w/ AtomicMap

Potential future optimization (not tested):
public class AtomicCacheMap<K, V> private constructor(
    private val atomicMap: AtomicMap<K, V>,
    val maxSize: Int,
) : Map<K, V> by atomicMap {
    public constructor(maxSize: Int) : this(atomicMapOf<K, V>(), maxSize)

    fun clear() {
        atomicMap.mutate { this.clear() }
    }

    fun remove(key: K): V? =
        atomicMap.snapshotAndMutate { remove(key) }.getValue(key)

    fun putAll(from: Map<out K, V>) {
        from.forEach {
            put(it.key, it.value)
        }
    }

    fun put(key: K, value: V): V? =
        atomicMap.mutateAndSnapshot {
            if (this.size >= maxSize) {
                val toRemove = keys.take(maxSize - size + 1)
                    .toSet()
                this.minusAssign(toRemove)
            }
            this.minusAssign(key)
            this[key] = value
        }.getValue(key)

    operator fun set(key: K, value: V): V? = put(key, value)
}

Originally posted by @QuantumRand in https://github.com/JuulLabs/conx-sdk/pull/1614#discussion_r1689271840

It's probably worth spending a bit more time on the data structure. The proposed cache evicts based on insertion order, but an LRU cache seems more generally useful.


V5: Sort/filter

Sort/filter button should be in topbar next to search.
It opens modal which is closable by button. All filter options are checkboxes. All sort options are radio buttons.

Done. Without sort/order feature, it seems useless.


Password resets...

Howdy,
Thanks so much for making this package, it has helped me out tremendously. I just ran into an issue that I'm not sure how to handle. If a user resets their password from a subdomain, the link they get in their email has the subdomain removed. So when they change their password they get sent to the main domain, which doesn't work for them.
How can I get around that?

I haven't tested it, but you should be able to wrap the Auth::routes() call within the multitenancy.guest middleware?!

Thanks for the idea. I tried it and when I click on the reset link that gets emailed, I ended up with this message:
There is no tenant at domain ``.

Wondering if I need to go in and change how the password reset links are generated.

You will need to update your auth logic to consider the subdomain when redirecting after the password reset.


Added documentation snippet for generating JWT on command line.

Checklist

[x] Affected Issues have been mentioned in the Closing issues section
[x] Documentation has been written/updated
[x] PR title is ready for changelog and subsystem label(s) applied

This PR adds a code block to this documentation page showing how to generate a JWT with the oc command.

Closing issues
Closes #1795

Is this one ready to merge?


Session clean out from database

Hi there,
Thanks for all the help before, drywall is greatly supported and I am proud to finish up my application using this awesome tool. While I was testing my application, I noticed my mongodb session table had about 6,400ish records, taking up lots of space. Since then, I have cleared up the session table to start over. Now, I am at 175 records in there. Is there a way to let drywall automatically clear up the sessions stored in the database when the user logs off?
I did some testing to see when the session gets stored and it gets store when a session doesn't exists in the client. If it exists and you logout, then login, it doesn't store a new one. Not sure how I got up to 6,400 records earlier.
Hopefully there is an easy fix for it, if not I will just clear them manually every now and then.
Thanks!
Tarek

Thanks for opening an issue. connect-mongo is the module that's creating the sessions in Drywall. This section of their docs may be of help:

https://github.com/kcbanner/connect-mongo#remove-expired-sessions


[graphiql] Docs site is down

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
https://graphiql-test.netlify.app/typedoc/#:~:text=Looking for the-,GraphiQL Docs%3F,-%3A This is the
The URL for the docs site is broken. I found this URL here, which is linked in the README as API Docs.
Expected Behavior
The site works.
Steps To Reproduce
Click the link.

Module pattern

[ ] graphiql-umd
[ ] graphiql-esm
[ ] graphiql-commonjs

Environment
- GraphiQL Version:
- OS:
- Browser:
- Bundler:
- `react` Version:
- `graphql` Version:

Anything else?
No

Looks like this https://graphiql-test.netlify.app/typedoc/packages/graphiql is the link that didn't work for you, not either of those in your report, above.
Looks like this https://graphiql-test.netlify.app/typedoc/modules/graphiql.html is what should have been the href of the packages/graphiql link you clicked.
Hopefully that's helpful...  to both the bug reporter and the maintainers of this project.

@tylerbecks there are some bugs with our tsdoc version/configuration that cause duplicate identifiers which also seems to cause links to break. I would unfortunately not expect links in the API docs to be permalinks yet until we are able to fix tsdoc and/or build a proper docs site that has an API section that uses the tsdoc markdown output, more ideally


[Messenger Connector] Tock does not handle proxy authentication

When attempting to use the Messenger connector behind a proxy that requires basic authentication, we get the following error:
ERROR [vert.x-worker-thread-4] a.t.b.c.m.MessengerClient [Retrofits.kt:347] <-- HTTP FAILED: java.io.IOException: Failed to authenticate with proxy
WARN [vert.x-worker-thread-4] a.t.b.c.m.MessengerClient [MessengerClient.kt:285] {<redacted>,"messaging_type":"RESPONSE","notification_type":"NO_PUSH"}
ERROR [vert.x-worker-thread-4] a.t.b.c.m.MessengerConnector [Loggers.kt:24] Failed to authenticate with proxy
ai.tock.bot.connector.ConnectorException: Failed to authenticate with proxy
        at ai.tock.bot.connector.messenger.MessengerClient.throwError(MessengerClient.kt:291)
        at ai.tock.bot.connector.messenger.MessengerClient.send(MessengerClient.kt:328)
        at ai.tock.bot.connector.messenger.MessengerClient.send(MessengerClient.kt:278)
        at ai.tock.bot.connector.messenger.MessengerClient.sendMessage(MessengerClient.kt:172)
        at ai.tock.bot.connector.messenger.MessengerConnector.sendEvent(MessengerConnector.kt:285)
        at ai.tock.bot.connector.messenger.MessengerConnector$send$2.invoke(MessengerConnector.kt:430)
        at ai.tock.bot.connector.messenger.MessengerConnector$send$2.invoke(MessengerConnector.kt:429)
        at ai.tock.bot.connector.ConnectorQueue.sendActionFromConnector(ConnectorQueue.kt:78)
        at ai.tock.bot.connector.ConnectorQueue.access$sendActionFromConnector(ConnectorQueue.kt:30)
        at ai.tock.bot.connector.ConnectorQueue$add$1.invoke(ConnectorQueue.kt:64)
        at ai.tock.bot.connector.ConnectorQueue$add$1.invoke(ConnectorQueue.kt:63)

Proposed solution
I believe the simplest fix would be to update the following code to call proxyAuthenticator(okhttp3.Authenticator.JAVA_NET_AUTHENTICATOR):
https://github.com/theopenconversationkit/tock/blob/dfa310d0d612775c381948d50b1fe8e600fe20bc/shared/src/main/kotlin/Retrofits.kt#L99-L104
This would allow applications to globally set a default authenticator at startup and have it be picked up by TOCK calls.

I believe in MessengerClient.kt the proxy parameter is still null because in Retrofit.kt
fun retrofitBuilderWithTimeoutAndLogger(
    ms: Long,
    logger: KLogger = KotlinLogging.logger {},
    level: Level = retrofitLogLevel(retrofitDefaultLogLevel),
    interceptors: List<Interceptor> = emptyList(),
    /**
     * Gzip the request for servers that support it.
     */
    requestGZipEncoding: Boolean = false,
    /**
     * Add a circuit breaker facility.
     */
    circuitBreaker: Boolean = false,
-->HERE    proxy: Proxy? = null
):

On another project i used the following idea :
import java.net.InetSocketAddress
import java.net.Proxy

object ProxyConfiguration {

    /**
     * Configure proxy
     * @param proxyHost : host
     * @param proxyPort : port
     */
    fun configure(proxyHost: String, proxyPort: Int): Proxy {
        return if (proxyHost.isNotBlank()) {
            val address = InetSocketAddress(proxyHost, proxyPort)
            Proxy(Proxy.Type.HTTP, address)
        } else {
            Proxy.NO_PROXY
        }
    }
}

So when using a RetrofitClient.kt like in MessengerClient.kt, for instance with properties :

    val proxyPort = intProperty("tock_messenger_api_proxy_port", 3128)
    val proxyHost = property("tock_messenger_api_proxy_host", "")
(...)

//same on statusApi ?
graphApi = retrofitBuilderWithTimeoutAndLogger(
            longProperty("tock_messenger_request_timeout_ms", 30000),
            logger,
            requestGZipEncoding = booleanProperty("tock_messenger_request_gzip", true)
            //proxy loaded if proxyHost assigned
            proxy =
   proxy = ProxyConfiguration.configure(
                   proxyPort,
                   proxyHost
                )
        )
(...)

Or you idea is to use the java proxy directly

Right, we really have three options to configure the proxy here:

Use TOCK-specific environment properties for host, port, user, password

Pros: requires no code to use
Cons: requires configuring TOCK separately from everything else

Add a generic callback (in e.g. BotRepository) that allows apps to configure the OkHttp builder before building a retrofit object

Pros: flexible, can be used for more than proxy configuration
Cons: requires code to use, requires configuring TOCK separately from everything else

Use the global ProxySelector and Authenticator

Pros: standardized solution, shares configuration with every other library
Cons: requires code to use, cannot benefit from OkHttp optimizations like preemptive authentication

Tock uses Retrofit to make requests to messengers or other partners. Retrofit supports the java proxy properties:
https://www.baeldung.com/java-connect-via-proxy-server
So not sure to understand why there is a need for a PR ?

That's right, it uses the java proxy properties through the global ProxySelector. However, as far as I am aware, you have to configure an Authenticator to go through an authenticated proxy - hence the "Failed to authenticate with proxy" error in my stacktrace.

The properties
http.proxyUser
http.proxyPassword
https.proxyUser
https.proxyPassword

do not work ?

I have had no luck setting those, and I have seen no mention of them in the JDK or official documentation either. I may be mistaken, but it seems those properties are only used by select libraries like Apache HTTP client.

Yes it seems to be non-standard properties :(
I would like to go to the 1) :
Use TOCK-specific environment properties for host, port, user, password
-> this is the simplest way to implement the feature I think
HTH

Sounds good to me, although after some thinking I think this idea can be simplified.
First, should we actually set the proxy host and port from environment properties, or should we keep relying on the JDK's ProxySelector? The only reason I can see for changing the current behaviour in that regard is that the proxy selector could possibly yield a proxy that does not match the given credentials, but I believe that to be fairly inconsequential. Setting the proxy ourselves could also cause issues by disregarding the nonProxyHosts property.
Then, should we actually use TOCK-specific properties like tock_proxy_user and tock_proxy_password, or the semi-standard ones http.proxyUser and http.proxyPassword? Using our own properties could allow for independant configuration and maybe more importantly allow configuration through environment variables (system properties being more unwieldy in some environments). On the other hand, relying on the semi-standard ones could save the user some time as many applications already set those.


There should be no decifits for HHPs in the start scenario with 100% HHPs

Even if the capacity of the electric part of the HHP is insufficient, the gas-part should be able to save the game right @antw @DorinevanderVlies?

Was fixed by quintel/etengine@fb00b15.


Yoga Swift interface

Report

[x] I have searched existing issues and this is not a duplicate

Issues and Steps to Reproduce
This is not an issue, but more a proposition.
YogaKit should have an official Swift interface, and not just a Objective-C interface. Swift has been around for more than 3 years now, and it is now the defacto iOS languages for new applications.
I've developed a nice Swift Yoga interface (at least from my point of view :-)) that gently wraps the Yoga flexbox implementation. I would be really happy to share it and integrate it with the Yoga's repo. You can find my project at https://github.com/lucdion/FlexLayout
Regards
Link to Code
https://github.com/lucdion/FlexLayout

At this point FlexLayout has grown to be its own mature project. I think it is more likely that we should point to it in Yoga documentation instead of bringing into the repo.

Hey all, I started prototyping out an implementation in a standalone package at iainsmith/YogaSwift that uses Swift Macros to minimise the boilerplate code for wrapping the calls to YGNodeStyleGetXXX.
The next thing I am looking at is updating the gentest script to generate the swift tests.
If there’s interest in upstreaming some of this work into the main yoga Swift package, down the line, I’d be happy to move this to a new module in my yoga fork and PR it up.

The upcoming release of swift 6 has support for noncopyable generics & type (~Copyable) which facilitate building a more ergonomic Swift API, so users don’t have to manually call YGNodeFree, which is what my current implementation is targetting.


Add AppStream metainfo

This will make welder-web appear on Cockpit's "Applications" page.

As this once again has to duplicate stuff -- has there been a decision whether to use just one name (welder-web vs. cockpit-composer) at some point?

Codecov Report

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

@@           Coverage Diff           @@
##           master     #459   +/-   ##
=======================================
  Coverage   35.47%   35.47%
=======================================
  Files          49       49
  Lines        1852     1852
  Branches      334      334
=======================================
  Hits          657      657
  Misses       1195     1195

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 9efc9cd...f2f83a3. Read the comment docs.

As this once again has to duplicate stuff -- has there been a decision whether to use just one name (welder-web vs. cockpit-composer) at some point?

Yes. IIRC we agreed to just name it all cockpit-composer a while back. I was planning on letting you guys handle making the switch, I don't think it makes any sense for me to continue doing upstream builds -- but I'll still backport them to rhelX.

Tested and looks good to me!
Didn't we have something a while back that it could also show a link to the service file?
At least I recall we did in a really early prototype by @mvollmer
Would be nice adding a link to lorax-composer.service (or socket?) if we do.

So as a naming thing. This install thing says "Composer", but the tab in the browser that it installs says "Image Builder". @jgiardino do you recall what we decided here?

Didn't we have something a while back that it could also show a link to the service file?

Yes, but I don't think it would apply here.  The idea back then was that Cockpit could install something that only has a service file but no UI to go with it.  Cockpit would invent a UI on the spot, which could just be a link to the page for the service.
In this case, we install a UI and if it makes sense, that UI can contain a link to the pages for the services it needs.

In this case, we install a UI and if it makes sense, that UI can contain a link to the pages for the services it needs.

Ah, right. Of course. I forgot we check if lorax-composer is running on the Composer main page and offer to start it there. That should make it a complete flow then. Thanks!

Pushed again with dropping the welder-web appstream stuff, only keeping it for cockpit-composer. As we don't publish welder-web.rpm anywhere except a COPR, it doesn't matter to not add it there. The metadata only really makes sense when the package is in Fedora or RHEL 8.

This install thing says "Composer", but the tab in the browser that it installs says "Image Builder". @jgiardino do you recall what we decided here?

The decision was to follow the convention we currently have in Cockpit where the package name and CLI command name are specific, but the label for the tool in the UI is generic and descriptive of the functionality, such as with Virtual Machines.


typescript class declaration private bug??

TypeScript Version:  3.3.0-dev.201xxxxx

Search Terms:
Code
i don't sure this is idea bug or typescript bug
see this video for what i mean
https://www.youtube.com/watch?v=paEZCrRZ1Mw
when private it didn't output type <====== bug here
when protected it output type
idea: 2018.3.4
typescript: Version 3.3.0-dev.20190126
https://github.com/bluelovers/regexpp/blob/363adbbd762ea93fcf9ec6f0460de7cd204781e1/src/validator.ts#L555-L569
    private get ecmaVersion() {
        return this._options.ecmaVersion || 2018
    }

    private onLiteralEnter(start: number): void {
        if (this._options.onLiteralEnter) {
            this._options.onLiteralEnter(start)
        }
    }

    private onLiteralLeave(start: number, end: number): void {
        if (this._options.onLiteralLeave) {
            this._options.onLiteralLeave(start, end)
        }
    }

Expected behavior:
private onLiteralEnter(start: number): void;

Actual behavior:
private onLiteralEnter;

Playground Link:
Related Issues:

i think should output private too like old version do, because need to check type is correct or as expected

im not wanna call it from outside, but i wanna see the type declaration
because i still will use it inside at current class
if thinking private member is no need to show, why show it name at class, why not just hidden name too?

The .d.ts isn’t for your internal use - it’s for outside callers to get the type info.  If you’re calling something from inside the class then the info comes directly from the .ts.

the javascript already will stop we use same name in class member
but anyway , hope can have a option display private type
private onLiteralEnter(start: number): void;

or at least should show sign like old version
private onLiteralEnter(start);

not only the name
private onLiteralEnter;

You can't do anything with a private member, so its type is irrelevant

That's not true @RyanCavanaugh.
This properly catches the error:
class MyClass<T> {
  private field: T;
}

// Type 'MyClass<number>' is not assignable to type 'MyClass<string>'.
//  Type 'number' is not assignable to type 'string'
const value: MyClass<string> = new MyClass<number>();

This doesn't:
class MyClass<T> {
  private field;
}

// all good 👌
const value: MyClass<string> = new MyClass<number>();


Edit Function

This not a bug, but an enhancement or suggestion and a question.
The ability to edit or change the selected Device yaml file after selection, since once a device type is selected that is it, can't be changed, only delete and start again.
Also, how do choose a device type file other than what comes up on the UI?
In my case I wanted to add an Arlec Smart plug, so I had a look at the available device files and found that Smartplugv2_energyv2.yaml was the best fit, so when I went to config it I was surprised that the various other device files where not listed, basically Smartplugv2.yaml was really the only choice provided. so the obvious question is how to access the other device type options?

If they are not offered, then the other device configs are not compatible with your device.  Smartplugv2_energyv2 has a number of extra settings that the smartplugv2 does not have, if your plug does not offer all those extra settings, then it will have problems, including going offline for a few minutes after it crashes due to unexpected input, which has been observed on many Tuya devices before.
Regarding switching the config after initial selection, different configs contain different entities, which are registered in HA when the device is first set up.  If you switch to a different config without removing the device, then those entities will stick around as zombies and will need to be deleted manually.


Add Wallaby driver

Fixes #73
Done

add Wallaby driver
prepare test setup for Wallaby (add app.js, convert Endpoint to proper/regular endpoint)
move Assertions into Driver protocol (wrap with retry for Wallaby)
run existing tests twice via test_also_with_js macro

To do

documentation

update main moduledoc: third Driver Wallaby, use via @tag :js
caveat: conn passed to visit/2 is mostly ignored (not supported: conn.assigns, supported: conn.req_cookies)
possible discrepancies:

errors for fields without an ID (if no unique selector can be generated from other attributes)

fix NoRouteError tests (broken due to changes to Endpoint)
open_browser

fill in form values (not automatically preserved in DOM tree via value/selected/checked attributes)
check stylesheets are loaded correctly

copy initial conn.req_cookies via Wallaby.Browser.set_cookie/4

Interesting: Some, but not all tests failing in GH actions.
 0 visible elements were found

I didn't even set up JS + chrome in ci.yml yet, it's a wonder any are passing 🤔 .

Changed to draft, but @germsvel would love your feedback already.

Updated:

Support @tag :js (via small copy&paste snippet for test module)
Avoid duplicating tests by introducing dual_test macro that runs test twice: 1. with Static or Live + 2. with Wallaby driver.

Thanks @germsvel  :)
This work is mostly done. Pretty much only documentation + NoRouteError fix missing from my side.
I appreciate that it is a sizeable PR which demands significant time for review though.
The only potential blocker I see is if you found any changes to existing code problematic.
E.g.

moving Assertions functions to the Driver protocol
changes to Endpoint to allow e2e tests

Apart from that, I don't see why we shouldn't move forward with this for now:

The public API doesn't change.
The behaviour of existing drivers doesn't change.
Once you have the time to dig deeper, the Wallaby driver could always be drop-in-replaced transparently for any consumers, keeping the generic@tag :js in place.

Except of course for Hyrum's law.
And for support issues until then. Document as "beta" feature for now? Gather feedback to guide future initiatives?

@germsvel Would it help you if I broke this PR into a series/stack of smaller PRs?
Wouldn't take much time on my size, and would make review less daunting. Plus might trigger some valuable discussion along the way.

Thanks for the offer @ftes, but don't spend your time on it just yet! I've been doing a little bit of research on playwright to see if that's a realistic alternative.
I know you said we could introduce this and then swap it out if we need to, but once something is in the codebase, it'll be hard to remove it. Don't want to ship breaking changes too often (even in pre 1.0 version).
Just hang in there for me if you can. I would really like to handle JS somehow -- just want to do due diligence before we fully commit to Wallaby.

Hey @germsvel how's it going?
Still happy to split the PR. Even if you decide to go with Playwright, some preliminary work would likely be helpful: Moving Assertions into the Driver protocol.
And getting the preliminary changes in would also allow us to implement an external Wallaby Driver in the current form until playwright is usable. Without having to fork phoenix_test.

@ftes just saw your comment after I reviewed the PR 😆
You mentioned:

Still happy to split the PR. Even if you decide to go with Playwright, some preliminary work would likely be helpful: Moving Assertions into the Driver protocol.

Having reviewed the parts that I reviewed, I do think there could be some nice splits (if you're interested in doing them). Moving the assertions into the Driver protocol would be a good one, for sure.
We could also add the current_path function as another one.
I don't want you to do more work if you don't feel like it, but if you want to do that, that'd be a great way to introduce changes in pieces. (always easier to review too 😄 )

Thanks for the review @germsvel

Having reviewed the parts that I reviewed, I do think there could be some nice splits (if you're interested in doing them).

Absolutely, I'm on it!

Did you gain any further insights by looking at Playwright, @germsvel ?

Because I'd like to integrate both Wallaby and Playwright, I think a @tag driver: :playwright or @tag driver: :wallaby would be what I'd suggest we use.

That seems sensible.

I also want to iron out a good API for Wallaby and Playwright. Should they start with a conn like the rest of the tests and we transform it into a session after visit/2? Or should we rely more on Wallaby's and Playwright's built-in stuff and get something like wallaby's session in the test context?

I'd say: It depends on what the goal of offering alternative drivers is.

Is it plug-and-play interchangeability of drivers? Without the user needing to know/care what Wallaby is and how it works? Then use as little of the Wallaby/Playwright "standard" setup/assertions as possible.
Is it to to offer the PhoenixTest API to users that still want maximum control of the Wallaby/Playwright internals? Then use all the "standard" stuff.

Personally, I'd vote for plug&play. For me this would be the most common requirement.
For the few use cases where I need full control (e.g. test interaction of concurrent user session) I would e.g. use vanilla Wallaby then.

Wallaby has Wallaby.Feature that comes with the library. We don't have to use it, but I wanted to explore if we're losing anything by not using it. And does that mean we should introduce a use PhoenixTest.ConnCase or something like that? It might be helpful if we need to do some test setup.

I think this only adds support for @sessions. That offers the caller more flexibility (e.g. two parallel user sessions, controll session configuration).
This PR instead simply enforces a single session with default settings.

The playwright-elixir library has a lot of work done, but some things are still missing. The biggest issue for us is that it hasn't implemented auto-waiting assertions yet. There _are_ways to make assertions, but it's kinda clunky. So, for now, when I introduce playwright it'll be under some "experimental" section (just so people know).

That wouldn't be an issue if we use the approach in this PR: implement auto awaiting in Driver (wrap with retry).

Closing in favour of #145


Example App on Linux: Popup login window does not seem to relate to ID in the Welcome window

Running flutter run -d linux
Web ID is for charlieb

In login window popup login as kayon

and so see Kayon details:

Perhaps the Username in the login screen should default to "charlieb" from the Web ID supplied? The user can then override it but then that is clear.

The text area in the main screen can include either WebIDs or links to SOLID POD providers. A WebID is specifically used for accessing public information. If you try to login to a POD you don't need to provide the complete WebID as input, just the link to POD provider will be enough.

As a demo I think this is fine. Closing.


URL miss

https://github.com/pipe-cd/pipecd/blob/8e01b46f1c16132003650c4fed53301b40b63713/web/src/components/application-form/index.tsx#L218
This page returns 404.
I think https://pipecd.dev/docs/user-guide/managing-application/adding-an-application/#picking-from-a-list-of-unused-apps-suggested-by-pipeds is correct.

Nice catch 👍
Could you make a fix PR for this 😄

Okey.

PR: Fix the invalid link #4027


PyTest Integration - Matrix Server

Purpose
We need to integrate the PyTest Python Testing Framework into the Matrix Server. This will start with the installation of PyTest into our codebase. This includes the following:

Installing PyTest (Locally) and updating our requirements.txt for Docker support
Creating the tests Python Package which will encapsulate our functional and unit test cases
Development of conftest.py which will be used to configure the PyTest Framework
Creation of the functional and unit python packages which will contain the respective test cases for each form of testing

Expected Behavior
Although no test cases will be written, everything required for us to begin implementing test cases should be present in the Matrix Systems codebase.

This work has been completed on 26/pytest-integration and is ready to be merged into develop


code of conduct!

Added in a code of conduct

Had no idea what email to use with TODO group's, used my own. If anyone else in the org would like to be added in as a potential contact, please add yourself in a follow up PR!


fix invalid SQL: count(*) with order by

this failed on postgres.
ran on mysql because mysql does not care abt standard SQL but it's invalid.
this way it works on both.

fixed in master https://github.com/qor/qor/commit/257c143ae33ed7b5d79f9526663477f8e8a3971e


Removed chunked saves for entry submission; added performance hack for single point task submission

Description
This removes chunked calls to dataset.save as entries (molecules) are added to a given dataset as part of submission, as these are unnecessary and only serve to slow submission as the collection object grows with additional entries added.
We also added in a performance hack for single point Datasets only, in which we only call collection.save on the first call for a given spec addition and then again after all tasks are generated. This saves repeated movement of the collection object, which is unchanged as tasks are generated over the course of the loop.
Requires a new release of QCFractal beyond the current 0.15.7 release, in particular MolSSI/QCFractal#705.
Status

[ ] Ready to go

@dotsdl thanks for adding this speed up! Looks like we need a new version of qcfractal to test on do we know when we will have a realese?

@jthorton hopefully today!

@dotsdl merged the other PR feel free to merge this one once tests pass

Thanks @jthorton! Merging!