c++ gRPC Server unresponsive after opening too many files

What version of gRPC and what language are you using?
1.23.0, c++
What operating system (Linux, Windows,...) and version?
RHEL 7.6
What runtime / compiler are you using (e.g. python version or version of gcc)
clang++
What did you do?
limited the open files on the server. started more client threads than the server can handle regarding the open files.

I compiled the unmodified examples/cpp/helloworld/greeter_server.cc.
i executed:

$ bash
$ ulimit -n 20
$ ./HelloWorldServer

i modified the greeter_client.cc to keep calling the server every second

/*
 *
 * Copyright 2015 gRPC authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

#include <chrono>
#include <thread>
#include <unistd.h>

#include <iostream>
#include <memory>
#include <string>

#include <grpcpp/grpcpp.h>

#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif

using grpc::Channel;
using grpc::ClientContext;
using grpc::Status;
using helloworld::HelloRequest;
using helloworld::HelloReply;
using helloworld::Greeter;

class GreeterClient {
 public:
  GreeterClient(std::shared_ptr<Channel> channel)
      : stub_(Greeter::NewStub(channel)) {}

  // Assembles the client's payload, sends it and presents the response back
  // from the server.
  std::string SayHello(const std::string& user) {
    // Data we are sending to the server.
    HelloRequest request;
    request.set_name(user);

    // Container for the data we expect from the server.
    HelloReply reply;

    // Context for the client. It could be used to convey extra information to
    // the server and/or tweak certain RPC behaviors.
    ClientContext context;

    // The actual RPC.
    Status status = stub_->SayHello(&context, request, &reply);

    // Act upon its status.
    if (status.ok()) {
      return reply.message();
    } else {
      std::cout << status.error_code() << ": " << status.error_message()
                << std::endl;
      return "RPC failed";
    }
  }

 private:
  std::unique_ptr<Greeter::Stub> stub_;
};

int main(int argc, char** argv) {
  // Instantiate the client. It requires a channel, out of which the actual RPCs
  // are created. This channel models a connection to an endpoint (in this case,
  // localhost at port 50051). We indicate that the channel isn't authenticated
  // (use of InsecureChannelCredentials()).
  GreeterClient greeter(grpc::CreateChannel(
      "localhost:50051", grpc::InsecureChannelCredentials()));
  std::string user("world");
  while (access( "stop", F_OK ) == -1) {
    std::string reply = greeter.SayHello(user);
    std::cout << "Greeter received: " << reply << std::endl;
    std::this_thread::sleep_for (std::chrono::seconds(1));
  }

  return 0;
}

i executed:
$ more test.sh

#!/bin/bash
count=10
for (( i=0; i<$count; i++ )); do
  ./HelloWorldClient &
done
wait

output on the server side:

Server listening on <IP_ADDRESS>:50051
E1001 09:54:20.166869652   24475 tcp_server_posix.cc:213]    Failed accept4: Too many open files
E1001 09:54:20.167309619   24475 ev_epollex_linux.cc:1313]   pollset_add_fd: {"created":"@1569923660.167265010","description":"pollset_transition_pollable_from_empty_to_fd","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":307,"referenced_errors":[{"created":"@1569923660.167264164","description":"get_fd_pollable","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":307,"referenced_errors":[{"created":"@1569923660.167261401","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":541,"os_error":"Too many open files","syscall":"epoll_create1"}]}]}
E1001 09:54:21.167986508   24475 ev_epollex_linux.cc:1313]   pollset_add_fd: {"created":"@1569923661.167923575","description":"pollset_transition_pollable_from_empty_to_fd","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":307,"referenced_errors":[{"created":"@1569923661.167922434","description":"get_fd_pollable","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":307,"referenced_errors":[{"created":"@1569923661.167918409","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":541,"os_error":"Too many open files","syscall":"epoll_create1"}]}]}
E1001 09:54:22.168806789   24475 ev_epollex_linux.cc:1313]   pollset_add_fd: {"created":"@1569923662.168744095","description":"pollset_transition_pollable_from_empty_to_fd","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":307,"referenced_errors":[{"created":"@1569923662.168743040","description":"get_fd_pollable","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":307,"referenced_errors":[{"created":"@1569923662.168739697","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":541,"os_error":"Too many open files","syscall":"epoll_create1"}]}]}

initial output on the server side

Greeter received: Hello world
Greeter received: Hello world
Greeter received: Hello world
Greeter received: Hello world
...

later and subsequent client calls show (also for single process calls)

14: Connection reset by peer
14: Connection reset by peer
14: Connection reset by peer
14: Connection reset by peer
14: Connection reset by peer
Greeter received: RPC failed
Greeter received: RPC failed
Greeter received: RPC failed
14: Connection reset by peer
Greeter received: RPC failed
Greeter received: RPC failed
Greeter received: RPC failed
14: failed to connect to all addresses
14: failed to connect to all addresses
14: failed to connect to all addresses
14: failed to connect to all addresses
14: failed to connect to all addresses

What did you expect to see?
Resource-exhausted errors, recovery of the server.
What did you see instead?
The server gets unresponsive.
Anything else we should know about your project / environment?

I guess its the same issue as in #16058
Could be the same base issue as in #19767 (filehandles running out - ev_epollex_linux.cc does not propagate the failures)

When changing the polling engine (GRPC_POLL_STRATEGY=poll) and increasing the processes to 20:

the client cannot exit cleanly (hangs)
the following output is given in the server

Server listening on <IP_ADDRESS>:50051
E1002 06:05:34.393271527    1417 tcp_server_posix.cc:213]    Failed accept4: Too many open files
E1002 06:05:36.396187488    1574 ev_poll_posix.cc:930]       pollset_work: {"created":"@1569996336.396152458","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/wakeup_fd_eventfd.cc","file_line":38,"os_error":"Too many open files","syscall":"eventfd"}
E1002 06:05:36.396243687    1574 completion_queue.cc:1290]   Completion queue pluck failed: {"created":"@1569996336.396152458","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/wakeup_fd_eventfd.cc","file_line":38,"os_error":"Too many open files","syscall":"eventfd"}
E1002 06:05:36.396300881    1574 ev_poll_posix.cc:930]       pollset_work: {"created":"@1569996336.396269304","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/wakeup_fd_eventfd.cc","file_line":38,"os_error":"Too many open files","syscall":"eventfd"}
E1002 06:05:36.396315284    1574 completion_queue.cc:1290]   Completion queue pluck failed: {"created":"@1569996336.396269304","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/wakeup_fd_eventfd.cc","file_line":38,"os_error":"Too many open files","syscall":"eventfd"}
...

Fixed by https://github.com/grpc/grpc/pull/20808

@hcaseyal thanks for referencing your PR, i would have missed it otherwise!
Unfortunately the problem described here is unrelated to the thread limit, its depending on the open-file limit and PR #20808 does not address this.
Its closely related to #19767, maybe i can provide additional information in the coming days.

Linux systems limit the number of file descriptors that any one process may open to 1024 per process. On exceeding the file descriptor limit of 1024 per process, any new process and worker threads will be blocked. So ,server becoming unresponsive when it exceeds the file descriptor limit is a normal behavior.
The server can respond only to the existing connections and it cannot take up new connections. Even on closing the existing sockets, the server remains in blocked state and cannot accept new connections.
Verified this with a simple example:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
char filename[100];
for (size_t i = 0; i < 1500; ++i) {
    sprintf(filename, "/tmp/%010ld.txt", i);
    FILE *fp = fopen(filename, "w");

    if (fp == NULL) {
        printf("i = %6ld: failed!\n", i);
        return 1;
    }

    if (i % 100 == 0) {
        printf("i = %6ld: ok.\n", i);
    }

    if(i > 1020)
    {
        fclose(fp);
    }
}

return 0;

}
Here,
When if(i > 1020), it fails.
But when if(i > 1019), it passes.

Linux systems limit the number of file descriptors that any one process may open to 1024 per process. On exceeding the file descriptor limit of 1024 per process, any new process and worker threads will be blocked. So ,server becoming unresponsive when it exceeds the file descriptor limit is a normal behavior.
The server can respond only to the existing connections and it cannot take up new connections. Even on closing the existing sockets, the server remains in blocked state and cannot accept new connections.
Verified this with a simple example:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv) {
    char filename[100];

    for (size_t i = 0; i < 1500; ++i) {
        sprintf(filename, "/tmp/%010ld.txt", i);
        FILE *fp = fopen(filename, "w");

        if (fp == NULL) {
            printf("i = %6ld: failed!\n", i);
            return 1;
        }

        if (i % 100 == 0) {
            printf("i = %6ld: ok.\n", i);
        }

        if(i > 1020)
        {
            fclose(fp);
        }
    }

    return 0;
}

Here,
When if(i > 1020), it fails.
But when if(i > 1019), it passes.

Hi @boanerges317
I limited the number of files the process may open.
And as soon as the limit is reached, no more files can be opened, that is what you showed.
But as soon as one of the threads frees a file handle, new files can be opened - you did not store the pointers to your filehandles, so this is not part of your test.
My tries to come up with a solution to this in gRPC were not successfull up to now, because

there are many layers between the position where I think the error occurs and the synchronized servers code
if i remember correctly, when trying to send back an error a handle has to be opened as well

I'm on 1.28.1 and what I'm observing is:
E0725 23:14:45.551672660   26977 ev_epollex_linux.cc:1306]   pollset_add_fd: {"created":"@1595718885.445359271","description":"pollset_transition_pollable_from_empty_to_fd","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":325,"referenced_errors":[{"created":"@1595718885.445357066","description":"get_fd_pollable","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":325,"referenced_errors":[{"created":"@1595718885.445344717","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/wakeup_fd_eventfd.cc","file_line":38,"os_error":"Too many open files","syscall":"eventfd"}]}]}
E0725 23:14:45.556627979   26982 tcp_server_posix.cc:214]    Failed accept4: Too many open files
E0725 23:14:45.559078456   27004 ev_epollex_linux.cc:1306]   pollset_add_fd: {"created":"@1595718885.558914751","description":"pollset_transition_pollable_from_empty_to_fd","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":325,"referenced_errors":[{"created":"@1595718885.558912582","description":"get_fd_pollable","file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":325,"referenced_errors":[{"created":"@1595718885.558904191","description":"Too many open files","errno":24,"file":"src/core/lib/iomgr/ev_epollex_linux.cc","file_line":568,"os_error":"Too many open files","syscall":"epoll_create1"}]}]}

and from this moment on, despite the fact the server is in LISTENING it doesn't accept connections anymore, the only way to recover from this is restarting the server

Hey guys ! See similar issue on 1.28.1 too. Any idea how to fix it?

There is no fix at the moment. As mitigation one could limit the threads via ::grpc::ResourceQuota and set a much higher open file limit.

Hi all, I am again looking into this issue. I am currently on v1.38.0 and it looks like the issue is solved. I am not able to reproduce the same. If this is fixed, do any of you know the PR that solved it?

This problem is existing, golang grpc 1.40.0

the Recv-Q is increasing until 4097, then it will report "accept4: too many open files"

I'm using grpc for clients for backup object base services.

This open about 50-100 thread(socket) with 4MiB/object/thread(socket) per second
This is still unresponsive after opening too many files => Stop services.

But it's not usually or any special env, 1-2 days/time  sometime 3 days

@boanerges317 The use case is problematic, the previously opened handle should be closed.

Is is a reason the problem occurs when I run my application, but never occurs when it is launched from Visual Code for debugging ?

@drfloob Is the topic under consideration? It is a blocker !

Looks like this issue got lost in the shuffle when we had some team changes. It's on my radar now, I'll look into it.

Hi @drfloob,
Hope you are doing well.
I have also ran into same issue with my gRPC setup and was keen to learn if there is any update on this?
Thank you in advance.

Apologies for the delay, this required careful handling. This issue has been fixed, and the details were posted to the mailing list: Patch Releases for CVE-2023-4785, covering gRPC Core, C++, Python, and Ruby. Please update your gRPC libraries if you are affected.

Thanks for fixing this! I will test as soon as possible and hopefully this will allow us to raise our threadlimit. Many thanks for tackling the problem. :)


extend server port profiles

When defining a port-profile, allow a method to add all VLANs that present on the leaf switch.
for example:
  VM_Servers:
    mode: trunk
    vlans: "all"

This "all" keyword would result in adding all VLANs defined on the switch -> accessible via the leaf.vlans key

Already merged


Classic (SOD) - Main Hand Category is not sorting to top as the other gear categories

Closed here https://github.com/Leo450/betterbags-gearfirst/issues/6


Fixes autodoc when literals are present

If literals were present chicken wouldn't provide any autodocumentation
due to an error.

Filter out all non-symbols from the autodoc set
Removed an unnecessary symbol->string conversion

dan, did you close this PR accidentally?

I found other related issues, so I'm working on a better set of changes.
Basically, stuff like this acts oddly:
(define a 1)

If the cursor is before the 1 then the eldoc displays and autocomplete works, if it's after the 1 then it doesn't.
I didn't notice this before because the 'correct' eldoc would hang around for a while from the previous cursor positions.


Issue that could lead to multiple init in MetadataReportInstance#init

In MetadataReportInstance#init , if multiple threads come in at the same time and determine that init.get() is false, then the following steps will be taken, resulting in multiple initialization-related code logic. Here we should use CAS to update the value of init. This ensures that it will only be initialized once

MetadataReportInstance.init method only be used  when DubboBootstrap. call the initialize, normally we will not be multiple threads to initialize the object

MetadataReportInstance.init method only be used when DubboBootstrap. call the initialize, normally we will not be multiple threads to initialize the object

In your opinion, there is no need to use an AtomicBoolean type

yes ,the current version MetadataReportInstance#init AtomicBoolean  boolean is the same, bescause  AtomicBoolean does not take effect now

close #7585 via #7586


Gateway doesn't allow OPTIONS request

We get a 401 unauthorised when making a pre-flight options request. Right now, I have added a conditional block in nginx config on the production server to handle this. Its something like
          if ($request_method = OPTIONS){
                  add_header Access-Control-Allow-Origin "*";
                  add_header Access-Control-Allow-Methods "GET, POST, HEAD, OPTIONS";
                  add_header Access-Control-Allow-Headers "Authorization, Content-Type";
                  add_header Access-Control-Allow-Credentials "true";
                  add_header Content-Length 0;
                  add_header Content-Type text/plain;
                  return 200;
          }

Should we do this in the Nginx or should the gateway handle this CORS issue?

Fixing this in nginx would be easier from my POV. Btw I think the response code should be 204.
See: https://gist.github.com/Stanback/7145487
with the suggestion:

If you have multiple server blocks that you want to use CORS with, you can also save this as a separate file in /etc/nginx/cors and within your server blocks, enter "include cors;" which will include the file.
This would make it easy to enable CORS for selected locations.

Closed by #74


Error handling

Created by: @yetizer Apr 08 2021 at 20:04 CET
Last updated: Jul 07 2021 at 09:28 CET
ClickUp ID: IK-778
Currently SDK functions do not follow best practices when returning errors. An error message is returned instead of throwing an error. Developers must check the returned object instead of catching the error with try ... catch

Closed: Apr 27 2021 at 13:40 CET


Azure AD B2C giving AADB2C90117 error...

This isn't really an issue but more of a migration request: to AAD B2C, or  what needs to be changed in the appsetting.json is not yet clear. There have been several changes in AAD B2C lately. I'm used to the classic OpenID flow, and I am not understanding how this works yet -- or is different -- with MSAL. Why is the redirect back to the client even when I supply the /signin-oids of the api server? Any tips welcome, else I'll keep reading.
appsettings.json blazor API server:
"AllowedHosts": "*",
"AzureAdB2C": {
"ClientId": "59caf4a9-84f5-49b5-bd51-331a3er08bf3",
"RedirectUri": "https://localhost:44397/signin-oidc",
"ClientSecret": "9tzGL98fS/2p:LA]YfzuHj.?9Jp_p[ND",
"Tenant": "yyyyyDevTest.onmicrosoft.com",
"SignUpSignInPolicyId": "B2C_1_HubSignInV2Policy",
"ResetPasswordPolicyId": "B2C_1_V2SSPR",
"EditProfilePolicyId": "B2C_1_V2SiPe"
}
appsettings.json client:
{
"Authority": "https://login.microsoftonline.com/tfp/yyyyDevTest.onmicrosoft.com/B2C_1_HubSignInV2Policy/v2.0",
"ClientId": "59caf4a9-84f5-49b5-bd51-331a3er08bf3"
}
Gives me this error in the WASM Browser Console:
AADB2C90117: The scope 'app://blazor.msal.api/api.access' provided in the request is not supported

Hello,
I guess you are using the example project. MainLayout.razor sets a scope for the login which apparently is not in the App Registration you have created in B2C.
Working with Azure AD B2C might require a couple of tweaks, I'm currently on it and will publish a tutorial as soon as it's done.

OK, I wrongly assumed that those scope requirements were coming from AAD B2C. I'll see what happens now... Let me know if you see any problems in my appsettings. Thanks

Alright, had a quick look and I have to add some changes to the library.
2 main issues:

a parameter in the MSAL config which I don’t support at the moment
the different token that B2C issues compared to normal Azure AD

OK, all good, I'll keep trying to understand the whole MSAL flow vis-a-vis std OpeinId-Connect (newness in B2C here) and await further infos. Once the sample runs, it will be easier to understand the flow.
I noticed taht Blazor.Msal.Client.ClientConfig is not used anywhere, so apparently neither are the settings in the client's appsettings.json.

Hi, I started looking at this as I require it.  I am documenting the steps I am taking below which might help implement this...
I added:
validateAuthority = false
to line 37 of Msal.cs, obviously that should be:
validateAuthority = config.ValidateAuthority
..and also added to the config class etc.  But I am just trying to figure out how to quickly get it working.
After I do that, it let's me actually authenticate, but when it comes back to the Blazor app I get:
WASM: Unhandled exception rendering component: blazor.webassembly.js:1:35618 WASM: System.NullReferenceException: Object reference not set to an instance of an object. blazor.webassembly.js:1:35618 WASM:   at Des.Blazor.Authorization.Msal.MsalAuthenticationStateProvider.<SignInAsync>b__4_0 () <0x242c2e8 + 0x000f0> in <0835b507a99546918b699671122f38c0>:0 blazor.webassembly.js:1:35618
I found that this.GetAuthenticationStateAsync()).User.Identity.Name was getting a null reference exception.
The fix was to make sure "Display Name" was chosen as an application scope as per this stack overflow article
That seemed to set the name, but the underlying userName is still not set, so anywhere that checks if the identity is authenticated fails.
As I said I need to keep moving quickly so this is not a fix, but it just so happens if you can set the "userName" property in the return value of "AzureAd.prototype.getAccount" (in blazor.azuread.js) then it works.  So this is a super dodgy implementation but demonstrates it working - we do get an "accountIdentifier" returned from Msal - so I just set the userName to that:
`
AzureAd.prototype.getAccount = function () {
    var acc = this.msalObj.getAccount();
    // Dodgy fix below!
    if (acc && acc.accountIdentifier && !acc.userName){
        acc.userName = acc.accountIdentifier;
    }
    return acc;
};

`
Hopefully that helps!  If I get time to circle back I will try to a pull request with a proper fix but don't have time right now sorry!

Hello,
thanks very much for the info :) I had already started implementing the support to B2C, but then I paused it waiting for a more stable release of Blazor WebAssembly.
I plan to push a new version to GitHub within the next week.

Any updates on this? I too got this working using a similar workaround to @nootn, but using acc.userName = acc.name instead.

Hello guys, the new Blazor 3.2.0 preview 2 adds support for token based authentication
https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-preview-2-release-now-available/
Therefore I think there's very little point in updating this project :)


Error after installing into virtualenv

(tempenv-584b169716017) ~ $ pip install dockercli
Collecting dockercli
Collecting configobj>=5.0.6 (from dockercli)
Collecting pexpect>=3.3 (from dockercli)
Collecting docker-py>=1.2.0 (from dockercli)
Collecting fuzzyfinder>=1.0.0 (from dockercli)
  Using cached fuzzyfinder-1.0.0-py2.py3-none-any.whl
Collecting click>=4.0 (from dockercli)
  Using cached click-4.1-py2.py3-none-any.whl
Collecting tabulate>=0.7.5 (from dockercli)
Collecting py-pretty>-0.1 (from dockercli)
Collecting prompt-toolkit==0.38 (from dockercli)
  Using cached prompt_toolkit-0.38-py2-none-any.whl
Collecting pygments>=2.0.2 (from dockercli)
  Using cached Pygments-2.0.2-py2-none-any.whl
Collecting six (from configobj>=5.0.6->dockercli)
  Using cached six-1.9.0-py2.py3-none-any.whl
Collecting websocket-client>=0.32.0 (from docker-py>=1.2.0->dockercli)
Collecting requests>=2.5.2 (from docker-py>=1.2.0->dockercli)
  Using cached requests-2.7.0-py2.py3-none-any.whl
Collecting wcwidth (from prompt-toolkit==0.38->dockercli)
  Using cached wcwidth-0.1.4-py2.py3-none-any.whl
Installing collected packages: six, configobj, pexpect, websocket-client, requests, docker-py, fuzzyfinder, click, tabulate, py-pretty, pygments, wcwidth, prompt-toolkit, dockercli
Successfully installed click-4.1 configobj-5.0.6 docker-py-1.3.0 dockercli-0.3 fuzzyfinder-1.0.0 pexpect-3.3 prompt-toolkit-0.38 py-pretty-1 pygments-2.0.2 requests-2.7.0 six-1.9.0 tabulate-0.7.5 wcwidth-0.1.4 websocket-client-0.32.0
(tempenv-584b169716017) ~ $ dockercli
Traceback (most recent call last):
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/bin/dockercli", line 11, in <module>
    sys.exit(cli())
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/click/core.py", line 664, in __call__
    return self.main(*args, **kwargs)
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/click/core.py", line 644, in main
    rv = self.invoke(ctx)
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/click/core.py", line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/click/core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/dockercli/main.py", line 316, in cli
    dockercli = DockerCli()
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/dockercli/main.py", line 57, in __init__
    self.config = self.read_configuration()
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/dockercli/main.py", line 76, in read_configuration
    write_default_config(default_config, self.config_name)
  File "/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/dockercli/config.py", line 37, in write_default_config
    shutil.copyfile(source, destination)
  File "/Users/alex_gaynor/.pyenv/versions/2.7.10/lib/python2.7/shutil.py", line 82, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: u'/Users/alex_gaynor/.virtualenvs/tempenv-584b169716017/lib/python2.7/site-packages/dockercli/dockerclirc'

I have the same error on a fresh install on Ubuntu 14:
root@arcadia:~# dockercli
Traceback (most recent call last):
  File "/usr/local/bin/dockercli", line 9, in <module>
    load_entry_point('dockercli==0.3', 'console_scripts', 'dockercli')()
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 664, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 644, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/dockercli/main.py", line 316, in cli
    dockercli = DockerCli()
  File "/usr/local/lib/python2.7/dist-packages/dockercli/main.py", line 57, in __init__
    self.config = self.read_configuration()
  File "/usr/local/lib/python2.7/dist-packages/dockercli/main.py", line 76, in read_configuration
    write_default_config(default_config, self.config_name)
  File "/usr/local/lib/python2.7/dist-packages/dockercli/config.py", line 37, in write_default_config
    shutil.copyfile(source, destination)
  File "/usr/lib/python2.7/shutil.py", line 82, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: u'/usr/local/lib/python2.7/dist-packages/dockercli/dockerclirc'

Thanks for reporting, will investigate asap.

Get the same error when installing without virutalenv.
Ubuntu 14.04. Python wise everything as it ships with the Ubuntu repositories.

Fixed in v0.6 that's now on pypi. Thanks @amjith for the fix, and everyone else for trying out and reporting.


Migrate from node-sqlite3 to better-sqlite3

Notion task.

The initial reason for this migration was a bad performance with node-sqlite3 (it was running on the main thread).
But now this doesn't seem to be an issue from the user's perspective.
Closing this for the time being.


Add method to close current window (but not the whole browser)

The problem
I want to close a current window/tab (but leave other windows/tabs opened).
Selenide has method Selenide.close(), but it close the whole browser/webdriver. At least name of this method is misleading.

done in PR https://github.com/selenide/selenide/pull/1017

Method Selenide.closeWindow() close all windows, he doesn't close the only tab.
Selenide.open()
Selenide.click()
Selenide.switchTo().window(1);
Selenide.closeWindow()

@kiritoqa Why do you think so? I just tried - method Selenide.closeWindow() closes only the current window.
Please provide some code sample for reproducing the issue.

hey, the problem is still exist. I need to use it in test with data provider and after each data set just close the tab.
During the test :

the new tab was opened

driver was switched to new tab

assertion was done

browser was closed
after that the browsers stars again and doing another data set. And is closing after each data set.
@Test(dataProvider = "dp1")
void solutionCardLinksTest(String expectedUrl, SelenideElement element) {
element.click();
switchTo().window(1);
Selenide.webdriver().shouldHave(url(expectedUrl));
Selenide.closeWindow();

I solved the problem with this method.
switchTo().window(1);
Selenide.closeWindow();
switchTo().window(0);
Assert.assertTrue(actualTitle.contains(title), String.format("Invalid Url expected %s but found %s",title, actualTitle));


fix(utc): add utc property to wrapper

Currently, jalaliday doesn't work with the UTC plugin. For example, when we change the calendar of a UTC date, the timezone returns. This PR is based on dayjs original wrapper to pass the utc property to the new instance.

Thanks
released in v2.2.8


Fix(interaction) precise spring anchor

Using the Precision Snap grab mode with a Spring Joint was producing unintuitive effects, as the Spring Joint was always anchored at the grabbed object's center point. This will set the anchor point for a temporary Spring Joint when Precision Snap is in use.

There were the following issues with your Pull Request

Commit:<PHONE_NUMBER>e779734f51a1c109dbb94a6a4ac5bb

Commits must be in the following format: %{type}(%{scope}): %{description}

Commit: 060fabf4f780657188a34d5a466a0c56430ce251

Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/thestonefox/SteamVR_Unity_Toolkit

This message was auto-generated by https://gitcop.com

Amended branch to fit commit guidelines

Nice!

Ah ha, that could explain why I am having a bit of trouble turning a ships wheel precisely.
Interestingly enough it works fine with the NewtonVR rig.  Thanks for that.


 is rendered  instead of displaying the proper error message

Version
3.1.2
Reproduction link
Router configuration:
https://jsfiddle.net/w67fuxoj/
Steps to reproduce

run wepack build with yarn
open browser window with vue
vue is detected
routes are detected
In  (functional) with name default   is rendered  instead of displaying the proper error message

What is expected?
Component from route should be shown
What is actually happening?
<!----> is shown

Unable to investigate reason why component is broken

Try using router.resolve to see what route is being matched. When no route is matched, nothing is displayed, it's not an error.
Please next time you report a bug, provide a runnable reproduction not just some piece of code. I cannot even help you with that code sample because there isn't even a navigation

let testXXXRoute = router.resolve({
  name: 'testXXX',
})

matches the correct router

@posva  can u provide possible issue duplicates?


If phase1.ssh_user isn't set, also try to use $USER.

If the .config file is missing phase1.ssh_user, we should still attempt to explicitly use $USER@host to avoid the poorly documented default behavior of gcloud looking up the user from the service account (which is wrong, in prow's case):
https://github.com/kubernetes/kubeadm/issues/219
If $USER is unset, like it is in the make docker-dev environment, then we can still fall back to omitting the user@ portion of the ssh command. But, this will make it a little friendlier to use in other environments.

/lgtm
Thanks @pipejakob, eagerly waiting for this to merge now.


Update to GitHub Action Workflows and URL fixes

I'm closing this PR again as the build workflow is working again. See #201 for the url fixes only


Create AnimeDetailsTabs component

Summary of Changes
This PR introduces several new components and enhances the responsiveness of our application to ensure a seamless user experience across both desktop and mobile devices.
Additions

ChronologySeason Component: A new component to display seasonal information in a chronological format.
ScrollableDescription Component: Provides a scrollable container for lengthy text descriptions.
AnimeDetailsTabs Component: A tabbed interface to toggle between the detailed description and chronological timeline of anime.

Enhancements

Responsiveness: Implemented a responsive design for the newly added components to adapt to various screen sizes. Ensured proper scaling and usability on both desktop and mobile devices.

Testing

Tested on various devices with different screen sizes to ensure the UI is responsive and functions correctly.
Verified the functionality of the AnimeDetailsTabs toggling mechanism.

Screenshots:

and resolve conflicts


Typescript crash

VSCode Version: Code 1.17.2 (b813d12980308015bcd2b3a2f6efa5c810c33ba5, 2017-10-16T13:57:00.652Z)
OS Version: Linux x64 4.10.0-38-generic
Extensions: none

Steps to Reproduce:

Please provide information about the issue

Please provide information about the issue

Closing as not actionable without more information


std/tokio simple: timeout not working, it is actually None on Drop

https://github.com/t3hmrman/async-dropper/blob/main/crates/async-dropper-simple/src/lib.rs#L65
This line will replace self with Default impl and timeout becomes None: https://github.com/t3hmrman/async-dropper/blob/main/crates/async-dropper-simple/src/lib.rs#L61
Also as a note, adding Deref and Derefmut would be desirable to get the inner otherwise this Struct is less useful.

You can also remove the Default requirement easily by setting inner: Option<T> and manually set the inner to None when implementing Default for the Struct.

Hey @beckend thank you so much for pointing this out -- would you be willing to put the changes into a PR?
I think the tests wouldn't even have to change -- just the code would be fine!

Sent the PR. Consider the breaking nature.

Thanks to the work in the PR and comments, this work has made it into version 0.2.6:
https://github.com/t3hmrman/async-dropper/releases/tag/async-dropper-simple-v0.2.6
Thanks!


Nominal Classification / Text Classification

Methods to classify Nominals. Classify after usage of Nominals. Often used Nominals are most likely hot words.

done


[Patch] Update Lib, refactor code and fix errors

Changes Unknown when pulling 581e4fd6cc26dabd4aafa6c9f4db22a1d3589f22 on dig_sign_error into ** on master**.

Changes Unknown when pulling ade5bf769b8fef0a64021ab32bdbe5c49abb046a on dig_sign_error into ** on master**.

Changes Unknown when pulling ade5bf769b8fef0a64021ab32bdbe5c49abb046a on dig_sign_error into ** on master**.


Example of video upload

Hi I would like to upload videos using minisky, an example woudl be helpful.
I would like to do it with the recommended method, using service auth to video.bsky.app endpoints.
Documentation seems to be in progress and it's a relatively new feature. I found not yet merged documentation on it here:

https://github.com/bluesky-social/bsky-docs/pull/227
https://bsky-docs-pr-227.onrender.com/docs/tutorials/video#recommended-method

Hey! I tested this now, I managed to upload a video: https://bsky.app/profile/mackuba.eu/post/3le7jlq47k42e
I mostly just translated the JS code from the example into calls to Minisky, with two instances, one for my PDS and one for the video service.
One tricky thing was that the call to uploadVideo is a POST call which has a POST body and also URL query params, which is… a bit unusual. I managed to make it work with Minisky by passing the method name with ? and params appended to the method field, although I would consider this undocumented behavior right now.
Here's the code:
sky = Minisky.new('amanita.us-east.host.bsky.network', 'bluesky.yml')

res = sky.get_request('com.atproto.server.getServiceAuth', {
  aud: "did:web:#{sky.host}",
  lxm: "com.atproto.repo.uploadBlob",
  exp: Time.now.to_i + 1800
})

video_file = File.read("video.mov")

vid = Minisky.new('video.bsky.app', nil)

job = vid.post_request("app.bsky.video.uploadVideo?did=#{sky.user.did}&name=video.mov", video_file,
  headers: { "Content-Type" => "video/mp4", "Content-Length" => video_file.length.to_s },
  auth: res['token']
)

status = vid.get_request('app.bsky.video.getJobStatus', { jobId: job['jobId'] })
p status

while status['jobStatus']['blob'].nil?
  sleep 2
  status = vid.get_request('app.bsky.video.getJobStatus', { jobId: job['jobId'] })
  p status
end

sky.post_request('com.atproto.repo.createRecord', {
  repo: sky.user.did,
  collection: 'app.bsky.feed.post',
  record: {
    text: "Meow :)",
    langs: ['en'],
    createdAt: Time.now.iso8601,
    embed: {
      '$type' => "app.bsky.embed.video",
      video: status['jobStatus']['blob'],
      aspectRatio: { width: 1920, height: 1080 }
    }
  }
})

Update: I've released 0.5.0 now and added a params keyword arg to post_request, so you can do:
job = vid.post_request("app.bsky.video.uploadVideo", video_file,
  params: { did: sky.user.did, name: 'video.mov' },
  headers: { "Content-Type" => "video/mp4", "Content-Length" => video_file.length.to_s },
  auth: res['token']
)


NXP display sample HAL regression issue

After NXP's HAL update e4cc0f2, the display driver and sample fails on some NXP boards, including the MIMXRT1170-EVK board.
This issue likely fails on other NXP boards.  The issue also causes failures in other samples using the display driver like samples/drivers/video/capture.  The issue prevents these apps from booting correctly, the boot banner and other console output do not print.
To replicate with the working commit before the HAL update e8a375e, these steps show the display sample working.  Build the sample with:
west build -b mimxrt1170_evk//cm7 samples/drivers/display/ --shield=rk055hdmipi4ma0 --pristine

Flashing to the board, the display shows the expected pattern: the 4 corners have colored rectangles on a white background, with the black corner fading to white.  This console output also prints after the display background is initialized:
*** Booting Zephyr OS build v3.7.0-1024-ge8a375ec2387 ***
[00:00:00.185,000] <inf> sample: Display sample for display-controller@40804000

But when building the same sample with e4cc0f2 or later, no boot banner or any console output prints.  The display backlight turns on, but the display is not updated.

I bumped into the same issue, the driver initialization for himax,hx8394 gets stuck.
Putting an k_msleep(1) in hx8394_mipi_tx seemed to get the samples working again, but doesn't feel like a proper solution.


Guidance for plugin authors on resolving dependency conflicts with SBT

SBT plugins need to be able to use newer versions of the same third-party libraries that SBT itself depends on. Currently, all SBT plugins are loaded into a single classloader shared by SBT itself, and the version dependent on SBT itself wins.
My specific use case: thesamet/sbt-protoc depends on protobuf-java. I would like to upgrade our dependency on protobuf-java to the most recent version (currently 3.12.x) to be able to provide my users new functionality, but due to this limitation we can't upgrade at most to 3.7.1.
Shading the dependency doesn't seem like the right call here since sbt-protoc enables other libraries to generate code. It needs to be able to call into other libraries and pass them protobuf-java classes. That implies that all code generators use sbt-protoc (some of which maintained by others) would have to migrate to a shaded library I provide. As a result of this, our upgrade is currently blocked.
I am looking for:

Possible solutions
As this issue discussed a number of times before (#2796, #4000, sbt/zinc#546, #4183), are there any plans to resolve it in the foreseeable future? As a plugin author I would like to know if I should wait for a resolution of this, or identify and implement a hacky solution that I would have to support for the long term.

Thanks for bringing this up. I acknowledge this is an issue, and also own up to the fact that this hasn't been prioritized, partly because we don't directly feel the pain. Given that plugin ecosystem is one of the best parts about sbt, we should do better.
general approach
I think we should aim for short-term hack first that does not depend on sbt mothership to change. Changes to sbt could take time to implement, and if we can hack a quick solution that would unblock you and others quickly.
Next we can think of more long-term-ish solution that can gradually reduce the hacks. What do you think?
the quick route
For the quick route, I think we should study and emulate how compile task or run task is implemented. Even though sbt itself is implemented using Scala 2.12, sbt can run compiler on a range of Scala versions, which on their own depend on scala-library.jar. If compile can do it, others can emulate it too, I think.
One approach is sbt-sidedish I wrote during sbt 0.13 era so people can use Scalafix (on Scala 2.12). Given ModuleID of a JAR sbt-sidedish would create a runner representing either a sandbox ClassLoader or a forked JVM. This then could be executed from a task, like a command-line app. If your plugin's main feature doesn't depend on sbt or other plugins, that might be a viable approach.
long-term
I guess the long-term effort would be to shade sbt's dependencies one by one.
Another potential is that we would come up with an automatic/semi-automatic way of isolating ClassLoader, for example by filtering out anything that's not sbt.*. I'm open to other ideas.

Another potential is that we would come up with an automatic/semi-automatic way of isolating ClassLoader, for example by filtering out anything that's not sbt.*. I'm open to other ideas.

I think this is actually not that bad. There is already a DualLoader in zinc for doing this kind of thing. DualLoaders are how we used to filter out the scala library from test and run and it generally worked pretty well.

For the most part we would still need sbt transitive dependencies to be able to do s.info.log(...) etc from a plugin.
Maybe a more milder revision of "filtering out anything that's not sbt.*" might be "remove Zinc out of dependency graph, and put that into a sandbox." Here are the transitive dependencies:
com.eed3si9n:gigahorse-core_2.12:0.5.0:default
com.eed3si9n:gigahorse-okhttp_2.12:0.5.0:default
com.eed3si9n:shaded-scalajson_2.12:1.0.0-M4:default
com.eed3si9n:sjson-new-core_2.12:0.8.3:default
com.eed3si9n:sjson-new-murmurhash_2.12:0.8.3:default
com.eed3si9n:sjson-new-scalajson_2.12:0.8.3:default
com.github.ben-manes.caffeine:caffeine:2.5.6:default
com.github.cb372:scalacache-caffeine_2.12:0.20.0:default
com.github.cb372:scalacache-core_2.12:0.20.0:default
com.google.protobuf:protobuf-java:3.7.0:default
com.jcraft:jsch:0.1.54:default
com.lihaoyi:fastparse-utils_2.12:0.4.2:default
com.lihaoyi:fastparse_2.12:0.4.2:default
com.lihaoyi:sourcecode_2.12:0.1.3:default
com.lmax:disruptor:3.4.2:default
com.squareup.okhttp3:okhttp-urlconnection:3.7.0:default
com.squareup.okhttp3:okhttp:3.14.2:default
com.squareup.okio:okio:1.17.2:default
com.swoval:file-tree-views:2.1.3:default
com.trueaccord.lenses:lenses_2.12:0.4.12:default
com.trueaccord.scalapb:scalapb-runtime_2.12:0.6.0:default
com.typesafe:config:1.3.3:default
com.typesafe:ssl-config-core_2.12:0.4.0:default
io.get-coursier:lm-coursier-shaded_2.12:2.0.0-RC6-1:default
jline:jline:2.14.6:default
net.java.dev.jna:jna-platform:4.5.0:default
net.java.dev.jna:jna:4.5.0:default
org.apache.logging.log4j:log4j-api:2.11.2:default
org.apache.logging.log4j:log4j-core:2.11.2:default
org.apache.logging.log4j:log4j-slf4j-impl:2.11.2:default
org.reactivestreams:reactive-streams:1.0.2:default
org.scala-lang.modules:scala-parser-combinators_2.12:1.1.2:default
org.scala-lang.modules:scala-xml_2.12:1.2.0:default
org.scala-lang:scala-compiler:2.12.10:default
org.scala-lang:scala-library:2.12.10:default ()
org.scala-lang:scala-reflect:2.12.10:default ()
org.scala-sbt.ipcsocket:ipcsocket:1.0.0:default
org.scala-sbt.ivy:ivy:2.3.0-sbt-88d6a93d15f9b029958c1c289a8859e8dfe31a19:default
org.slf4j:slf4j-api:1.7.26:default
org.spire-math:jawn-parser_2.12:0.10.4:default

project sbtProj
sbt:sbt> consoleProject
scala> val ur = update.eval
scala> val cr = ur.configurations.filter(_.configuration == ConfigRef("compile")).head
scala> val modules = cr.modules.map(_.module.toString).sorted
scala> println(modules.mkString("\n"))

Doing stuff on the shading front - http://eed3si9n.com/jarjar-abrams

I've been looking into sbt-sidedish. The limitation I am facing is that in my use case the sidedishes are a function of a SettingKey - however they somehow need to be returned by def extraProjects which I don't think is possible. However, this is in the right direction - what I am looking for is a function that would take a moduleId and a class name, and would resolve all dependencies needed to load the class, and either return the class or run the main method.

scalafmt define an interface module meant to bridge the client classpath (sbt) with the tool classpath (implementation modules of scalafmt), isolated via https://github.com/scalameta/scalafmt/blob/v2.5.3/scalafmt-interfaces/src/main/java/org/scalafmt/interfaces/ScalafmtClassLoader.java. The downside is that nothing else is shared obviously, so the bottom classloader will have to classload/JIT the scala library itself.

I am working towards a similar approach where sbt-protoc dynamically downloads artifacts and creates a sandboxed class loader.
I saw that scalafmt uses Coursier but I prefer to stick with sbt's librarymanagement so SBT resolver settings are honored. To that end, here is how I obtain an instance of DependencyResolution:
https://github.com/thesamet/sbt-protoc/blob/f8c9e31cdc02d3cca4ce4f8473a97844bde8122d/src/main/scala/sbtprotoc/ProtocPlugin.scala#L389
I initially used the dependencyResolution key, but this seemed to be locked to the project's scalaVersion and ignore the scala library of what I'm trying to dynamacially load.
Any thoughts on this approach?

We use something similar to load the Scala.js linker in sbt-scalajs, but with more hooks for users to customize it:
https://github.com/scala-js/scala-js/blob/master/sbt-plugin/src/main/scala/org/scalajs/sbtplugin/ScalaJSPlugin.scala#L249-L300

Thanks @sjrd , trying to implement this, I came across this problem - I think that ScalaJS gets around it by having its custom class loader handle all classes in the scala package through the parent class loader.

drop ScalaPB from Zinc?
ScalaPB runtime brings in a bunch of transitive dependencies on its own. All we're using protobuf is persisting Zinc Analysis file. I'm wondering if much of the headaches would go away if Zinc switched to using Java version of the protobuf, and if possible shaded protobuf-java 3.7.0.
https://github.com/scalapb/ScalaPB/issues/777#issuecomment-645392103 /cc @xuwei-k

Even if ScalaPB was dropped from Zinc, we'd still need to either shade protobuf-java or provide plugins the ability to have their own isolated class loaders. I made a lot of progress on getting an isolated class loader for sbt-protoc, based on the discussion here. Hope to have this released soon (see #5628)

Refactoring from nice Scala code to builder-based protoc-generated code was painful, but I got through 500+ errors over multiple days, and I've also shaded protobuf-java - https://github.com/sbt/zinc/pull/799
This was motivated by geny conflicts we started seeing with sbt 1.4.0-M1 (https://github.com/sbt/sbt/issues/5624#issuecomment-645663474), which is transitive dependency of both lihaoyi/fastparse and lihaoyi/scalatags.

@eed3si9n Thank you so much! In parallel, I have made sbt-protoc and protocbridge free of dependencies on protobuf-java, and added functionality to enable generators to be loaded into disjoint sandboxed classloaders. This would enable mixing different versions of protobuf-java and ScalaPB in a single invocation of sbt-protoc. PRs to akka-grpc and fs2-grpc will go out soon.

akka-grpc PR: akka/akka-grpc#1032
fs2-grpc: fiadliel/fs2-grpc#202
scalapb: https://github.com/scalapb/ScalaPB/blob/2c16d1dc66342b03d79c1aa4f767bb723296e212/compiler-plugin/src/main/scala/scalapb/gen.scala#L7-L16

@eed3si9n The above PRs have been merged into the third-party projects, so at this point all the well-known code generators of sbt-protoc have moved into isolated classloaders.
AFAIC, this github issue can be closed now, though I'd be happy to see in the future SBT providing classloader isolation for each plugin.

ok. Closing this for now. I'm happy there's been some constructive effort that came out of this initiative.


⚠ Bofrost.de has degraded performance

In ce68b43, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1414 ms

Resolved: Bofrost.de performance has improved in 361eae8 after 305 days, 5 hours, 42 minutes.


Android: New Story-List Loading Indicator Bar

Enhance the adapter for the story list view to mock an N+1th list item that is the pulsing blue load indicator.  Enable this indicator when the list is loading.

From seeing this in the app now do we still need to show "Fetching fresh stories..." when the loading indicator is shown?
They are effectively duplicate indicators in this case and if the story list fills your complete view the text overlays the indicator anyway and you can't see it.

Implemented in #665.

@manderson23 Yeah, the detailed loading status is a bit over-communicated in the story list.  I want to keep it active for debug builds for sure (it is invaluable for troubleshooting), but as to whether it should stay on in Prod is more a judgement call.

Right, let's get rid of the text and just keep the pulsing bar. I'm going to go in and change the timing, size, and color of it for the next release. But it's looking good!

Oh, I also don't see the pulsing bar at first load, only on subsequent page loads.

I'll add code to correctly disable the status message for non-debug builds so you can tweak visual stuff on top of that.

Oh, I also don't see the pulsing bar at first load, only on subsequent
page loads.

Yeah, that is a limitation of the listview implementation. You should see
the text "loading" message if the list is empty and the pulsebar when the
list gets going. I can add the pulse bar to the very start, too, if you
want me to invest the time.

Yes, please. It's shown on every single feed detail load and makes the lag, what little of it is there, less noticeable.


$_SERVER['SERVER_PORT'] Flagged as non-validated

Line of code in question:
$port = filter_var( wp_unslash( $_SERVER['SERVER_PORT'] ), FILTER_SANITIZE_NUMBER_INT );
This is being flagged as being unvalidated. The error message specifically reads:
"Detected usage of a non-validated input variable: $_SERVER"
Interestingly, if you simply swap out the 'SERVER_PORT' with 'HTTPS', or 'HTTP', etc., the error disappears immediately.

Nevermind, found the error in my own code!


Arch arm rework thread arch macros and stack info

The pull request

is mostly an enhancement, re-organizing the thread stack macros for ARM, improving the logic behind the generation of each macro

fixes a bug reported in #16887, by aligning the threads' priv stacks properly

fixes a minor bug in tests/kernel/mem_protect/mem_protect/src/mem_protect.h concerning the alignment of app-mem partitions

aligns the ways we program the MPU guards for supervisor and user threads (in priv mode), making them follow the same patterns.

draws the path for solving #16210 and #16360 in upcoming patches.

Test evidence:
~/zephyr/zephyr/zephyr$ ./scripts/sanitycheck --device-testing -p nrf52_pca10040 --device-serial /dev/ttyACM0 -i --log-file rework_nrf52_pca10040.log -N -v -v -t userspace
rework_nrf52_pca10040.log

some naming complaints otherwise looks fine

Thanks @andrewboie , please, take a quick look once more

add one question, others are good for me.

Thanks for looking at this @wentongwu.
So, the reason for adding the extra Kconfig option for the guard size is simple: we need this, in general, to be available to the linker and, in general, outside C code. AFAIU, the linker, is not "expected" to have the C header inclusions; we might get .h files included in linker scripts, but we normally do not depend on that; the linker, normally gets its defines from Kconfig.
For the same reason we previously introduced the define: CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE, which is used, directly, by the linker.
So: if the linker needs to define a guard area section, or align an existing section with a "possible" wide MPU guard, it can, now, get the define directly from Kconfig.
I believe this is a clean way to do this.
There's also a second argument; the size of a guard for threads that are FP-active is not "fixed"; it, rather, depends on the ARM CPU configuration, for example, lazy stacking. We may choose to make lazy stacking a configuration option in the future, i.e. something the user might select/exclude via Kconfig. So, in that case, the guard size for FP-capable threads would also be user-configurable, i.e. we would have something like:
config MPU_STACK_GUARD_MIN_SIZE_FLOAT
    bool
    default 128
    default 32 if !LAZY_STACKING

add one question, others are good for me.

Thanks for looking at this @wentongwu.
So, the reason for adding the extra Kconfig option for the guard size is simple: we need this, in general, to be available to the linker and, in general, outside C code. AFAIU, the linker, is not "expected" to have the C header inclusions; we might get .h files included in linker scripts, but we normally do not depend on that; the linker, normally gets its defines from Kconfig.
For the same reason we previously introduced the define: CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE, which is used, directly, by the linker.
So: if the linker needs to define a guard area section, or align an existing section with a "possible" wide MPU guard, it can, now, get the define directly from Kconfig.
I believe this is a clean way to do this.
There's also a second argument; the size of a guard for threads that are FP-active is not "fixed"; it, rather, depends on the ARM CPU configuration, for example, lazy stacking. We may choose to make lazy stacking a configuration option in the future, i.e. something the user might select/exclude via Kconfig. So, in that case, the guard size for FP-capable threads would also be user-configurable, i.e. we would have something like:
config MPU_STACK_GUARD_MIN_SIZE_FLOAT
    bool
    default 128
    default 32 if !LAZY_STACKING

add one question, others are good for me.

Thanks for looking at this @wentongwu.
So, the reason for adding the extra Kconfig option for the guard size is simple: we need this, in general, to be available to the linker and, in general, outside C code. AFAIU, the linker, is not "expected" to have the C header inclusions; we might get .h files included in linker scripts, but we normally do not depend on that; the linker, normally gets its defines from Kconfig.
For the same reason we previously introduced the define: CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE, which is used, directly, by the linker.
So: if the linker needs to define a guard area section, or align an existing section with a "possible" wide MPU guard, it can, now, get the define directly from Kconfig.
I believe this is a clean way to do this.
There's also a second argument for having this in Kconfig; the size of a guard for threads that are FP-active is not "fixed"; it, rather, depends on the ARM CPU configuration, for example, lazy stacking. We may choose to make lazy stacking a configuration option in the future, i.e. something the user might select/exclude via Kconfig. So, in that case, the guard size for FP-capable threads would also be user-configurable, i.e. we would have something like:
config MPU_STACK_GUARD_MIN_SIZE_FLOAT
    bool
    default 128
    default 32 if !LAZY_STACKING

Thanks for the detail.


Add become booleans

Also added commit 278e3b0 to wait for dnsmasq service to be up

Also added commit 278e3b0 to wait for dnsmasq service to be up


Chenyu/remove manual retry

resolves #422

Description

Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

Actually @ChenyuLInx can you confirm this is ready for review?


Typo "Azure Blob storage"→"Azure Blob Storage"

https://docs.microsoft.com/en-us/azure/storage/blobs/network-file-system-protocol-support
#PingMSFTDocs

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks.


Kubessh integration with QHub Issues

Wanted to open this issue to detail the current issues with qhub integration of kubessh. I think two of the main issues revolve around.

qhub has introduced uid, gid, and secondary_ids with users
qhub has multiple possible authentication mechanisms: quth0, github

(1) is an issue with kubessh becuase kubessh does not have the flexibily (as I know it) to customize how each kubessh pod is launched with different security contexts (e.g. uid, primary gid, secondary uids). This issue show up when trying to mount the shared filesystem of qhub since each user has a unique id causing there to be permission issues when mounting the container. The current workarround that @prasunanand and I have talked about is to simply launch all users in kubessh as root and "nicely" ask them to su <username> to their username. I'm guessing that we could also somehow launch jupyterlab in this manner and work around this as well.
(2) Since qhub has multiple authentication methods there is no reliable method for mapping  -> authentication provider id. Kubessh uses github ssh keys and (as I am aware) does not support adding arbitrary ssh public keys for each user. We need to add support in qhub for something similar to "identities" so that we can inteligently map the github username -> qhub username etc.

Gitter conversation:
Rich Signell @rsignell-usgs Nov 23 06:32
@costrouc , I see that Yuvi is now working on jupyterhub-ssh instead of kubessh. Does that have any bearing here? Are you guys working together on this?

Quansight @quansightai_twitter Nov 23 08:24
[Christopher Ostrouchov, Quansight] @rsignell-usgs thank you for sharing that. IMO kubessh had some issues with requiring a seperate container to run for each user. https://github.com/yuvipanda/jupyterhub-ssh looks like the way to go and should be much easier to integrate with qhub.
[Christopher Ostrouchov, Quansight] > I switch the notebook kernel to "pangeo"
@rsignell-usgs it looks like you need to find the kernelspec name of the pangeo environment. If you are using nb_conda_envs this will be conda-pangeo I belive so you would run `jhubctl --verbose run ... --kernelspec=conda-pangeo
[Christopher Ostrouchov, Quansight] jupyterhub-ssh doesn't require the public ssh key of the user so should be much easier to add
[Christopher Ostrouchov, Quansight] which was the hard part for us to get right with kubessh

Hello @tylerpotts @prasunanand :)
Are there any updates on this issue? Any more details or actions after the last conversation?

Hello @tylerpotts @prasunanand :)
Are there any updates on this issue? Any more details or actions after the last conversation?

After tech-discussion, this issue has been superseeded by JupyterSSH. More information on the issue.

After tech-discussion, this issue has been superseeded by JupyterSSH. More information on the issue.

This issue will follow the jupyterhub-ssh issue

This issue will follow the jupyterhub-ssh issue


fix(packaging): address copy/paste results

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
212

Relevant Lines:
301

💛  - Coveralls


Update custom_metric_obj.rst

For the codeblock given in line 291, in the softprob_obj method definition, the variable 'classes' is not defined. It seems it should be defined as given in the changes.

I agree, then, we should have 'classes = predt.shape[1]' as we see that predt is two dimensional from the nested loop below.


constitutive SREBP cleavage

constitutively activated sterol regulatory element binding protein cleavage
PMID:18503029
GO:0035103

constitutively activated sterol regulatory element binding protein cleavage FYPO:0006442
edit file: 092e56b5c3ab9a32e4450de0a8287e92d03658bd
release: 61932ede42e2740ae48af70a5ac53ccba20848b2


Event Log Paging - Struggles at large number of pages

The paging for the event log struggles at large numbers of pages (see the image below for an example). Whist you can navigate to pages over 128, you have to use the next button, repeatedly. It also displays the logs oldest first rather than latest first.

I suggest that:

First and last pages buttons be added
The number of displayed pages cuts down to 5 either side of the current page
The order of the log is reversed to be latest first

Fixed by #45.


How can you setup Azure so that it does not need Ngrok?

Ngrok is great as a developer tool, but for deployment in the real world I would rather not be reliant upon another third-party provider.
How would you go about hosting this with an Azure Tennant without using Ngrok or any similar TCP Tunnel?

Ngrok is only for development and testing. You could host this on any web hosting platform just like any other HTTPS-protected web API. There's no special requirements.


Bypass NLU pipeline when message is /intent or /intent + entities - [ENG 286]

Proposed changes:

Bypass NLU pipeline when message is /intent or /intent + entities

Status (please check what you already did):

[x] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

Good job so far! Can you also add the changelog file?
If we really wanted to do this right we should probably also address the following:

This change is currently difficult to test, because the RegexMessageHandler is still in the graph.  We should remove the RegexMessageHandler from the graph ultimately, but this also involves touching the default recipe etc, because all NLU calls currently target this component as the execution target if I remember correctly.
We'd need to take a deeper look whether the http interpreters should actually also be covered by the regex parsing. This could be relevant if we remove the RegexMessageParser from the graph and then the http interpreters might not have any regex message parsing at all anymore. I am not really familiar with them

Thanks a lot @twerkmeister, your review was very helpful. Is it better that I create a separate task to handle the comments that you said here?

@varunshankar given that 3.6.0 has already shipped and this is a new feature, I would suggest to merge this into main instead of 3.6.x


Add tags for packages so to allow them to be discovered

Run a script that will go voer the README files of the packages, for each it will search if AWS services are mentioned there and if they are, it will add the relevant service name as a tag to this package.
For example, if AWS Glue is mentioned the package should get a tag named 'Glue'.
All CDK8s should get the tag Kubernetes.
We should also run the search for common utilities like: twitter, slack, Prometheus, wordpress and more. Here is a list of ops utilities we may want to create tags for https://devops.com/11-open-source-devops-tools-we-love-for-2021/.
Packages with the terms "static website" and "singular page application" and "website" should get the tags "website" and "singular page application".
Assuming that the search algorithm searches results by matching tags, it should help finding more results.

Marked as done by accident

I created the following JSON (in the attached file) with meaningful tags we should add for packages on the hub. The JSON includes a package name and a set of tags we should add to it. I'd like to add it to our tags implementation, @valinm I'll be happy to chat with you about the best way to do that.
The goal is to allow packages to be discoverable for common use cases. For example: if someone searches for AWS services that are relevant for this package, popular technologies (like Apache, MongoDB) and common use cases like machine learning, static websites and more.
About the implementation side:
I created this JSON by running a search on the packages' README files and it should be safe to use. I searched for the official AWS services names, some use cases and popular technologies.
In average it will add 2.5 tags per package, the highest number of tags for a specific package is 9 (for @aws-cdk/aws-apigateway).
In total we're talking about ~1100 new tags for 434 packages that will be affected. We should think about adding this process to our backend
Here is a dict with the tag names and the number of packages that will get these tags:
{"KMS": 105, "AWS Lambda": 126, "AWS Secrets Manager": 23, "Static Website": 11, "Amazon DynamoDB": 28, "Amazon API Gateway": 137, "Slack": 19, "AWS Step Functions": 15, "Kubernetes": 35, "AWS App Mesh": 2, "AWS Cloud Development Kit (CDK)": 6, "Amazon Cognito": 19, "Amazon Elastic Container Service": 4, "AWS Fargate": 14, "AWS Backup": 3, "K8s": 3, "Amazon RDS": 3, "GitLab": 6, "Amazon Aurora": 7, "AWS IoT Core": 3, "AWS IAM": 28, "Amazon WorkMail": 2, "MongoDB": 10, "Amazon Aurora Serverless": 3, "AWS CloudFormation": 82, "Amazon EventBridge": 54, "AWS Config": 3, "AWS Systems Manager": 10, "Amazon AppStream 2.0": 1, "AWS Elemental MediaStore": 3, "Amazon EC2": 20, "Amazon Elastic Container Registry": 2, "AWS CodeBuild": 6, "AWS Key Management Service": 8, "AWS Database Migration Service": 2, "Amazon WorkSpaces": 1, "Amazon CloudWatch": 32, "AWS Security Hub": 1, "Amazon Simple Queue Service (SQS)": 1, "AWS Elastic Beanstalk": 1, "AWS Service Catalog": 5, "AWS Elemental MediaLive": 1, "AWS Global Accelerator": 2, "Amazon Kinesis": 32, "Amazon Redshift": 14, "AWS Glue": 8, "Amazon EC2 Auto Scaling": 3, "AWS Batch": 7, "AWS CodePipeline": 7, "AWS CloudTrail": 6, "AWS Auto Scaling": 2, "Apache Spark": 2, "Amazon CloudFront": 16, "Amazon Route 53": 4, "AWS Certificate Manager": 8, "Amazon Elasticsearch Service": 10, "AWS Management Console": 69, "AWS IoT Things Graph": 1, "AWS Chatbot": 3, "AWS OpsWorks": 2, "Amazon FSx for Lustre": 1, "Machine Learning": 1, "Elastic Load Balancing": 7, "AWS CodeCommit": 6, "AWS Transfer for SFTP": 1, "Amazon Textract": 1, "AWS Resource Access Manager": 1, "AWS Cloud9": 2, "Amazon Managed Streaming for Apache Kafka": 2, "Amazon Pinpoint": 4, "AWS CodeDeploy": 3, "AWS CodeStar": 1, "Amazon GuardDuty": 1, "Angular": 5, "AWS Data Pipeline": 1, "Amazon MQ": 1, "Amazon ElastiCache": 2, "AWS AppSync": 3, "AWS Direct Connect": 1, "Amazon EMR": 2, "Amazon VPC": 3, "Amazon GameLift": 1, "AWS RoboMaker": 1, "AWS WAF": 9, "AWS IoT Analytics": 1, "AWS Directory Service": 1, "Amazon Inspector": 1, "Amazon Neptune": 2, "Amazon Athena": 1, "AWS Amplify": 4, "Single Page Application": 3, "Deep Learning": 1, "AWS Cloud Map": 1, "Amazon Comprehend": 1, "AWS IoT 1-Click": 1, "AWS Budgets": 1, "AWS Shield": 3, "AWS Artifact": 1, "AWS X-Ray": 1, "Amazon Transcribe": 1, "Amazon Elastic Kubernetes Service": 1}

https://gist.github.com/addihorowitz/06740bf7c8d170da2f36bf5d23c7cde7

Closing because this work was fixed by a backend update


Switch to Babel 7 for build

Use Babel 7 for transpiling instead of babel 6

Though it means we have to drop support for nodejs 4 and 6 (tests passed for Node 8 and 9).

Or even better remove babel like other postcss modules have done. For example https://github.com/css-modules/postcss-modules-extract-imports/commit/797d678bcc6cc7e07dbbc8323b3e9eec8e68b805

Yeah, if we're gonna change anything, I'd sooner drop babel. Is there a compelling reason to make any changes here, though? The plugin works as-is.

@RyanZim we prefer to maintain only one version of Babel in Debian and we have already patched postcss-filter-plugins in debian to build with Babel 7. But it'd be nice to stay close to the versions that you use so we can reproduce problems easily.

and in Debian main we have to build everything from source using the tools available in Debian main.

What kind of weird setup are you using? Installing npm modules from Debian repositories? Just use npm or yarn, please.

If you don't want to update that is fine. There is nothing weird in using native Debian packages, only node module authers want to force their preferred package manager on others. Every other software in the world works just fine with apt. There is nothing wrong in wanting to build a software from its source code or wanting to use recent versions of a build tool.

There are also some exceptions like this https://gitlab.com/rhendric/puka/-/issues/1 who are considerate about downstream packages.

Node is fundamentally not built to work with apt, we're not going to support that here.

If you don't want to support, that is fair enough. But fortunately node and the module you wrote is Free Software, which means you don't get to force your choices on me or others.

Yep, that's the beauty of open source.


Import not resolving in new Ember app

The suggested import isn't working when trying this out. Attempting to import gives the following:
Error: Can't resolve '@glimmer/tracking/primitives/cache'
Steps to reproduce:

ember new test-app (With Ember CLI 3.18.0)
cd test-app
ember install ember-cache-primitive-polyfill
Add import { createCache, getValue, isConst } from '@glimmer/tracking/primitives/cache'; to app/app.js.
ember serve

Then the error above appears.
I'm on macOS 10.15.4; Node.js 10.20.1; Ember.js 3.18.
Thanks!

@richard-viney - Can you throw together a quick demo repo that I can poke at? I think I know what is going on, but having the yarn.lock/package-lock.json would help a bunch.

I think https://github.com/babel/ember-cli-babel/pull/337 will fix.

OK, I think if you ensure that you have<EMAIL_ADDRESS>it should work properly. Please let me know if that doesn't fix it...
https://github.com/babel/ember-cli-babel/releases/tag/v7.20.0

Thanks for looking into this. I'm still seeing this with<EMAIL_ADDRESS>Build Error (Bundler)

Can't resolve '@glimmer/tracking/primitives/cache' ...

Repo that shows the problem is here: https://github.com/richard-viney/ember-cache-primitive-polyfill-import-error. All dependencies are on the latest stable versions.
A yarn install && yarn run ember serve should repro the above issue.

Hmph. OK, thank you, I'm sorry I really thought that would have resolved it :thinking:

I hit the same issue, but it happened suddenly after working all day O_O
I dug in a bit and I'm not entirely sure what is supposed to make the import work in the first place though.

Interesting, I never had it work here, but am currently working around the issue by using Ember._createCache and Ember._cacheGetValue directly instead of the suggested imports.

@richard-viney I was about to try that, but it seems weird that the polyfill infra just isn't working.

Somehow it started working again after I fiddled around a bit with the declared module I wrote in a .d.ts file.
I made this change:
- module "@glimmer/tracking/primitives/cache" {
+ declare module "@glimmer/tracking/primitives/cache" {

I suspect it's a red herring, but who knows.

Here's the log. I see enhanced-resolver in here. I wonder if it's relevant?
https://gist.github.com/wycats/a8cb76a4d23d36ff7217a30b953e1a3f

Same issue here. I am trying to use it from an addon.

It looks like this is being caused by ember-auto-import somehow. Removing the dependency causes things to start working again, and it transpiles correctly without it. cc @ef4

I can confirm that removing ember-auto-import resolved the issue for me. One weird thing: it doesn't happen for me simply because I have these two addons installed. There is some other factor (possibly related to hoisting resolution?) that causes it to happen sometimes but not other times for me. I can't tell whether it starts happening after I run yarn or whether it just happens randomly as a result of some timing artifact.

FWIW, I ran into a similar thing, though it was a runtime error (Error: Could not find module @glimmer/tracking/primitives/cache). Upgrading ember-cli-babel to latest (7.22.1) fixed this for me (in https://github.com/pzuraq/tracked-redux/pull/3), with having ember-auto-import as a dependency...

This makes sense, thanks for shedding light on that @simonihmig! Basically, without a sufficiently recent ember-cli-babel version we aren't guaranteed that the module import will be transpiled into Ember._someGlobalMethod. When that doesn't happen, ember-auto-import will try to resolve the module and :boom.

It's good that some folks are managing to make this error disappear, but the original repro steps are still working for me here even with an upgrade to<EMAIL_ADDRESS>and also upgrading all deps to their latest versions. I've not investigated further at this stage though.

I am seeing the same issue.  Was working great and then all of a sudden stopped working - and I'm still on ember-cli-babel 7.18.0 - updating to 7.22.1 to see what happens (project is 3.17).

@rwjblue I'd be happy to set up some time to try to pair our way through this. I've experienced it a bunch and I think it's just a matter of digging deeply into it.

I'm still seeing the same error when removing this package and trying to use the cache primitive API present in<EMAIL_ADDRESS>Should I file this as a bug against the current Ember beta as well? Thanks.

@richard-viney - Can you confirm that the app or addon that is attempting to import is using at least<EMAIL_ADDRESS>Support was added for this import path in that version https://github.com/babel/ember-cli-babel/pull/337 (but is possible to get via transitive dependency drift with others).

Yep the app's package.json contains:
"ember-cli-babel": "^7.22.1",
"ember-auto-import": "^1.6.0",

There are probably some other addons in use that specify older versions of ember-cli-babel, maybe even 6.x versions, but I'm assuming that wouldn't matter here?

What matters is the thing that is doing the import's, is that in the app itself?

Yep it's just in a source file under the app/ directory. The original repro I put together still shows the problem. I've updated it to the latest versions of all dependencies just now for good measure.
A clone, yarn install and yarn run ember serve of that repo gives the following for me:
Build Error (Bundler)

Can't resolve '@glimmer/tracking/primitives/cache' in '/Users/Richard/Code/ember-cache-primitive-polyfill-import-error'

Ya, the issue here is that @glimmer/tracking is a dep of the app and is not considered an ember-cli addon; this causes ember-auto-import to attempt to resolve it and 💥 (because there legitimately isn't a file in that location).
The quickest fix for your app is to exclude @glimmer/tracking from auto import:
// ember-cli-build.js
let app = new EmberApp(defaults, {
  autoImport: {
    exclude: ['@glimmer/tracking'],
  }
});

I just confirmed ^ in a demo app that I made to repro as well.

Great, that all makes sense.
Though won't most apps end up with this error given that both ember-auto-import and @glimmer/tracking are in the default blueprint? Or maybe the app blueprint includes the above change in the ember-cli 3.22 betas (I haven't checked to confirm if this is the case).

Though won't most apps that try to use this feature end up with this error given that both ember-auto-import and @glimmer/tracking are in the default blueprint?

Yes. I wasn't saying that I thought my work around was acceptable 😉, just that it would unblock folks currently stuck. I'm working through the permutations to account for the issue...

@richard-viney - I just confirmed that using<EMAIL_ADDRESS>avoids the issue (same test app that errored with 1.0.1 builds successfully with 1.0.2). Would you mind confirming, and if it works for you without any special config close?

I've also landed a helpful warning for folks using older @glimmer/tracking versions, just to make sure folks aren't getting a super obtuse error without any meaningful feedback.

Thanks, looks good!

Great work @rwjblue. Out of curiosity, what was the exact interaction?

@wycats - Basically, because the app has a devDep on ember-auto-import and on @glimmer/tracking and that @glimmer/tracking was not an Ember addon: ember-auto-import was actually trying to resolve @glimmer/tracking/primitives/cache from the real npm package which does not include this module.


when i run the project just showing app state?? and kindly tell how to run backend of that project

Does the project folder name contain spaces or parentheses?

that index.html conflicts problem sorted but still showing me that page

and kindly tell me how can i run backend of that project???

yarn dev

[image: image.png]
showing me this error
On Sun, Apr 28, 2024 at 4:17 AM Levon Manukyan @.***>
wrote:

yarn dev
—
Reply to this email directly, view it on GitHub
https://github.com/lmanukyan/print-designer/issues/3#issuecomment-2081438832,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3BQIA2JCYWYTPGNSYWNN63Y7TLD3AVCNFSM6AAAAABG3BRX6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBRGQZTQOBTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

The screenshot does not open. Please resend it.

now my backend is running properly but in front end still showing that page

Open the admin panel and add at least one product.


Skip non-verb items when parsing swagger security

Issue #, if available:
No issue found.
Why is this change necessary?
The OpenAPI Specification states that a Path Item Object may have entries that are not verbs.
When parsing an API description with such features, SAM CLI fails with the following error:

File "/home/linuxbrew/.linuxbrew/Cellar/aws-sam-cli/0.49.0/libexec/lib/python3.7/site-packages/samcli/commands/deploy/auth_utils.py", line 132, in _auth_definition_body_and_uri
_auths.append(bool(_property.get("security", False)))
AttributeError: 'list' object has no attribute 'get'

I was using a "parameters" item, which is a list, and the code expects a dict.
How does it address the issue?
Given the current specification, only verbs are objects, so only verbs are parsed as a dict. It should be enough to check the variable type before trying to get the desired property.
What side effects does this change have?
None.
Did you change a dependency in requirements/base.txt?
If so, did you run make update-reproducible-reqs
No changes.
Checklist:

[ ] Write Design Document (Do I need to write a design document?)
[ ] Write unit tests
[ ] Write/update functional tests
[ ] Write/update integration tests
[x] make pr passes
[ ] Write documentation

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@leobasilio Thanks for the patch. Would you be able to add unit tests for this as well?

This is similar to #1988 fix. we can take in, one of the two.


Broken URL Link

I am trying to run the sample R project from "samples zip file", it fails with the below error.
Looks like the repository URL link is broken.
Warning: unable to access index for repository https://mran.microsoft.com/snapshot/2018-01-01/src/contrib:
cannot open URL 'https://mran.microsoft.com/snapshot/2018-01-01/src/contrib/PACKAGES'

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

ID: c1f27917-b07f-ccf3-564b-17a26a50d639
Version Independent ID: 1fa3b2e2-f441-93dc-aae3-bec60275c716
Content: Sample R projects - Visual Studio
Content Source: docs/rtvs/getting-started-samples.md
Service: unspecified
GitHub Login: @kraigb
Microsoft Alias: kraigb

@shakanand Can you be more specific which part of the sample you're trying to use? I just tried accessing the specific URL you gave above, and it works fine for me. I suspect that you just had a momentary glitch with accessing that data file.
Do note that "running the project" isn't meaningful in this context because the samples are individual R file that are best used by stepping through them, or right-clicking a file in Solution Explorer and selecting "Source selected file". The Visual Studio project itself doesn't have a startup file set and running the project will give an error by design.

Closing due to inactivity; the URL tests OK.


Fix problem with doautocmd and modeline

This fixes an issue i had trying to use nvim-compe while editing files with foldmarkers and a modeline. Everytime i pressed enter to confirm a completion item all my folds were getting closed. I found out that doautocmd reloads the modeline which caused foldlevel=0 from my modeline to be run again. Fortunately this can be suppressed using the <nomodeline> flag. I replaced every doautocmd call with doautocmd <nomodeline>.
Example
Use the following file and command to reproduce: nvim --clean -u test.vim test.vim
" Test {{{
set modeline
au User Test echom 'test'
" }}}

" vim: foldmethod=marker foldenable foldlevel=0

Thank you!


Catch when user provides non-RGB data but claims they do

This is more of an improvement than a bug.
🐛 Bug
When the user provides rgb=True to the viewer, there are some simple checks that can be done to confirm that the data conforms.  Instead, Napari gives cryptic error messages:
ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 2 is different from 3)

To Reproduce
import napari
import numpy as np

image = np.random.random((1024, 1024))
viewer = napari.view_image(image, rgb=True)

Expected behavior
Error message: "rgb was set to True, but data does not have suitable dimensions"

Completely agree we should add some basic checks for RGB data and provide a more reasonable error message. In the interest of helping with our bug triage process, I've removed the bug label and added the feature and good first issue labels so other contributors know it's up for grabs!
@stefanv please ping me if you think that's unreasonable or there's another reason you'd like to keep the bug label! 🐞

Thank you @lucyleeow for the patch and @Czaki for reviewing!


TrackSync using websocket and docker network

Changes:

Added connection using websockets for trackSync
Added params for trackSync
Solve trackSync issue on macOS

Types of changes

[x] Bugfix (non-breaking change which fixes an issue)

Testing
Requires testing

[x] Yes
[ ] No

In case you checked yes, did you write tests?

[x] Yes
[ ] No

Codecov Report
Base: 80.49% // Head: 79.42% // Decreases project coverage by -1.07% :warning:

Coverage data is based on head (b3220ee) compared to base (2fd65a9).
Patch coverage: 56.56% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #170      +/-   ##
===========================================
- Coverage    80.49%   79.42%   -1.08%
===========================================
  Files           40       40
  Lines         2517     2561      +44
===========================================
+ Hits          2026     2034       +8
- Misses         406      439      +33
- Partials        85       88       +3

Flag
Coverage Δ

unittests
79.42% <56.56%> (-1.08%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cli/cli.go
64.28% <20.00%> (-2.26%)
:arrow_down:

cli/cli_utils.go
75.98% <57.60%> (-8.81%)
:arrow_down:

internal/pkg/generate/generate_scripts.go
96.61% <100.00%> (+0.03%)
:arrow_up:

internal/pkg/generate/clean_scripts.go
90.64% <0.00%> (-2.16%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Version 0.3.0

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Clean up radix conversion in Number toString method

The radix conversion code path was very messy which made it hard to understand
what was happening inside of it. The code got cleaned up, and a lot of comments
were added that explain what is happening and why.
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai<EMAIL_ADDRESS>

The test case is changed because we gained a significant digit, due to how the required digit count is calculated after the patch.


ERROR / getWebApi(): Error retrieving smartlocks: Cannot read properties of undefined (reading 'toLowerCase')

Hi, i set up Nuki extended today and created and WEB API Token under https://web.nuki.io/#/pages/web-api / API Token- Generate API Token and gave it all rights.
Then i entered it in the Iobroker instance.
But it just shows me my Bridge and not any opener or Door Lock.
in Log it says getWebApi(): Error retrieving smartlocks: Cannot read properties of undefined (reading 'toLowerCase')
Any ideas ?

I have the same issue

I have the same issue

Update the adapter via the guthup repository... The cat symbol... They didn't update the adapter in iobroker to the latest release

@ymurawski
Please always add the minimum required infos:
Version of adapter:
Js-controlelr Version:
Node Version:
If the problem is solved with 2.6.5 please let us know.

Hello I got the same issue.
Yesterday with:
📷 nuki-extended.0 2024-04-20 22:20:18.241warngetWebApi(): Error retrieving notifications: 502 - "\r\n<title>502 Bad Gateway</title>\r\n\r\n
502 Bad Gateway
\r\n
nginx\r\n\r\n\r\n" 📷 nuki-extended.0 2024-04-20 22:18:29.162warngetWebApi(): Error retrieving smartlocks: 500 - "\r\n<title>500 Internal Server Error</title>\r\n\r\n
500 Internal Server Error
\r\n
nginx\r\n\r\n\r\n"
And now:
`

nuki-extended.0
2024-04-21 14:21:06.985
warn
getWebApi(): Error retrieving smartlocks: Error: getaddrinfo ENOTFOUND api.nuki.io

nuki-extended.0
2024-04-21 14:21:06.984
warn
getWebApi(): Error retrieving notifications: Error: getaddrinfo ENOTFOUND api.nuki.io

`

admin version: v6.13.16
Node.JS: v18.20.2
NPM: 10.5.0
Linux virtual machine: debian 12 bookworm
Since this two issues, I only change on my Unifi Dream Machine Pro the network safety for DNS shield on automatic. Ad Blocking is still on the network active. I had idea, that this could be a ad blocking problem, but this isn't.

The same here: getWebApi(): Error retrieving users: 502 - "\r\n<title>502 Bad Gateway</title>\r\n\r\n
502 Bad Gateway
\r\n
nginx\r\n\r\n\r\n"

This problem is most likely due to problem at nuki service:
https://developer.nuki.io/t/lots-of-errors-when-using-web-api-or-https-web-nuki-io/31173
https://status.nuki.io/en/

Please open a new issue if problem still exists after nuki reports full functionality.


FOX Farm CTA

Overview
Overview
As a user I want to be aware and be routed to the FOX farm page and all associated opportunities via the DeFi earn tab (https://app.shapeshift.com/defi/earn) on the web app. This should be done via a CTA (call to action) banner.
COPY: "Earn 60%+ APR* by farming your ETH-FOX liquidity pool tokens"
There should also be a button that says "Start Farming FOX" which will link to https://fox.shapeshift.com/fox-farming
This banner/button should live at the top of the earn page. Please see the attached image for additional details/design.
References and additional details
Web. Need additional detail from engineering.
Acceptance Criteria
A CTA banner will live at the top of the earn section with a clickable button linking to https://fox.shapeshift.com/fox-farming
Need By Date
n/a
Screenshots/Mockups
[No response](https://www.sketch.com/s/5dcee031-1213-44a1-a94e-e3439cfb4d17/a/v8nnO9J
)
Estimated effort
2 hours

@SS-FOX-McCloud what does this look like on tablet/mobile?

nothing required here on an engineering basis, once you can clarify responsive views this can be bountied.

Hoff working on mobile mockup...will mark ready for bounty once completed.

Here is the CTA on mobile.  This should be ready for bounty now.  Please let me know if there are any other questions!

Where would the button go for the Button in the CTA on mobile? @SS-FOX-McCloud

looks great @brymut but will await @SS-FOX-McCloud input regarding the button

@brymut  The button should still go to the FOX farm page: https://fox.shapeshift.com/fox-farming
Is that what you are asking?

There is no CTA button in the mobile mock-up you provided.

@brymut ah, gotcha! Could the entire banner/CTA be "clickable" on mobile and direct the user to https://fox.shapeshift.com/fox-farming ?

@brymut I would suggest to remove the href from the button but keep it like it is, and apply the href to the whole container even on desktop, so the whole banner is clickable on desktop too
wdyt @SS-FOX-McCloud ?

@brymut I would suggest to remove the href from the button but keep it like it is, and apply the href to the whole container even on desktop, so the whole banner is clickable on desktop too
wdyt @SS-FOX-McCloud ?

Sure!- That would work great! good idea!

@brymut ah, gotcha! Could the entire banner/CTA be "clickable" on mobile and direct the user to https://fox.shapeshift.com/fox-farming ?

Not sure this would work as there wouldn't be any actual CTA maybe look into the screenshots in the PR and provide feedback on those?

@brymut ah, gotcha! Could the entire banner/CTA be "clickable" on mobile and direct the user to https://fox.shapeshift.com/fox-farming ?

Not sure this would work as there wouldn't be any actual CTA maybe look into the screenshots in the PR and provide feedback on those?

Damn, I still agree with you, having a CTA is a good practice, we shouldn't remove it on mobile, or the user doesn't know that it's clickable :p

@brymut ah, gotcha! Could the entire banner/CTA be "clickable" on mobile and direct the user to https://fox.shapeshift.com/fox-farming ?

Not sure this would work as there wouldn't be any actual CTA maybe look into the screenshots in the PR and provide feedback on those?

Damn, I still agree with you, having a CTA is a good practice, we shouldn't remove it on mobile, or the user doesn't know that it's clickable :p

Thanks for the discussion.  On mobile since there isn't room for the button (and most users will access FOX farm from a desktop anyways, I assume with the wallet connectivity being better on desktop) Can we just update the copy on mobile only to "Click here to Earn 60%+ APR* by farming your ETH-FOX liquidity pool tokens" and then make the entire banner linkable as previously discussed?  Let me know if you dont think this is doable.  Thanks!

@brymut ah, gotcha! Could the entire banner/CTA be "clickable" on mobile and direct the user to https://fox.shapeshift.com/fox-farming ?

Not sure this would work as there wouldn't be any actual CTA maybe look into the screenshots in the PR and provide feedback on those?

Damn, I still agree with you, having a CTA is a good practice, we shouldn't remove it on mobile, or the user doesn't know that it's clickable :p

Thanks for the discussion. On mobile since there isn't room for the button (and most users will access FOX farm from a desktop anyways, I assume with the wallet connectivity being better on desktop) Can we just update the copy on mobile only to "Click here to Earn 60%+ APR* by farming your ETH-FOX liquidity pool tokens" and then make the entire banner linkable as previously discussed? Let me know if you dont think this is doable. Thanks!

Should be doable and easier if we make the banner fully clickable even on desktop, thanks for your time and feedbacks :+1:

@SS-FOX-McCloud Can we update the issue with the new spec to make it easier for reviewers? 🙏🏽


Type: Data if disc is inserted after container start

Heya, I'm having an odd issue that I have to insert the disc before starting the container, otherwise it'll just show up as Type: Data.

Do you have this issue for all discs?  Is it a BluRay of DVD?

Closing this issue, please re-open if needed.


Allow exporting of variables / constants

Read this comment.

Depends on:

[ ] https://github.com/3F/coreclr/issues/4 - Improve ILAsm grammar for export variables into Export Directory (IMAGE_OPTIONAL_HEADER - NT PE32/PE32+)

But first we need to improve ILAsm grammar + writer and probably mscorpe
I will look this later with similar task from #23
Today only this:
for(WORD j = 0; (pMD = pClass->m_MethodList.PEEK(j)); j++)
{
...
    EATEntry* pEATE;
    /*
        struct	EATEntry
        {
            DWORD	dwStubRVA;
            DWORD	dwOrdinal;
            char*	szAlias;
        };
    */
    ...
    m_EATList.PUSH(pEATE);

another interesting, I forgot to implement support of this constants for Conari engine, hmm...

to be clear for '.field' directives:
.field public static literal int32 'MyField' at '@00007400' // RVA: 0x00001CE8

will create field that have RVA associated with it, but that's another story with IMAGE_COR20_HEADER

This would be super useful. For example NVIDIA and AMD drivers use variable to decide when to switch to dedicated video card.
extern "C"
{
  __declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;
}


scipy.stats.gengamma: generate skewed and kurtosis normal distribution given skewness and kurtosis

Hi! I am trying to generate a series of skewed and kurt normal data using scipy.stats.gengamma given a certain level of skewness and kurtosis. According to scipy documents, the pdf for gengamma in python is:

However, according to Wikipedia, the common pdf we use for gamma distribution and the corresponding skewness and kurtosis are as follows:

But I have no idea how does the two parameters 'a', 'c' in gengamma relate to alpha and beta (or k and theta) mathematically. I wonder if anyone can help me with this so that I can match 'a' 'c' to skewness and kurtosis. Thanks a lot!

gengamma ist the generalized gamma distribution, your Wikipedia article relates to the Gamma distribution i think

gengamma ist the generalized gamma distribution, your Wikipedia article relates to the Gamma distribution i think

Oh right! Thanks for pointing out!! Then that makes sense to me!


Identifier.split used to work, now it doesn't

This might not be a bug, just an upgrade tip. But if I try to do a split on an identifier I get:
"NoMethodError: undefined method `split' for <Nanoc::Identifier type=legacy "/bootstrap/css/custom/">:Nanoc::Identifier"

A fix is to replace identifier.split with identifier.to_s.split, but considering this is fairly common use case, I believe Identifier either needs to support #split (just like String#split), or gain a #components method, which would do the splitting by slash.
See also this thread.

See #677 for an implementation of #components. Does this fit your use case?
I’m more in favour of not adding #split to Identifier, and rather go with the identifier.to_s.split approach. (Until #components is available, that is.)

I’ll close this issue, because I’d prefer not to have #split on Identifier, and the upgrade guide’s troubleshooting section explains this already.

I agree... Once I figured it out, no big deal!
-- Pito
p.s. sent from my iPhone, so excuse brevity, typos, etc.

On Jul 11, 2015, at 7:08 AM, Denis Defreyne<EMAIL_ADDRESS>wrote:
I’ll close this issue, because I’d prefer not to have #split on Identifier, and the upgrade guide’s troubleshooting section explains this already.
—
Reply to this email directly or view it on GitHub.


Copy markers across map

Resolves #368
New render: (before you can only see New Zealand marker if you scroll right)

There's one more issue. If you scroll out far enough, the markers don't duplicate, so maybe we need to limit zoom out.


Build in i18n conventions

One of the nice things about simple_form is that it offers conventional locations for form i18n data. It'd be nice if cocoon did the same. While it's simple enough to add the calls to translate every time I use add or delete links, its unnecessarily tedious. Here's an idea that I kicked around for all of 10 minutes. Let me know what you think:
Define convention for i18n something like the following contrived example:
cocoon:
  add: "Add"
    user: "Add User"
    tag: "+"
  remove: "Remove"
    user: "Delete"
    tag: "-"

Calls to the add would perform a lookup to the proper node using the provided association name. Backwards compatibility would be a little tricky because arguments aren't passed as a hash, so it'd either be a breaking change or we'd have to check the number of arguments passed to determine if the i18n lookup should be done.
The remove helper doesn't explicitly take the association name, but it does tae the form builder object. We can get the class name from f.object.class.
If the specific class name translation isn't available it can fall back to the 'add' or 'remove' keys, then try to look in standard rails i18n locations to get a translation for the class name to append. If that's not available it can fall back to other sensible defaults.
Typing all this out makes it seem rather complicated, but I've really come to enjoy similar conventions offered by simple_form. The following:
= link_to_add_association t("action.add.#{Tag.model_name)"), f, :staffing_guidelines
= link_to_remove_association t('actions.delete'), f

... would become:
= link_to_add_association f, :staffing_guidelines
= link_to_remove_association f

What do you think? If it's something you think is worth pursuing, I might be able to get to it in the next couple of weeks. If you think it's too complicated or needs further fleshing out, that's fine too. I can implement this in my own project as a helper that wraps the current helpers if need be.
Thanks for the great gem!

My housekeeping leaves a little to be desired, doh, this ticket is long ago fixed by #306.


Consent Management: Add final logical pieces and clean interfaces

As a developer, I want to facilitate clean interfaces to HIU for Consent Management and complete logical pieces required for gateway and hrp interactions.

This has been addressed.