Docs for UseForwardedHeaders, working with reverse proxies and load balancers

https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction
https://github.com/aspnet/Security/issues/1070
https://github.com/aspnet/Security/issues/929
https://github.com/aspnet/Security/issues/757
https://github.com/aspnet/Security/issues/853
https://github.com/aspnet/IISIntegration/issues/140
Enabled by default by UseIISIntegration, but with limited settings (ANCM reverse proxy on loopback)

https://github.com/aspnet/BasicMiddleware/issues/190

@Tratcher Please clarify the ask and outline the solution.

Most sites are hosted behind a reverse proxy, especially our recommended configurations using IIS/ANCM or NGinx. When the request is being proxied some information may be lost like the original scheme (http/https), the client IP address, etc.. You may need these values to properly generate links, evaluate polices, geolocate clients, etc.. There is a convention for the proxies to forward these values as HTTP headers (x-forwarded-*). The UseForwardedHeaders middleware reads these headers and fills in the associated fields on HttpContext.
UseForwardedHeaders has pretty complicated settings due to trust concerns with these forwarded headers (e.g. spoofing). Explain how the middleware works overall and each of the settings.
UseForwardedHeaders is enabled by default by UseIISIntegration, but with a very restricted configuration specific to ANCM.

@Tratcher if UseIISIntegration is not enabled and/or IIS is not used (i.e. nginx, apache, etc) it is important to not only have the reverse proxy setup properly for forwarding the requests and headers, but to also add the UseForwardedHeaders middleware.
Is that what you are asking here to document?
and is more that the following needed:
            app.UseForwardedHeaders(new ForwardedHeadersOptions
            {
                ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
            });

@spboyer yes that's part of it. There are several other settings related to identifying/trusting the proxies. You also need to make sure your reverse proxy is adding the headers.

https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction captures the nginx specific scenario.

@Tratcher so are you looking for a specific document targeted at just the setting for UseForwardedHeaders?

UseForwardedHeaders has pretty complicated settings due to trust concerns with these forwarded headers (e.g. spoofing). Explain how the middleware works overall and each of the settings.

Not quite. We need to explain the end-to-end scenarios and how the various UseForwardedHeaders settings apply (e.g. IIS+ANCM, Nginx, multiple proxies, etc.).

We had some problems with forwarding and lost 2 days due to this. It would be nice to mention in the documentation that only headers for KnownProxies / KnownNetworks are taken into account and that the default is only IPAddress.IPv6Loopback / IPAddress.IPLoopback. So changing forwarding limit has basically no effect without modifying KnownProxies / KnownNetworks. And the right way to setup forwarding when there is Proxy -> IIS -> ASPNET situation is to increase forwarding limit, depending on the type of proxy set RequireHeaderSymmetry = false and add the proxy IP to KnownProxies / KnownNetworks.

I wanted to pitch in here as I failed to find documentation for what I am doing.
I write my nginx configuration in service fabric dynamic from the following code:
                sb.AppendLine($"{tabs}proxy_set_header Host                          $host;");
                sb.AppendLine($"{tabs}proxy_set_header X-Real-IP                   $remote_addr;");
                sb.AppendLine($"{tabs}proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;");
                sb.AppendLine($"{tabs}proxy_set_header X-Forwarded-Host    $host;");
                sb.AppendLine($"{tabs}proxy_set_header X-Forwarded-Server  $host;");
                sb.AppendLine($"{tabs}proxy_set_header X-Forwarded-Proto   $scheme;");
                sb.AppendLine($"{tabs}proxy_set_header X-Forwarded-Path     $request_uri;");

and have a few senaries that the UseForwardedHeaders dont cover or I am missing documentation on how to make it work.
 app.UseForwardedHeaders(new ForwardedHeadersOptions
            {
                 ForwardedHeaders = ForwardedHeaders.All
            });

basically I have to run the following also to make it work
        private const string XForwardedPathBase = "X-Forwarded-PathBase";
        private const string XForwardedProto = "X-Forwarded-Proto";

        app.Use((context, next) =>
            {
                if (context.Request.Headers.TryGetValue(XForwardedPathBase, out StringValues pathBase))
                {
                    context.Request.PathBase = new PathString(pathBase);

                }

                if (context.Request.Headers.TryGetValue(XForwardedProto, out StringValues proto))
                {
                    context.Request.Protocol = proto;
                }

                return next();
            });

To update the protocol in those cases where nginx do the ssl offloading and the backend app just uses http. And to set the PathBase, for those cases when nginx has removed part of the path when passing the request forward.
If UseForwardedHeaders can do this already, how do i do it?

X-forwarded-proto support is built in, but it maps to scheme, not protocol (http/1.1).
With PathBase make sure you're creating your PathString with the unescaped value.

thanks for the added info. i will try a few thing then to find out why my identity server generates wrong urls. https://www.earthml.com/identity/.well-known/openid-configuration (the urls it generate should also be https )

context.Request.Protocol = proto; was a typo
Here is my working solution, so somehow the forward middleware do not work:

Next step is properly to check some case sensitive stuff, i properly made a mistake there

Can you log your headers as received by the app? The middleware is pretty strict.

Ye, i am off for a few hours- then i will try to log out some requests to see what actually happens. Thanks for helping

Here are the headers.
Will start investigate the code to see where it can go wrong.
["X-Forwarded-Server"]=["www.earthml.com"],
["X-Forwarded-Proto"]=["https"]
["X-Forwarded-Path"]=["/identity/connect/authorize/consent?client_id=EarthML.Mapify&redirect_uri=https%3A%2F%2Flocalhost%3A44377%2F&response_type=id_token%20token&scope=openid%20profile&state=621bc11cd0674059994828b401561a8c&nonce=7f2766fd2c3f4393abebf1d3c0630e93"]
["X-Forwarded-PathBase"]=["/identity/"]

You have it set to ForwardedHeaders.All, but you don't have an x-Forwarded-For header, so it freaks out and won't process Proto either. Scope it down to just the header you need.

@Rick-Anderson Sure, not sure what exactly that means and what I should do :) The problem was resolved based on @Tratcher comment, about changing ForwardedHeaders.All to the headers actually used by my setup.
@Tratcher Is it ideal that it is this strict? Since the config lays within the application, meaning that if the guy responsible for the nginx setup changes the config, the the app breaks. Worth considering to use thoes headers present when set to all?

We have an open bug for relaxing some of the defaults to make it easier to use (https://github.com/aspnet/BasicMiddleware/issues/190).
However, we still need a writeup explaining the usage scenarios. See https://github.com/aspnet/Docs/issues/2384#issuecomment-270195458

@Tratcher  any chance you could do a rough draft of this doc? Any format is fine.

Not sure when I can get to it. Would a conference call content-dump be helpful?

@Tratcher  I'll check back in a few weeks and set up a call.

End of "C:\Dropbox\wrk\Outline of all components that need s. . . - Thursday, April 27, 2017 10.32.36 AM.mp4" covers this.

I've just had a few hours of head scratching around this as well. My scenario is a service fabric application running behind an application gateway in azure.
I've found that in order to make it work so I can pick up the remote ip address correctly is the following.
var options = new ForwardedHeadersOptions
{
   ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
};
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
app.UseForwardedHeaders(options);

First off the application gateway only provides x-forwded-for, x-forwarded-port and x-forwarded-proto (see https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq), so setting ForwardedHeaders.All didn't work.
Then as the application gateway is a separate host, the original remote ip and port values were 10.0.1.X as the service fabric machines were on the 10.0.1.X network. This caused the error message, only visible at debug level, or
Unknown proxy: <IP_ADDRESS>:53690
So clearing the network and proxies, skipped the check for known IPs and it then started working.
Hopefully this is useful information and can be added to the docs.

It looks that when you deploy an ASP.NET Core application as a Docker Container to Azure App Services for Linux, the X-Forwarded-Proto header is not present.
These headers are present:
Connection close
Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding gzip, deflate, sdch, br
Accept-Language en-US,en;q=0.8
Cookie ARRAffinity=341b768fc49455e18091f5063d13391e034e3b8570558d994fba7687534feb33
Host [host].azurewebsites.net
Max-Forwards 9
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Upgrade-Insecure-Requests 1
X-LiveUpgrade 1
X-WAWS-Unencoded-URL /home/debug
X-Original-URL /home/debug
X-ARR-LOG-ID f53feb81-d121-4f96-994b-3f37fbbe909d
DISGUISED-HOST [host].azurewebsites.net
X-SITE-DEPLOYMENT-ID [host]
WAS-DEFAULT-HOSTNAME [host].azurewebsites.net
X-Forwarded-For <IP_ADDRESS>:55380, <IP_ADDRESS>
X-ARR-SSL 2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT SSL SHA2|CN=*.azurewebsites.net
X-Client-IP <IP_ADDRESS>
X-Forwarded-Host [host].azurewebsites.net
X-Forwarded-Server SmallDedicatedLinuxWebWorkerRoleIN252.corp.microsoft.com

The X-ARR-SSL header seems like a good candidate to detect the client using https, and I'm using the following code in my application startup:
app.Use((context, next) =>
{
    if (context.Request.Headers.TryGetValue("X-ARR-SSL", out StringValues pathBase))
    {
        context.Request.Scheme = "https";
    }

    return next();
});

Leaving this here for anyone else who may be hitting this, took me some time to figure it out :)

@qmfrederik I was just looking into the exact same thing :)
Thanks!

Can we also get docs on using IIS as a reverse proxy without ANCM, or alternatively/in addition to, allow configuring ANCM without having it control the kestrel process. My use case is that in my web application, I have a background thread to handle some tasks, and the recommended way to do that safely is hosting as a windows service. We're attempting to deploy now, but running into issues generating absolute URLs using UrlHelper.

Using IIS URL Rewrite to map from the FQDN to localhost:5000.
We've been working on the problem all day, checking the different ASP.Net core repos figuring out how ANCM works. We got it working with x-original-for set to host:port, x-original-proto, and x-forwarded-host and my coworker is testing to see what the bare minimum host headers are to keep it working.
The second issue we ran into was the base path. We are hanging this off an existing IIS site as a sub application, and it seems that ANCM uses an environment variable to set that value. We've solved that by having the hosting.json urls setting have the same base path instead of hard coding it app.Use as demonstrated in a comment above. I.e. { "urls": "http://mydomain.com/subapp"}.
Our next issue we are tackling is getting https to work, and after that the need to support client certificates for authentication.

@shirhatti can you comment on @BennieCopeland's UrlRewrite/ARR scenario?

@BennieCopeland Did you run into any difficulties with that scenario?
I haven't tried it myself, but I expect ARR proxying locally to your Windows service to just work.
I can post back here when I've had a chance to try it out myself.
cc @pan-wang

ARR just replaces the host fragment in the request url with the host defined in the configuration. If you configured everything correctly, the local scenario (targeting a windows service) should work.

@nrandell you are a gentleman and a scholar

And another: https://github.com/aspnet/Home/issues/2219

https://github.com/aspnet/Security/issues/1508

Thanks @nrandell - we were missing the
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
```
but adding that resolved our problem when hosted in Elastic Beanstalk via ELB / EC2 on AWS.   I followed the conversations over at https://github.com/aspnet/Mvc/issues/6360 and @singlewind as well.

And https://github.com/aspnet/Security/issues/1521

@pksorensen 's fix above worked for me.  Thanks team!

And https://github.com/aspnet/Security/issues/1529.
@danroth27 can we move this up the priority list? We're getting consistent hits on it.

@Tratcher  we can do this for Sprint 127 (11/11/17 - 12/01/17)
@scottaddie  can you take this on?

@Rick-Anderson Yes. I'll get to it next sprint, as you already mentioned.

poke We're getting almost daily questions about this topic.

@Tratcher  -- @scottaddie  will work on this tomorrow. Are you asking that we doc ** ForwardedHeaders is None by default.** or asking for the  request in the title:
Docs for UseForwardedHeaders, working with reverse proxies and load balancers

Overall docs for working with reverse proxies please.

 I'm on the topic. Go back in there and chill them devs out and wait for The Rex, who should be coming directly. - Marsellus Wallace (Ving Rhames)
Pulp Fiction Copyright 1995 Miramax Film Corp.

Not sure if this is the right place to put this remark but I'm hoping this might save someone else looking some time.  We are running on AWS in Docker on Linux with Nginx as the proxy back to kestrel.
When we upgraded from .NET Core Preview 1 to Preview 2 the forwarded headers middleware stopped working because the KnownNetworks was no longer trusting the IPNetwork from our NGinx proxy.  It turns out previously that address was regular IPV4 but after Preview 2 (and still true in RC1) the address from Nginx was now an IPv4MappedToIPv6 address so we just had to put the ::ffff: prefix on the IP during the call to IPAddress.Parse and the rest fell in place.
I'm guessing since this is still true after the RC1 bits have dropped it will make it into .NET Core 2.1 RTM so we may want to flag this in the Linux production conversion guide or something.

@buvinghausen what configuration did you provide for kestrel? Something like "urls": "http://*:8080"?

@buvinghausen how did you actually solve this? I have the same issue. Nginx+letsencrypt in front of a docker image where I use dotnet core with OpenIdConnect@Google.
Issue is, that https is not used for redirection urls - so I end up with https://accounts.google.com/o/oauth2/v2/auth?client_id=<client_id>&redirect_uri=HTTP%3A%2F%2F<my_url>%2Fsignin-oidc&response_type=....
expected: redirect_uri should use HTTPS

@buvinghausen thank you for comments. I was using UseForwardedHeaders with known proxy set to "192.168.x.x". After upgrade to 2.1 it stopped resolving remote IP addresses and throwing message "Unknown proxy: [::ffff:192.168.x.x]:...".
Adding IP address as "::ffff:192.168.x.x" to known proxies have helped.

I'm getting infinite redirects with asp.net core's new HTTPS system for this. The same as this: https://stackoverflow.com/questions/48479608/infinite-redirect-loop-in-asp-net-core-while-enforcing-ssl
What's the actual solution for this?

@MartinDawson https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-2.1#troubleshoot
Comments on closed issues are not tracked, please open a new issue with the details for your scenario.

I believe a lot of people are looking for a "server workable forward headers configuration example" in this thread but somehow the github hide it. Here is the link https://github.com/aspnet/docs/issues/2384#issuecomment-297980490, hope this can resolve your problems.

@MartinDawson I had same problem, The solution for me was this: https://stackoverflow.com/a/51635196/193361
Make sure to put at the beginning of Startup.Configure method:
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.All
});

app.Use((context, next) =>
{
    if (context.Request.Headers.TryGetValue("X-Forwarded-Proto", out StringValues proto))
    {
        context.Request.Scheme = proto;
    }

    return next();
});

@V1ct0rV while that may work for your scenario I don't recommend it as a general solution. It's better to get ForwardedHeadersOptions configured correctly than to blindly apply X-Forwarded-Proto.

See https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-2.1#troubleshoot for relevant fields to log.

Hi @Tratcher, this is the output, I masked IP addresses and domains:
Request Method: GET
Request Scheme: https
Request Path: /headers
Request Headers:
Cache-Control: max-age=0
Connection: close
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,es;q=0.8
Cookie: __cfduid=dfb239a4ce70a0a5bc821ada409fcb1761535638746; gsScrollPos-1878=; .AspNetCore.Antiforgery.9TtSrW0ssss=CfDJ8LPdmgbQkBpGkdbE_rXr0sqZk2-fRfbOvBKWpVqKiUlJr2hST7d7n_fPY-737AeNqCNl4vYf0FWn4TKFKxHgjFi26J2gKAuWvM54Rhm2VIwmi9bI
Host: xxx.something.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
X-Request-ID: 69679e55cc863857c677f4d806d460e7
X-Real-IP: xx.xx.xx.xx
X-Forwarded-For: xx.xx.xx.xx
X-Forwarded-Host: xxx.something.com
X-Forwarded-Port: 443
X-Forwarded-Proto: https
X-Original-URI: /headers
X-Scheme: https
upgrade-insecure-requests: 1
dnt: 1

Request RemoteIp: ::ffff:456.675.0.5

That RemoteIp is your problem, see ForwardedHeadersOptions.KnownNetworks or KnownProxies.

@V1ct0rV ,check my last comment, open the hidden comments in this thread and you will find your answers.

@OsmondJiang Thanks! I applied @nrandell Solution:
var options = new ForwardedHeadersOptions
	        {
		        ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
	        };
	        options.KnownNetworks.Clear();
	        options.KnownProxies.Clear();
	        app.UseForwardedHeaders(options);

I spent one day trying to solve this issue, the documentation should be more clear or at least do not add default values to KnownNetworks and KnownProxies
Thanks!!!

@Tratcher Can you specify what, if anything, from https://github.com/aspnet/Docs/issues/2384#issuecomment-297980490 that you'd like me to address in the topic? I'm a bit worried about clearing networks/proxies given the guidance on header spoofing.

Yeah, clearing isn't an acceptable answer either. You need to actually supply a new value.

I think what would be really useful for people is to explain how to do this in various scenarios. So for my example where the debug message said Unknown proxy: <IP_ADDRESS>:53690, I know I could probably get data from anything on 10.0.1.x, or possibly even 10.0.x.x.
Making it obvious how some of these scenarios work would make things a lot easier.  I'm sure there are some standard scenarios, such as Azure app service running docker containers on Linux that would benefit from some of these examples. I'm pretty sure I've copied and pasted the clearing of KnownNetworks and KnownProxies a number of times for various projects I've worked on.
Is header spoofing really possible if you are sitting on an azure app service (I'm sure I will regret writing this comment …)

Isn't there a design issue in "examples" for "standard scenarios"? Do you want to change your application code and rebuild when you switch the hosting environment? Say from Azure to a local server, or whatever. Do you even have the code for all web apps you run? I feel these things should be covered by the hosting environment in a way that doesn't require code changes.

They should certainly be extracted to config to facilitate environment portability.

Hi @Tratcher
My nginx reverse proxy Ipaddress is: <IP_ADDRESS> and the local network CIDR is <IP_ADDRESS>/10 I tried with options.KnownProxies.Add(IPAddress.Parse("<IP_ADDRESS>")); with no luck, then tried with options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("<IP_ADDRESS>"), 10)); and did not work.
I really want to have configured it in a proper way, what I'm doing wrong?

Your debug output said the reverse proxy address was ::ffff:456.675.0.5. Note that's an IPv4 address nested in an IPv6 address. Your KnownProxies or KnownNetworks would need to be represented as IPv6 addresses as well.

Hi All,
I finally get working my app, the configuration at the end is:
services.Configure<ForwardedHeadersOptions>(options =>
	        {
		        options.ForwardedHeaders =
			        ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
		        options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("::ffff:<IP_ADDRESS>"), 106));
			});

I think this should be documented on the official documentation, not always we deploy the reverse proxy in the same server, about the ipv6 this should be documented too.
Thanks for you help.

@guardrex you got this?

Yes, I'll open an issue.

Note that's an IPv4 address nested in an IPv6 address. Your KnownProxies or KnownNetworks would need to be represented as IPv6 addresses as well.

We're going for that :point_up: coverage.
Anything else?

And general discussion around setting KnownNetworks/Proxies. https://github.com/aspnet/Docs/issues/2384#issuecomment-418785152

We already have it, generally speaking.
I need more specific guidance in terms of what's missing from what we currently have on KnownProxies and KnownNetworks.
Let's move this over to the issue for further discussion on what else the topic needs. #8417

With due respect, this API is the pit of failure.
If you call UseForwardedHeaders with no arguments, it does nothing and throws no exception. See https://github.com/aspnet/BasicMiddleware/issues/296
If you call UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.All }) it does nothing and throws no exception.  See https://github.com/aspnet/Docs/issues/2384#issuecomment-286997661
I would suggest this needs improvement at the API level. If this isn't the appropriate repository, I'm happy to do the legwork of logging additional issues in the correct location.

 Somebody does get notifications.

To sum up the 90+ comments here:
// In the Configure function in Startup.cs

// Add the ForwardedHeadersOptions that you want.
// By default the options are empty, so you MUST specify what you want.
var options = new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
};

// Clear the forward headers networks so any ip can forward headers
// Probably only want to do this while testing or in a dev env
options.KnownNetworks.Clear();
options.KnownProxies.Clear();

// OR

// For security you should limit the networks that can forward headers (MUST BE IN IPv6)
// Adding a network with a mask
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("::ffff:<IP_ADDRESS>"), 16));
// OR Adding specific ips
options.KnownProxies.Add(IPAddress.Parse("::ffff:<IP_ADDRESS>"));
options.KnownProxies.Add(IPAddress.Parse("::ffff:<IP_ADDRESS>"));

app.UseForwardedHeaders(options);

@jondmcelroy the IPv6 restriction no longer applies in 2.2.
Clearing the networks and proxies is strongly discouraged.

@Tratcher strongly discouraged may not be sufficient.
You should never ever ever ever consider doing it ;-)

key point here that f'ed me over: https://github.com/aspnet/Docs/issues/2384#issuecomment-286271048

You have it set to ForwardedHeaders.All, but you don't have an x-Forwarded-For header, so it freaks out and won't process Proto either. Scope it down to just the header you need.

Do NOT use ALL. Use only the headers your proxy ACTUALLY forwards.

@andycmaj Please open a new issue using the Content feedback button at the bottom of the Configure ASP.NET Core to work with proxy servers and load balancers topic.


Is it better to open SQLite in multi-thread mode?

With the currently used combination of flags in https://github.com/mattn/go-sqlite3/blob/master/sqlite3.go (compilation with -DSQLITE_THREADSAFE and sqlite3_open_v2() called with flag SQLITE_OPEN_FULLMUTEX) SQLite database files are opened in serialized mode (see https://www.sqlite.org/threadsafe.html).
Since sql.Open() (https://golang.org/pkg/database/sql/#Open)  is safe for concurrent use by multiple goroutines it should be enough to open SQLite database files in multi-thread mode (flag SQLITE_OPEN_NOMUTEX instead of SQLITE_OPEN_FULLMUTEX). This should also improve performance.
Or am I missing something?

I don't think that SQLITE_THREADSAFE affect only for sql.Open.

I agree with @frankbraun.
https://golang.org/src/database/sql/sql.go?s=44550:44604#L1014
The Package sql provides goroutine-safe access to a single database connection by using internal mutex.
As https://www.sqlite.org/threadsafe.html says,  when using -DSQLITE_THREADSAFE=1 and SQLITE_OPEN_NOMUTEX, the SQLite is in Multi-thread mode.
In this mode, SQLite can be safely used by multiple threads provided that no single database connection is used simultaneously in two or more threads.
As SQLite's source code shows, when in Multi-thread mode, the SQLite still has an CoreMutex.
#if defined(SQLITE_THREADSAFE) && SQLITE_THREADSAFE>0 /* IMP: R-20520-54086 */
    case SQLITE_CONFIG_MULTITHREAD: {
      /* EVIDENCE-OF: R-14374-42468 This option sets the threading mode to
      ** Multi-thread. */
      sqlite3GlobalConfig.bCoreMutex = 1;  /* Enable mutex on core */
      sqlite3GlobalConfig.bFullMutex = 0;  /* Disable mutex on connections */
      break;
    }
#endif
#if defined(SQLITE_THREADSAFE) && SQLITE_THREADSAFE>0 /* IMP: R-59593-21810 */
    case SQLITE_CONFIG_SERIALIZED: {
      /* EVIDENCE-OF: R-41220-51800 This option sets the threading mode to
      ** Serialized. */
      sqlite3GlobalConfig.bCoreMutex = 1;  /* Enable mutex on core */
      sqlite3GlobalConfig.bFullMutex = 1;  /* Enable mutex on connections */
      break;
    }
#endif

Since the Package sql already used mutex on connections, the SQlite's  bFullMutex on connections is a bit redundant.
Just using -DSQLITE_THREADSAFE=1 and SQLITE_OPEN_NOMUTEX is enough.

How about to add _mutex ?

Closed by #540


PostgreSQL vs PostgreSql

Just a tiny note it looks you made a change with .WriteTo.PostgreSQL to .WriteTo.PostgreSql (SQL vs Sql) and this shows an error when using your updated package vs the original.  Not a show-stopper, but maybe make a note in the updated docs to reflect this change.  This article also brought it home as a funny: the-shibboleth-of-postgresql.  Great work and thank you for keeping this important project fresh.

Hi, thank you for the information. I totally forgot about that change... I will add this to the readme soon.
Yeah, this was a refactoring due to my Resharper language style settings, I understand the issue though :D

Hi, thank you for the information. I totally forgot about that change... I will add this to the readme soon.
Yeah, this was a refactoring due to my Resharper language style settings, I understand the issue though :D

In the new version of the sink, I have added both versions (The one with SQL just as override of the others). Maybe, I will go back to the original version in a later revision and mark the other as deprecated, we will see. There's a new information on this in the readme from now on: https://github.com/SeppPenner/SerilogSinkForPostgreSQL/blob/master/README.md#further-information

In the new version of the sink, I have added both versions (The one with SQL just as override of the others). Maybe, I will go back to the original version in a later revision and mark the other as deprecated, we will see. There's a new information on this in the readme from now on: https://github.com/SeppPenner/SerilogSinkForPostgreSQL/blob/master/README.md#further-information


Use of host metadata

Please provide the environment you discovered this bug in.
NX@latest
angular@latest
Which area/package is the issue in?
typography
Description
Hi,
When I install primitives for typography, for example, I get the host declared as metadata.
Please provide the exception or error you saw
I get an Eslint error:

**Use @HostBinding or @HostListener rather than the `host` metadata property (https://angular.io/styleguide#style-06-03)**

Other information
No response
I would be willing to submit a PR to fix this issue

[ ] Yes
[ ] No

The Angular team is actually now recommending to use host over HostBinding and HostListener.
Here is the documentation that states this: https://angular.dev/guide/components/host-elements#the-hostbinding-and-hostlistener-decorators
We are also adhering to this new standard and use host. You can disable the eslint rule for the spartan libraries that are created by the CLI by adding this to your .eslintrc.json:
{
	"overrides": [{
		"files": ["*.ts"],
		"rules": {
			"@angular-eslint/no-host-metadata-property": 0,
			...
			}
		}]
}

Ok thanks a lot for the support


[e2e]: go schedule main noldflags-multi-uses slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/8445629090
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.noldflags-multi-uses.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.noldflags-multi-uses.slsa3.yml
Trigger: schedule
Branch: main
Date: Wed Mar 27 02:15:50 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/8445629090
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.noldflags-multi-uses.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.noldflags-multi-uses.slsa3.yml
Trigger: schedule
Branch: main
Date: Wed Mar 27 02:18:32 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/8461431930
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.noldflags-multi-uses.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.noldflags-multi-uses.slsa3.yml
Trigger: schedule
Branch: main
Date: Thu Mar 28 02:17:34 UTC 2024
Tests are passing now. Closing this issue.


Added field "NetMessage.sendSectionBufferSize" to make it configurable

Finally I determined to send this pr.
What I did is just replace hard-coded buffer size to a static field, then we can add it in TShock's config file.
I tested with Builder's Workshop,  when the size set to 65535, one section of it "disappear". As the image shown below.

Then I set it to 80000, it can be show correctly.

For the section data could contain many strings (like sign's text and chest name), it's size is hard to evaluate.
Therefore, I think decide it by users are best.
If server's map is not complicated, they can set it smaller to get better performance, and for those encountered this problem, they can set a bigger value.

This seems good to me. Waiting on DeathCradle's review.

I just realized that do this in TShock's patcher may be better. Because this change s doesn't solve the problem without configuration.

@AxeelAnder Basically if it's not a problem in vanilla and it can be replicated using stock OTAPI then it should be an OTAPI fix rather than TShock. However that fix is probably best suited for TShock, and if the guys are happy for that go nuts.
I had a quick look and I don't think that buffer is actually required with a bit more modification work, e.g. directly write the data from within NetMessage.CompressTileBlock by passing down the BinaryWriter from NetMessage.SendData; or similarly by redirecting the CompressTileBlock call in SendData to a OTAPI version so it can be done via C# instead of patching.
Though as fun as this sounds I don't have the time to do this so your fix should work fine via TShocks' config.

@AxeelAnder Basically if it's not a problem in vanilla and it can be replicated using stock OTAPI then it should be an OTAPI fix rather than TShock. However that fix is probably best suited for TShock, and if the guys are happy for that go nuts.
I had a quick look and I don't think that buffer is actually required with a bit more modification work, e.g. directly write the data from within NetMessage.CompressTileBlock by passing down the BinaryWriter from NetMessage.SendData; or similarly by redirecting the CompressTileBlock call in SendData to a OTAPI version so it can be done via C# instead of patching.
Though as fun as this sounds I don't have the time to do this so your fix should work fine via TShocks' config.

You can send a PR to two different projects — making the field configurable
in OTAPI and then touching it in another spot is fine.
On Sun, Oct 21, 2018 at 15:50 Axeel<EMAIL_ADDRESS>wrote:

I just realized that do this in TShock's patcher may be better. Because
this change s doesn't solve the problem without configuration.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/DeathCradle/Open-Terraria-API/pull/15#issuecomment-431711063,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAggpwBWSqQBZdjPm-psA7XrxRVjCsyAks5unPo7gaJpZM4XyhmH
.

--
Lucas Nicodemus
http://keybase.io/xn

You can send a PR to two different projects — making the field configurable in OTAPI and then touching it in another spot is fine.
On Sun, Oct 21, 2018 at 15:50 Axeel @.***> wrote: I just realized that do this in TShock's patcher may be better. Because this change s doesn't solve the problem without configuration. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#15 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAggpwBWSqQBZdjPm-psA7XrxRVjCsyAks5unPo7gaJpZM4XyhmH .
-- Lucas Nicodemus http://keybase.io/xn

Death has given advice which is better, I'll do that and create another pr

Death always gives good advice because he is the end of all things.
On Mon, Oct 22, 2018 at 20:51 Axeel<EMAIL_ADDRESS>wrote:

You can send a PR to two different projects — making the field
configurable in OTAPI and then touching it in another spot is fine.
On Sun, Oct 21, 2018 at 15:50 Axeel @.***> wrote: I just realized
that do this in TShock's patcher may be better. Because this change s
doesn't solve the problem without configuration. — You are receiving this
because you commented. Reply to this email directly, view it on GitHub <#15
(comment)
https://github.com/DeathCradle/Open-Terraria-API/pull/15#issuecomment-431711063>,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAggpwBWSqQBZdjPm-psA7XrxRVjCsyAks5unPo7gaJpZM4XyhmH
.
-- Lucas Nicodemus http://keybase.io/xn
Death has given advice which is better, I'll do that and create another pr
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/DeathCradle/Open-Terraria-API/pull/15#issuecomment-432080744,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAggp414AEMVuDW_8FQbzp-HyXu2uUSgks5unpIngaJpZM4XyhmH
.

--
Lucas Nicodemus
http://keybase.io/xn

Death always gives good advice because he is the end of all things.
On Mon, Oct 22, 2018 at 20:51 Axeel @.> wrote: You can send a PR to two different projects — making the field configurable in OTAPI and then touching it in another spot is fine. On Sun, Oct 21, 2018 at 15:50 Axeel @.> wrote: I just realized that do this in TShock's patcher may be better. Because this change s doesn't solve the problem without configuration. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#15 (comment) <#15 (comment)>>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAggpwBWSqQBZdjPm-psA7XrxRVjCsyAks5unPo7gaJpZM4XyhmH . -- Lucas Nicodemus http://keybase.io/xn Death has given advice which is better, I'll do that and create another pr — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#15 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAggp414AEMVuDW_8FQbzp-HyXu2uUSgks5unpIngaJpZM4XyhmH .
-- Lucas Nicodemus http://keybase.io/xn

lol, I agree entirely.


IP-Per-Container broken with Marathon-v1.3.0+

Latest Marathon changes make it impossible to specify discoveryInfo and ipAddress fields. Instead, Marathon devs say to use PortMappings.
Marathon-LB needs to update where it expects this information to be the new location.
Sort-of unrelated good news - if a user specifies a VHOST and PortMappings.ContainerPort, Marathon is now correctly allocating servicePorts in the PortMappings section. So that issue in Marathon is now effectively resolved.
I've been meaning to tackle these issues but now it seems less likely I'll get to them this week, so just wanted to start a log here of what's going on for the community.

It looks like the app state has changed quite a bit in Marathon 1.3. I'm probably going to rip out the existing behaviour (auto assigning, etc), and replace it with the new stuff, then mark MLB 1.4 as being compatible with Marathon 1.3+ only (for IP-per-task). Does that sound reasonable?

Actually, it might be slightly more complicated than I thought. Let me investigate further.

PTAL at #329.

Woo! Thanks for this @brndnmtthws ! I tried testing this yesterday with Calico but ran into troubles with my app.json (which turned out to just be typos on my end). Did a runthrough today with the v1.4.0 release and it works with calico networked docker tasks (even using VHOSTS), which is awesome!
Unfortunately, I found it does not work with CNI tasks, but I think the reason is that Marathon still is not auto-allocating servicePorts to CNI tasks. So will be raising a follow up report over with the Marathon team.
Thanks again!


Add configuration to update/ignore build settings.

XcodeGen Version: 2.16.0
Setting Target->Settings->INFOPLIST_FILE updates build settings for target.
If you are using xcconfig updating build setting is not needed and I prefer keeping all my build settings changes in xcconfig.
This can solved by generating info.plist with XcodeGen but it's tedious to replicate plist contents to yaml.
Can we make this configurable? Option could be for all build settings or just Info.plist. It would make sense to have configuration for all build settings as individual flags will be nightmare to manage.
TemplateTarget:
   settings:
       INFOPLIST_FILE: ${target_name}/App/Info.plist

This functionality exists!
Found an issue in how this works. Making a PR now.


fix: handle repos with no issues

#279  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MartinBernstorff and the rest of your teammates on  Graphite

Merge activity

Jul 29, 1:41 PM GMT+2: @MartinBernstorff merged this pull request with Graphite.


all iptv

hi why all iptv in one place removed i go to iptv link but i see name of countries and category please creat all tv chanles in one link thanks

The playlist is in place and available via the same link as before: https://raw.githubusercontent.com/freearhey/iptv/master/index.all.m3u

Just in case I also returned the link to "all in one" playlist to the documentation.


[C++][Parquet] Detach thirdparty code from build configuration.

The existing repo has source code for third party dependencies checked into the repo.  The build system expects those dependencies in a certain place.  This enforces that the built library conform to those exact dependencies without customization.
Managing third party dependencies is better handled through a build environment.  It allows the library builder more flexibility over dependency versions and locations.  It also cleans up the repo from this third party code.
Reporter: Kalon Mills / @kalaxy
Assignee: Kalon Mills](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=kmills) / @kalaxy
Related issues:

C++11, cpplint cleanup, package target and header installation (relates to)

Externally tracked issue: https://github.com/apache/parquet-cpp/pull/16
Note: This issue was originally created as PARQUET-267. Please see the migration documentation for further details.

Wes McKinney / @wesm:
Per discussion on PARQUET-416; I'll split out the code reorganization into its own patch so we can figure out a plan here. I'm happy using https://github.com/apache/parquet-cpp/pull/10 as a starting point and adding ${LIBNAME_HOME} variables so that one can easily set up a custom toolchain with environment variables.

Kalon Mills / @kalaxy:
@nongli, I agree that a sandboxed env would be very useful for quickstart development.  I think, however, that it should be a script which initializes the environment for use, rather than part of the build configuration.  Right now, apache/parquet-cpp:master requires download_thirdparty.sh and build_thirdparty.sh to be run as prerequisites to running cmake because cmake relies on specifics.
I'd rather see a cmake configuration that is customizable for determining library locations and then an ./initialize_sandbox.sh <path_to_build_dir> which can download and install everything required by the sandbox as well as configure cmake in that directory with the sandbox libraries.  (In fact this would make the travisci build configuration simpler too because travisci could leverage the sandbox env.)
I think this is what @wesm is getting at with his comment above.  My pull request here does three, I think important, things.

It removes third party code from the repo.
It makes library discovery more generic.
It decouples the build configuration from the build environment.

With this as a foundation, I think that one can script sandbox creation in a straightforward and decoupled manner.
I guess your point is that with this pull request I'm removing an existing sandbox solution, but I'm hoping that this would be a good stepping stone for a better solution.  I don't want to duplicate work that Wes is doing, but if you'd like I can implement a version of initialize_sandbox.sh so that the sandbox feature still exists.  @wesm is that sort of the direction you were already headed?

Nong Li / @nongli:
@kalaxy I agree, this is a big barrier to getting started. I think there are few things we need to decide on before we pick one implementation.
I think the high level requirements are:

Easy to build the project out of the box. We want to minimize the steps required from no dev environment to repo cloned, built and tests passing. This needs to work on a large variety of environments.
Easy to update or add new dependencies.

This makes me lean towards not having the developer have maintain the build environment by default. For someone who does a lot of c++ development and has an existing environment they like, they should be able to use that but for someone getting started, we should provide a "sandboxed" environment that just works. Furthermore, the sandbox environment IMO, is the only supported one. In other words, we can for example, upgrade to a new version of glog just by upgrading the sandbox version. If you chose to run a custom glog that is too old, too bad, you have to figure out how to manage your custom env.

Kalon Mills / @kalaxy:
Github Pull Request: https://github.com/apache/parquet-cpp/pull/10
This pull request builds off of the pull request submitted for https://issues.apache.org/jira/browse/PARQUET-259.

Kalon Mills / @kalaxy:
@nongli or whoever might be maintaining this now days.  I think the first hurdle to approaching parquet-cpp right now is the build config.  There are now three pull requests on the github repo updating this.  It would be great to get one of the merged so that others don't keep reimplementing the same workarounds.

Kalon Mills / @kalaxy:
@nongli I updated the pull request per your comments last week.  Did you have any more feedback?

Wes McKinney / @wesm:
That makes sense to me; if we can avoid putting thirdparty libraries in the git repo for the sandbox that would be great. If you want to rebase your cmake changes on my PR https://github.com/apache/parquet-cpp/pull/14 plus an initialize_sandbox.sh that sounds ideal if @nongli agrees. I can do some of the legwork, too, if you prefer.
The only thing we probably shouldn't build in the sandbox is boost.

Kalon Mills / @kalaxy:
I have a new branch where I rebased my cmake changes from the original pull request off of Wes' changes.  I also removed the thirdparty lz4 code and added support for downloading it in the download_thirdparty.sh script.  This basically keeps the original sandbox in place while removing and specifics for it from the build system.
For the final commit, I also pulled thrift into the thirdparty setup scripts.  But I got to wondering, do you think thrift should be provided by the sandbox scripts?  Thrift is pretty finicky to build.  So it may to a constant thorn to try and maintain a script that can build and install it on multiple platforms.  Thrift also has a fair number of dependencies so it complicates describing how to get a dependencies in order.  I wonder what your thoughts are.
A couple of other things:

I cleaned up the .travisci a bit because things like g++4.9 weren't actually getting used.  (I tried to get the 4.9 build working for several hours but had no luck. Maybe another day.)
In pulling the lz4 directly from github, the api used had to be updated.  Apparently the version used in the committed code was very old.
Currently the thirdparty scripts still have to use the repo's thirdparty/ directory.  I think it would be nicer in the future to move thirdparty libraries to the actual build directory.

Anyway let me know what you think and if you think this is going in a good direction.

Wes McKinney / @wesm:
Thrift requires boost so we are probably stuck with it. I'll wait to see what @kalaxy wants to do with the existing patch and we can go from there.

Wes McKinney / @wesm:
I can look into getting gcc-4.9 working on Travis; sorry about the hassle there.
The trouble with installing thirdparty in the build directory is that there may be multiple build directories (in the case of out-of-source builds – this makes branch-switching less painful) – but people doing significant development are probably going to want to set the install locations of all the dependencies outside of the sandbox.
I agree that maintaining a Thrift build recipe may be onerous (see an example one here: https://github.com/cloudera/native-toolchain/blob/master/source/thrift/build.sh). As long as we have a consistent pattern for configuring each library install prefix, then that's already a big improvement.

Kalon Mills / @kalaxy:
No worries about gcc-4.9.  I was trying to do too much as once, so it may have been a compounding set of problems.
Ah so that's what native-toolchain is.  That's pretty nice.  With the changes I've made to the build config it would be easy to set up a build that points to a native-toolchain initialized build dir.
Is it good enough to just have instructions for setting up dependencies through native-toolchain and not maintain build recipes here?  Or is it better to have build recipes specific to this repo?

Kalon Mills / @kalaxy:
So it looks like native-toolchain doesn't build individual packages on mac so leveraging that isn't doable for my dev env.  However I had another alternative thought.  I think the instructions could go something like this.

create a build directory
cd
cp -r /thirdparty .
./thirdparty/download_thirdparty.sh
./thirdparty/build_thirdparty.sh
THRIFT_HOME=$PWD/thirdparty/installed SNAPPY_HOME=$PWD/thirdparty/installed LZ4_HOME=$PWD/thirdparty/installed cmake <source_dir>
make

This could also be thrown into a script which takes  as a parameter.  This puts all of the thirdparty libraries right in the build dir so that build envs can be independent in which libraries they use.
Here we still maintain build recipes but that can evolve over time as support for more envs is requested.  (It might also be nice to eventually separate the build recipes like done in native-toolchain.)

Kalon Mills / @kalaxy:
I was about say the say thing about boost and thrift.
I'll spend some time today trying to rebase my stuff off of Wes's.  Hopefully it isn't too difficult and then I can update my pull request.

Nong Li / @nongli:
@kalaxy @wesm Sounds good to me. I'm not particularly tied to how we make the dev env work as long as it meets the goals which I think we all agree on. If the set up scripts exist in some reasonable form, I'm good with that.
wrt to boost, I think if we upgrade to c++ 11, we might not need boost at all.

Wes McKinney / @wesm:
I have a patch out to build a subset of the packages in the native-toolchain; you might have some thoughts: https://github.com/cloudera/native-toolchain/pull/8. Basically looking for the equivalent of requirements.txt (for pip) for C++ development.
We should definitely add instructions for using a custom toolchain like the native-toolchain. Personally, I'm going to have 3 projects sharing a common toolchain:

parquet-cpp
arrow (In-memory columnar data structures — under proposal for ASF)
Python wrapper layer for arrow + parquet (and other libraries)

Kalon Mills / @kalaxy:
I went ahead and added the instructions above to my branch and reworked the travis ci build to follow those instructions.
I've opened pull request 16 and will close 10 shortly.  Let me know what you think.

Kalon Mills / @kalaxy:
Do you mean something more specific then the readme in the pull request?  I think the readme is pretty clear about how to guide cmake to find dependencies.  It should work quite well with pointing at any toolchain.  I'm not really sure what to add that wouldn't be super specific.

Nong Li / @nongli:
Issue resolved by pull request 16
https://github.com/apache/parquet-cpp/pull/16


migration from zf2 to zf3 - InvokableFactory

Hi all,
i followed (try to guest the possible solution similar to apigility) the migration doc from zf2 to zf3
but it does not work:
in my file:
module.config.php
i added the following factory:
return [
    'controllers' => [
        'factories' => [
            //'Application\Controller\IndexController' => 'Application\Factory\IndexControllerFactory',
            Controller\IndexController::class => Factory\IndexControllerFactory::class,
        ],
    ],

i create a factory:
<?php
namespace Application\Factory;

use Interop\Container\ContainerInterface;
use Zend\ServiceManager\Factory\AbstractFactoryInterface;
use Application\Controller\IndexController;

class IndexControllerFactory implements AbstractFactoryInterface  {

    public function canCreate(ContainerInterface $container, $requestedName)
    {
        return class_exists($requestedName);
    }

    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        return new IndexController($container, $requestedName, $options);
    }
}
?>

I use the indexcontroller in this way:
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Application\Model\Cruises;
use Interop\Container\ContainerInterface;
use Zend\Db\Adapter\Adapter;

class IndexController extends AbstractActionController
{
    private $cruises;
    public function __construct(ContainerInterface $container, $requestedName, array $options = null)
    {
        $config = $container->get('config');

        $id_website = $config['id_website'];
        $db = $config['db'];

        $dbMaster = new Adapter($db);
        $dbMaster->query("SET NAMES utf8", Adapter::QUERY_MODE_EXECUTE);
        $dbMaster->query("SET lc_time_names = 'it_IT'", Adapter::QUERY_MODE_EXECUTE);

        $this->cruises = new Cruises($dbMaster, $id_website);
    }

I get the following error:
Argument 1 passed to Application\Controller\IndexController::__construct() must implement interface Interop\Container\ContainerInterface, none given, called in D:\Program Files (x86)\Zend\Apache2\htdocs\zf3\vendor\zendframework\zend-servicemanager\src\Factory\InvokableFactory.php on line 32

Sorry, wrong repo here. Consider reporting it on https://github.com/zendframework/zend-mvc/


Add new HoloEN member IRyS

Add and make sure the new HoloEN tuber IRyS is supported: https://virtualyoutuber.fandom.com/wiki/IRyS
For example, the fan mark should be added to the channel mapping.

Done


2022.4 staged

looks like i broke the name template for the artifact upload, which is why this hasnt been merged yet


Error reporting

If I send a bad request to Virtuoso, the exaplanation is not showed. Instead, I just get the message error: Bad Request. It would be good to show the message returned by virtuoso.

Do you have an example of a query going wrong? And do you have a link to your deployed version of YASR?
If I send an incorrect query via the yasr.yasgui.org demo, it seems to work fine

Thanks Laurens for looking into it.
The query is:
select (uri(?o) as ?urio) WHERE {
  ?s ?p ?o
  filter isliteral(?o)
}
limit 10

The problem is that the built-in uri is not in virtuoso, but iri is. You can try this at http://scampi.github.io/gosparqled/

This is something that should be fixed in the newest version. I suggest you update to the latest YASQE and YASR libraries, and update the final few lines in your autocompletions.js file. You can remove the success and error handlers, and replace this with the following line:
yasqe.options.sparql.callbacks.complete = yasr.setResponse;


Cannot get 100% coverage when using package resource

I am trying to reach 100% code coverage for a cookbook but I'm having some trouble with one resource, namely package.
Here's the recipe:
package 'foobar'

Here's the spec:
expect(chef_run).to install_package('foobar')

Here's the output:

Untouched Resources:
apt_package[foobar]

If I add expect(chef_run).to install_apt_package('foobar') it complains that the resource cannot be found in the recipe, which is correct as I'm using the general resource and not apt_package.
ChefSpec 4.7.0 and Chef 12.12.15.
What am I doing wrong here?

Just noticed that it only expects me to test apt_package when my spec includes a context with ubuntu at platform:

context 'On Ubuntu' do
  let(:chef_run) do
    runner = ChefSpec::ServerRunner.new(platform: 'ubuntu', version: '14.04')
    runner.converge(described_recipe)
  end

  it 'install apt package' do
    expect(chef_run).to install_apt_package('foobar')
  end
end

However, I still get the error:

expected "apt_package[foobar]" with action :install to be in Chef run. Other apt_package resources:

The list of other apt_package resources is empty.

It was fixed if I just added a second expect(chef_run).to install_package('foobar') to the Ubuntu context in addition to the default context.
Not totally obvious to me, but at least it solves the issue and gets me 100% reported coverage. :)


Large discrepancy between test results and ground truth on CAMO dataset

Hi,
Thank you for sharing your code. I trained and tested the model using the CAMO dataset, following the exact settings mentioned in your paper (AdamW optimizer, initial learning rate of 0.001, 352 × 352 resolution, batch size of 12, and 50 training epochs). The only modification I made was to test.py to output 0/255.
`for i in range(test_loader.size):
with torch.no_grad():
image, gt, name = test_loader.load_data()
gt = np.asarray(gt, np.float32)
image = image.to(device)
res, _, _ = model(image)
res = torch.sigmoid(res)
res = F.upsample(res, size=gt.shape, mode='bilinear', align_corners=False)
res = res.data.cpu().numpy().squeeze()
    threshold = 0.5
    res = 255 * (res > threshold).astype(np.uint8)

    print("Saving " + name)
    imageio.imsave(os.path.join(args.save_path, name[:-4] + ".png"), res)`

However, I noticed that the test results show a significant discrepancy compared to the ground truth. Could you please clarify if there are any additional steps or special processing that I might be missing?

Thanks in advance!

Hi, we follow the existing camouflage object detection benchmark, where the training set contains 4040 images, 1000 from CAMO and 3040 from COD10K. Is your setup consistent with this? Training on CAMO only may lead to sub-optimal results.

I see, I mistakenly thought CAMO and COD10K were used as separate training sets. Thank you very much for your clarification!


Python 2 is EOL

 $ python ~/src/extract_android_ota_payload/extract_android_ota_payload.py payload.bin payload
Traceback (most recent call last):
  File "/home/jake/src/extract_android_ota_payload/extract_android_ota_payload.py", line 14, in <module>
    raise Exception("Python 2.x is required")
Exception: Python 2.x is required

and warning from pip2 install -r requirements.txt

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7

On macOS 10.15 (python3, pip3, and protobuf installed)
Used: python3 extract_android_ota_payload.py payload.bin
Got the following:
dhananjay@Dhananjays-MacBook-Air extract_android_ota_payload-master % python3 extract_android_ota_payload.py payload.bin
Traceback (most recent call last):
  File "extract_android_ota_payload.py", line 14, in <module>
    raise Exception("Python 2.x is required")
Exception: Python 2.x is required


[Event Request] Codeunit 31020 "Purchase-Post Advances".SaveDeductionEntries

Please add these events.
    local procedure SaveDeductionEntries()
    var
        PurchAdvanceLetterEntry: Record "Purch. Advance Letter Entry";
        NextEntryNo: Integer;
    begin
        TempPurchAdvanceLetterEntry.Reset();
        if TempPurchAdvanceLetterEntry.FindSet then begin
            PurchAdvanceLetterEntry.LockTable();
            NextEntryNo := PurchAdvanceLetterEntry.GetLastEntryNo() + 1;
            repeat
                PurchAdvanceLetterEntry := TempPurchAdvanceLetterEntry;
                PurchAdvanceLetterEntry."Entry No." := NextEntryNo;
                //---------------------------------------OnBeforeInsertPurchAdvanceLetterEntry:BEGIN
                OnBeforeInsertPurchAdvanceLetterEntry(PurchAdvanceLetterLine);
                //---------------------------------------OnBeforeInsertPurchAdvanceLetterEntry:END
                PurchAdvanceLetterEntry.Insert();
                NextEntryNo += 1;
            until TempPurchAdvanceLetterEntry.Next = 0;
            TempPurchAdvanceLetterEntry.DeleteAll();
        end;
    end;

[IntegrationEvent(false, false)]
local procedure OnBeforeInsertPurchAdvanceLetterEntry(var PurchAdvanceLetterLine: Record "Purch. Advance Letter Line")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Unable to find the ActionDB instance

throught api to get actions parameters by id
curl --request GET \   --url http://10.xxx.xxx.xxx:8005/v1/actions/views/parameters/6518f9565f9a20c8062779a1 \   --header 'St2-Api-Key: NjA1ZjI2Y]TFjNTA2MA' \   --header 'X-Token: 12c8edafe8f' \   --header 'content-type: application/json'
Get a error :
{ 	"faultstring": "Database lookup for id=\"6518f9565f9a20c8062779a1\" resulted in exception. Unable to find the ActionDB instance. {'id': '6518f9565f9a20c8062779a1'}" }

You've leaked your StackStorm API token.  You should probably regenerate a new one.
Why do you think this id should exist?


Add scroll physics configuration to ScrollBar

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
On the super_editor package, we use a SingleChildScrollView to display the scrollable content  However, we handle the scrolling gestures ourselves, so we prevent the SingleChildScrollView from handling the gestures by configuring it with a NeverScrollableScrollPhysics, like the following:
  SingleChildScrollView(
    controller: widget.scrollController,
    physics: const NeverScrollableScrollPhysics(),
    child: ...
   )

However, this prevents the users from interacting with the scrollbar, even if we wrap the SingleChildScrollView with a Scrollbar.
  Scrollbar(
    controller: widget.scrollController,
    child: ScrollConfiguration(
      behavior: ScrollConfiguration.of(context).copyWith(scrollbars: false),
      child: SingleChildScrollView(
        controller: widget.scrollController,
        physics: const NeverScrollableScrollPhysics(),
        child: ...
        ),
     ),
   )

This happens because the scrollbar checks if user interaction is accepted using the ScrollPosition's scroll physics, which, in this case, doesn't accept user interaction.
Proposal
Add an optional physics property to the Scrollbar so we can use a different ScrollPhysics that allows user interaction.

I don't think this is something we are likely to support. I do not know if ScrollPhysics on a Scrollbar will make semantic sense, what happens when the physics of the position and the physics of the scrollbar conflict? Will users expect physics set on a scrollbar to be reflected in the scroll position? The scrollbar does not implement the physics, it just queries whether or not scrolling is allowed, which in this case, it is not allowed. NeverScrollableScrollPhysics is pretty clear that is does not allow scrolling. I don't know that we should complicate that.
I would recommend subclassing ScrollPhysics instead for the desired effect. Since scrolling gestures are being overridden, it sounds like there is a lot of custom interaction logic already at play. The Scrollbar checks ScrollPhysics.shouldAcceptUserOffset to determine whether or not it can be dragged. I would look at overriding that method, allowing the drag in the context of scrollbar interactions, and not when whatever custom gesture system is being used is engaged.


What is the format of the name of the file for a new blog entry?

What is the format of the name of the file for a new blog entry?
For example: a-guide-to-running-sigstore-locally-f312dfac0682.md, what does f312dfac0682 represent? I want to create a new blog article, how to generate this value?

@rchaganti ^

@mathieu-benoit don't worry about that. It was part of the migration from old blog. You can name it whatever-you-want.md. Please make sure you use the front matter from an old article and update it as needed. I will create a contribution guide today to layout the steps to author a new article.

Gotcha, thanks, will do!


Add requirements for wurst=3.5

With the current requirements packages for environments, wurst=4.0 is installed and causes issues for premise. Can solve this issue by install wurst=3.5 (pip install wurst==3.5). Need to update the tutorial

that is strange. wurst==0.3.5 is there already in the yaml file from before. I checked the latest environment that I created and that also has wurst 0.3.5.
Now I am not sure if some other module is forcing wurst to update. This should not happen. ( That is the point of the environment file). But if PREMISE or Brightway2 had some updates this month, this can occur. I am trying to recreate an environment. But for some reason its not working ( creating metadata and frozen...) I will update if I can create a new environment and see the wurst version.
Could you kindly check once on your end?

So for me wurst==0.3.5 was installed.

Will do the necessary correction. Thanks.


Dockerfile: incude tetragon version in the image

Currently, tetragon images do not incude the version. This is because we
generate the version using git, and .git is in .dockerignore so it will
not be copied over when we are bullding the image.
Fix this by passing an appropriate build argument to docker build.
Tested using:
$ make image
$ docker run -it  --entrypoint /bin/sh cilium/tetragon:latest
/ # /usr/bin/tetragon
time="2022-08-17T09:57:07Z" level=info msg="Starting tetragon" version=v0.8.0-478-g30eb03fbf
...
Signed-off-by: Kornilios Kourtis<EMAIL_ADDRESS>

@kkourt s/incude/include/ in the commit message?

~@kkourt s/incude/include/ in the commit message?~ EDIT: ouch too late sorry sweat_smile

😅


Connect to PostgreSQL instance

On the read_table.R helper, make sure that the connection is with the PostgreSQL instance. When developing locally it may be useful to connect to the historic.sqlite database.

http://www.r-bloggers.com/r-and-postgresql-using-rpostgresql-and-sqldf/


Weird Indentation Issue

Hey @AliRain, do you mean that the formatting is off?

Notice the first 3 lines are indented 2 spaces, but the last 3 lines aren't.


unable to get course ID "NoneType' object has no attribute 'group'"

Traceback (most recent call last):
File "udemy-dl.py", line 896, in
main()
File "udemy-dl.py", line 569, in main
udemy.ExtractAndDownload()
File "udemy-dl.py", line 286, in ExtractAndDownload
videos_dict = self.clean_dict(extract_info.real_extract(self.url, course_name, course_path))
File "/home/ec2-user/udemy-dl/udemy/_extractor.py", line 221, in real_extract
course_id = self._regex_course_id(url)
File "/home/ec2-user/udemy-dl/udemy/_extractor.py", line 137, in _regex_course_id
course_id = unescapeHTML(_search_simple_regex(r'(?<="id":\s)(\d+)',webpage).group())
AttributeError: 'NoneType' object has no attribute 'group'

@psarz which course are you trying to download i did tried against this https://www.udemy.com/learn-ruby-on-rails-from-scratch/ free course it works like charm. so i need a bit explanation.

@r0oth3x49 , I am not even able to download the free course, i.e.https://www.udemy.com/learn-ruby-on-rails-from-scratch/.
File "/home/ec2-user/udemy-dl/udemy/_extractor.py", line 137, in _regex_course_id
course_id = unescapeHTML(_search_simple_regex(r'(?<="id":\s)(\d+)',webpage).group())
AttributeError: 'NoneType' object has no attribute 'group'
as per the stackoverflow link attached below expression contains non-latin characters, so it usually fails. might need  decode into Unicode.
https://stackoverflow.com/questions/15232832/python-regex-attributeerror-nonetype-object-has-no-attribute-groups
I am just a beginner, hope this help you to fix my issue.
Thanks a lot for reply.

@psarz how can i reproduce this error? i have checked the code it works perfectly on Windows 8.1/8/7, Mac, Linux. i cannot add the fix until i can reproduce this error. and one more thing i have added two methods to extract the course id if some how it fails with one should extract with other,

Traceback (most recent call last):
File "udemy-dl.py", line 898, in
main()
File "udemy-dl.py", line 688, in main
udemy.ExtractAndDownload()
File "udemy-dl.py", line 288, in ExtractAndDownload
videos_dict = self.clean_dict(extract_info.real_extract(self.url, course_name, course_path))
File "/home/psarz/udemy-dl/udemy/_extractor.py", line 226, in real_extract
num_lect =  int(self._lecture_count(response))
File "/home/psarz/udemy-dl/udemy/_extractor.py", line 177, in _lecture_count
for entry in response['results']:
KeyError: 'results'
Not working :|

@psarz i don't know why you are facing such kind of weird errors. for me it works fine i cannot reproduce so i will w8 for more reports from others no solution for this yet.

This error happens on login for me
[INFO-133] Trying to log in ...
[ERROR-61] Exception
Traceback (most recent call last):
  File "/usr/local/bin/udemy-dl", line 7, in <module>
    main()
  File "/usr/local/lib/python2.7/site-packages/udemy_dl/udemy_dl.py", line 947, in main
    save_links, safe_file_names, just_list, output_dest, dir_use_course_title)
  File "/usr/local/lib/python2.7/site-packages/udemy_dl/udemy_dl.py", line 744, in udemy_dl
    login(username, password)
  File "/usr/local/lib/python2.7/site-packages/udemy_dl/udemy_dl.py", line 134, in login
    csrf_token = get_csrf_token()
  File "/usr/local/lib/python2.7/site-packages/udemy_dl/udemy_dl.py", line 128, in get_csrf_token
    return match.group(1)
AttributeError: 'NoneType' object has no attribute 'group'

udemy-dl is up to date. the course is bought (I only download courses I have bought, because I don't have the kind of internet to stream hd videos)

Same problem on login on windows 7.
Trying to log in ...
Exception
Traceback (most recent call last):
File "udemy_dl.py", line 976, in
File "udemy_dl.py", line 971, in main
File "udemy_dl.py", line 766, in udemy_dl
File "udemy_dl.py", line 156, in login
File "udemy_dl.py", line 150, in get_csrf_token
AttributeError: 'NoneType' object has no attribute 'group'
Failed to execute script udemy_dl

same issue.. Does anyone have a solution for this?

same issue. Has anyone found the solution?

What version are you using? Try with the latest on GitHub.
El vie., 6 de abr. de 2018 7:36 AM, Anthony Muna<EMAIL_ADDRESS>escribió:

same issue. Has anyone found the solution?
[image: screenshot at 2018-04-06 15-27-39]
https://user-images.githubusercontent.com/20999541/38421531-1bf56222-39b0-11e8-83df-a004530d2148.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/r0oth3x49/udemy-dl/issues/40#issuecomment-379239902,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAF6H6PJSQOsooQlY-SN_YjX5E_BgR5Pks5tl2E6gaJpZM4Q3RMl
.

Am using the latest version 0.2.2a2.
On Friday, April 6, 2018, Aldo<EMAIL_ADDRESS>wrote:

What version are you using? Try with the latest on GitHub.
El vie., 6 de abr. de 2018 7:36 AM, Anthony Muna<EMAIL_ADDRESS>
escribió:

same issue. Has anyone found the solution?
[image: screenshot at 2018-04-06 15-27-39]
<https://user-images.githubusercontent.com/20999541/38421531-1bf56222-
39b0-11e8-83df-a004530d2148.png>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/r0oth3x49/udemy-dl/issues/40#issuecomment-379239902
,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAF6H6PJSQOsooQlY-SN_
YjX5E_BgR5Pks5tl2E6gaJpZM4Q3RMl>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/r0oth3x49/udemy-dl/issues/40#issuecomment-379252984,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUBtdch2ocx_zadno76G23RdDlPXjR5Zks5tl21MgaJpZM4Q3RMl
.

Guys..
It's working for me.
I think the problem because of permission issue in my linux vm.
Try to configure it using root and then switch back to normal user.
Best,
Psarz
On Fri, 6 Apr 2018, 18:57 Aldo<EMAIL_ADDRESS>wrote:

What version are you using? Try with the latest on GitHub.
El vie., 6 de abr. de 2018 7:36 AM, Anthony Muna<EMAIL_ADDRESS>
escribió:

same issue. Has anyone found the solution?
[image: screenshot at 2018-04-06 15-27-39]
<
https://user-images.githubusercontent.com/20999541/38421531-1bf56222-39b0-11e8-83df-a004530d2148.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/r0oth3x49/udemy-dl/issues/40#issuecomment-379239902
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AAF6H6PJSQOsooQlY-SN_YjX5E_BgR5Pks5tl2E6gaJpZM4Q3RMl
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/r0oth3x49/udemy-dl/issues/40#issuecomment-379252984,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOci_E37pEZsaj02c2EER93ms_4LQ7_Xks5tl21MgaJpZM4Q3RMl
.

Hi Babazon,
Now I can download my courses from udemy.
I used to use UDEMY-DL.EXE and I experienced problems as mentioned by others.
So, thanks for showing this link: git clone https://github.com/r0oth3x49/udemy-dl.git
I suggest any one to check this link: https://github.com/r0oth3x49/udemy-dl
to get this: git clone https://github.com/r0oth3x49/udemy-dl.git)
Here is the image that I made it.

@r0oth3x49 I am getting  "403 Unauthorized retry after few minutes ..." error during login. Please do the needful.


Add "All items available" status label

Pulls logic out of
https://github.com/pulibrary/orangelight/blob/7059e9bb7938c0c39f94bcd0d0d9ee15b8efc1e3/app/javascript/orangelight/availability.es6#L127
refs #266

Coverage increased (+0.01%) to 81.947% when pulling 363c83ff27dce5d25f19434adf3ce6b159c4b8da on 266-all-available into 53c1c1f600eab225266cd1d16d18288680ec4b0c on master.


Lint patch

breathes in

Nuked reaction monitor
Nuked Inspect.js as part of nuking reaction monitor
Moved from deprecated function const linter = require('eslint').linter; to creating a seperate instance of the linter const linter = new(require('eslint').Linter)();
```javascript is correctly removed from input, whereas before it was not and only ```js was
If code is async, wraps in async IIFE
To replace reaction monitor, creates a reaction collector with awaitReactions that lasts for two hours and takes one emoji through the filter, to prevent spam and to prevent inspecting code high in the chat

breathes out
Let me know if you prefer moving to awaitReactions or if you want to keep the reaction monitor instead, I can change it if wanted

Note: This was all tested on animals, no need to worry about broken shit York


Update peerDependencies

Hey there! I've run a few tests with React 0.14.0 and 16.0.0 and it looks like everything works perfectly fine. Consider updating peer deps to support wider range of react versions.

I'm in the same spot. We need to update peer dependencies to remove warnings on React 16.
👍

thank you for contribution


WireMock: Not found match for second request. Return 404 error

Wiremock 2.6.
I want to get stub response for the next request:
 Login
So to do this I put in folder wiremock/mappings file
login_mapping_response.json
Here content of this file:
{
  "request": {
    "method": "POST",
    "url": "/api/login"
  },
  "response": {
    "status": 200,
    "headers": {
      "Content-Type": "application/json"
    }
  }
}

I send POST http request /api/login
As result I success get STUB response from WireMock. Nice.
Now I want to add second stub for request /api/profile?token=stub_token_value
So to do this I put in folder wiremock/mappings file
profile_mapping_response.json
Here content of this file:
{
  "request": {
    "method": "GET",
    "url": "/api/profile"
  },
  "response": {
    "status": 200,
    "headers": {
      "Content-Type": "application/json"
    }
  }
}

I restart wiremock and I send GET http request /api/profile?token=stub_token_value
As result WireMock success return response for request /api/login.
BUT not found match for second request /api/profile. And as result return HTTP status 404.
P.S. I start WireMock like this:
java -jar wiremock-standalone-2.6.0.jar --port 8080 --enable-browser-proxying -verbose
Here response of WireMock:
2018-02-02 15:50:25.184 Request was not matched:
{
  "url" : "/api/profile?token=stub_token_value",
  "absoluteUrl" : "http://myhost:8080/api/profile?token=stub_token_value",
  "method" : "GET",
  "clientIp" : "<IP_ADDRESS>",
  "headers" : {
    "Connection" : "keep-alive",
    "User-Agent" : "okhttp/3.8.0",
    "Host" : "myhost:8080",
    "Accept-Encoding" : "gzip",
    "Content-Type" : "application/json"
  },
  "cookies" : { },
  "browserProxyRequest" : false,
  "loggedDate" :<PHONE_NUMBER>105,
  "bodyAsBase64" : "",
  "body" : "",
  "loggedDateString" : "2018-02-02T13:50:25Z"
}
Closest match:
{
  "url" : "/api/profile",
  "method" : "GET"
}

Please post questions to the mailing list as per the readme.
Might also be worth upgrading to the latest version.


Version parameter doesn't show correct version

Thanks for helping us to improve k3s! We welcome all bug reports. At this stage, we are also looking for help in testing/QAing fixes. Once we've fixed you're issue, we'll ping you in the comments to see if you can verify the fix. We'll give you details on what version can be used to test the fix. Additionally, if you are interested in testing fixes that you didn't report, look for the issues with the status/to-test label. You can pick any of these up for verification.  You can delete this message portion of the bug report.
Describe the bug
Version info is wrong when using k3s --version
To Reproduce
Steps to reproduce the behavior:

Download k3s binary
Run k3s --version

k3s --version
k3s version dev (HEAD)

Expected behavior
compiled version (tag/commit etc)
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Tested with v0.3.0-rc4 build:
vagrant@k3s-node1:~$ k3s -version
k3s version v0.3.0-rc4 (44d2f3a)

Thanks for testing @dnoland1!


Update dynamic-inventory-tags - fixes plugin

Thanks to @daltonpearson for this fix

Just bumping this if possible to be able to merge it in. Thanks!


LCFS - BUG - Allocation agreements

Describe the Bug

If a user selects a Fuel code, but then changes the Determining carbon intensity setting to something else the fuel code selection should be cleared. Right now it just disables the cell with the fuel code still displayed. (Fuel supply form works properly as an example)
The CI value should only have 2 decimal place.

Steps To Reproduce
Steps to reproduce the behaviour:
User/Role: BCeID user

Go to an Allocation agreement in a compliance report
Add a fuel code but then change the Determining carbon intensity selection to something else

The CI of fuel decimal place seems to be limited to 2 places in the input form, but is still not limited on the view of the compliance report once a row has been saved:

The fuel code clears now when you change the determining carbon intensity, but the form does not save. Will make a different card to address this issue.


Value error: Project_id must be defined for Data Sources

Describe the bug
We are using the python client (TSM) to query the datasources on our server, using the following code :
datasources_all = [data_source for data_source in list(TSC.Pager(server.datasources)) if data_source.project_id == project_id]
This code sometimes crashes with the following stacktrace :
  File "/data-foundation-airflow/doctolib_plugins/lambda_tableau/functions/tableau.py", line 100, in list_data_sources_in_project_id
    return [data_source for data_source in list(TSC.Pager(server.datasources)) if data_source.project_id == project_id]
  File "/usr/local/lib/python3.9/site-packages/tableauserverclient/server/pager.py", line 52, in __iter__
    current_item_list, last_pagination_item = self._load_next_page(last_pagination_item)
  File "/usr/local/lib/python3.9/site-packages/tableauserverclient/server/pager.py", line 67, in _load_next_page
    current_item_list, last_pagination_item = self._endpoint(opts)
  File "/usr/local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/endpoint.py", line 186, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/datasources_endpoint.py", line 88, in get
    all_datasource_items = DatasourceItem.from_response(server_response.content, self.parent_srv.namespace)
  File "/usr/local/lib/python3.9/site-packages/tableauserverclient/models/datasource_item.py", line 331, in from_response
    datasource_item = cls(project_id)
  File "/usr/local/lib/python3.9/site-packages/tableauserverclient/models/datasource_item.py", line 58, in __init__
    self.project_id = project_id
  File "/usr/local/lib/python3.9/site-packages/tableauserverclient/models/property_decorators.py", line 38, in wrapper
    raise ValueError(error)
ValueError: project_id must be defined.

This usually happens when there is a lot of activity on the server (a lot of datasource refreshes happening at the same time)
Versions
Details of your environment, including:
tableau_server_version = 2022.3.1
python = "3.9.*"
tableauserverclient = "^0.19.0"
To Reproduce
Error is random and hard to reproduce.
Results
What are the results or error messages received?
ValueError: project_id must be defined.

Are you able to print/view the server responses when this happens? It sounds like they are not sending the project Id, but I can't see how that would happen so would like to make sure that's the problem.

this is fixed for the next release. Tracking it in https://github.com/tableau/server-client-python/issues/1210

I am facing the same issue, tried lot of versions of TSC
When you are gonna release the next version?
I am on urgency to do some automation tasks


App craches when textfield loses focus on Android (lime 7.7.0, openFL 8.9.6)

After upgrading to lime 7.7.0 my app crashes when i select a Textfield and then click elsewhere on the screen so the Textfield loses focus, it does not matter if i type anything or not, it will crash once it loses focus.
I have tested this on Windows and Android and this only happens on Android, Windows works just fine. i also want to note that everything works just fine with lime 7.6.3 so from what i can tell this is something that broke in  7.7.0
to reproduce just create a input Textfield,  build and test  on Android.  once in the app select the input field then click anywhere else to lose focus.

Does this help? https://github.com/haxelime/lime/commit/5a99ef3175e9647d0d7fba16ee9302bffa62a8e7

it Looks like that solved the problem :)
- checked out develop branch of lime
- lime rebuild tools
- lime rebuild android
- openfl test android
- tested textfields on android, did not crash :D


WIP: Add a release lane

Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

we need to make sure we upload the binary and its SHA256SUM before to merge


CONTRIBUTING.md

Technical FAQ for contributors will go to the wiki (easier to maintain, don't pollute repo with screenshots et al). Those wiki articles should contain links to getting started guides, conference videos, samples, SO posts, blog posts, MSDN articles, as well as a ramp up from simple to more complicated in our own codebase.
https://github.com/icsharpcode/RefactoringEssentials/wiki/Contributing-to-Analyzers-and-Code-Fixes
https://github.com/icsharpcode/RefactoringEssentials/wiki/Contributing-to-Refactorings
The .md: a welcome to everyone, from users to bug reporter to devs writing new analyzers/refactorings.
Maybe http://contributor-covenant.org/

Meanwhile we have added a collection of helping links to wiki und sample analyzer/refactoring implementations to repo.


Base layout for Embed / Video field

This PR deletes the video field template and updates the embed field template.
This is just a base layout of the embed field(No logic working behind yet).
Related to #119

FYI, @jackiboy -> Another candidate to convert into Vue components, alongside #181 :-)


Suggestion

Hi there. I've been trying this plugin, and while it works as expected, I've some suggestion that I'd like to say.
I think it'd be more consistent with the way gulp API works if the plugin allows us to omit parameter. It will assume that we want to create streams of symlink. Then, we can pipe it to gulp.dest(), preserving the folder structure of source files.
For example, here's the source dirrectory:
$ tree source

├── fashion
│   ├── fashion (1).jpg
│   ├── fashion (1).md
│   ├── fashion (2).jpg
│   ├── fashion (2).md
│   ├── fashion (3).jpg
│   └── fashion (3).md
├── logo keraton.PNG
└── vintage
    ├── (1).jpg
    ├── (1).md
    ├── (2).jpg
    ├── (2).md
    ├── (3).jpg
    └── (3).md

These gulp task will output symlink streams to the destination:
gulp.task('photo', function(){
  var processedPhoto = gulp.src(['source/**/*.+(jpeg|jpg|png|gif)', '!' + 'source/logo keraton.PNG'], { base: 'source/' })
    .pipe(symlink())
    .pipe(gulp.dest('dist/'));
});

The output folder, dist/ will contain all generated symlink with preserved directory structure:
 $ tree dist

├── fashion
│   ├── fashion (1).jpg@
│   ├── fashion (2).jpg@
│   ├── fashion (3).jpg@
└── vintage
    ├── (1).jpg@
    ├── (2).jpg@
    ├── (3).jpg@

This module has now been deprecated. https://github.com/ben-eb/gulp-symlink#deprecation-notice


Refactor link generation in github_provider.py to use get_pr_url method

Type
enhancement

Description

Refactored the link generation in github_provider.py to utilize the get_pr_url method, enhancing code maintainability and readability.
This change simplifies the process of constructing direct links to files and specific lines in GitHub pull requests by removing the need to manually concatenate URL parts.

Changes walkthrough
Relevant filesEnhancement

github_provider.pyRefactor Link Generation to Use `get_pr_url` Method

pr_agent/git_providers/github_provider.py
Refactored link generation to use the get_pr_url method for constructing PR links.  Simplified the link construction process by removing repetitive URL parts.  Enhanced readability and maintainability of the link generation code.

+6/-4

✨ PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/review auto_approve


Private channels?

Possibly a dumb question, but does this work with private channels? For some reason I can't seem to get it to subscribe / listen when using a private channel.

Yes, internally we are using it to subscribe to private channels.


There is no AddProductEquality implementation for python

Language: Python
Solver: CP-SAT
The documentation exemplifies the use of AddProductEquality() in this section here: https://github.com/google/or-tools/blob/stable/ortools/sat/docs/integer_arithmetic.md#limitations
But this method do not exists in this current implementation.
I think that one option is using the AddMultiplicationEquality() method here: https://github.com/google/or-tools/blob/5425dedcfbb22cb74c636c1374a9b5ad684b1eb5/ortools/sat/python/cp_model.py#L1637
I think that one update in the current documentation is necessary

@lperron to change:
https://github.com/google/or-tools/blob/496af9f36456ca621eccb910539ce4452b73f9fe/ortools/sat/docs/integer_arithmetic.md?plain=1#L132-L133


[Switch] Add thumbSwitchedStyle and trackSwitchedStyle

See #4088 for feature demo
There're no tests for that, sorry

[Current coverage][cc-pull] is 62.74%

Merging [#4089][cc-pull] into [master][cc-base-branch] will decrease coverage by -0.00%

@@             master      #4089   diff @@
==========================================
  Files           137        137
  Lines          8765       8767     +2
  Methods         854        854
  Messages          0          0
  Branches       1554       1556     +2
==========================================
  Hits           5500       5500
- Misses         3265       3267     +2
  Partials          0          0

[][cc-pull]

Powered by Codecov. Last updated by 2545c81
[cc-base-branch]: https://codecov.io/gh/callemall/material-ui/branch/master?src=pr
[cc-pull]: https://codecov.io/gh/callemall/material-ui/pull/4089?src=pr

@oliviertassinari any progress with the review? Do i need to change the name to thumbSwitchedStyle? @nathanmarks yes, that's where i took the name from

@agoldis Yes, I think that we both agree. Let's remove the when and simply use thumbSwitchedStyle / thumbSwitchedStyle.

@oliviertassinari done 🐎

@agoldis Thanks, could you squash down the commit and make the commit message match the PR title?

@oliviertassinari done

@oliviertassinari the props are consumed now, also referencing them directly w/o this.props

@oliviertassinari Not @agoldis fault, but just wondering why were conditionally applying styles in  Object.assign in render(), rather than in getStyles() as with most other components?

@mbrookes You are right, that would be better 👍.

@agoldis Knock knock! still working on this?

any movement on this? we are having issues with this styling!

Closing due to lack of movement. @agoldis feel free to reopen if you have time to pick this up, or, if anyone else wishes to, please pull from @agoldis branch, amend and re-submit.


Add python3 to Govuk_node_list

Ensure the script functions as intended
Make sure there is no more SNI warning based on python versioning

Woa - are we taking a big leap into the future and embracing Python 3? 😱


Empty anchor tags causes a crash

Hello! Great project!
I found that magic url crashes when trying to parse empty anchor tags. This happened when we provided a quill field with some initial value. The smallest input I found to recreate this was .

Thanks for submitting this issue. It will be fixed in version 4.1.5.


Creating a network with >10 genes without an account freezes UI

Creating a network with >10 genes without an account gives an error that blocks the user. It should block the user because it's breaking a limit, but not break the interface and prevent the user from doing anything. Feels like the order of events is perhaps not quite right. Lawal please take a look...

@marco-brandizi we should make sure this is in the UI testing if it isn't already.

It's better to create a test template (a new .md) about interactions with knetspace. Better than having all sort of UI tests in one doc only.


(feat) Update Spark Chart

Add NOTES.txt
Use template helper
Move to stable

Existing PR for reference -- https://github.com/kubernetes/charts/pull/163

lgtm, was able to successfully deploy and access the portals

Also tested manually by running the getting started tutorial. Worked a treat. Thanks @lachie83!


Extension rule addition

Added the addition rules for several distributions.
If precision is the first argument (ignoring 'nothing') then it returns the precision parameterized distribution.
Test scripts work. If this part is correct I will move on to the rules of the normal distributions.
Should the test scripts be updated as well ?

Hi Amaan,
Thanks for the first PR. We really appreciate the effort.
We have some comments regarding the PR (it is quite extensive, but it is meant as a complete overview for following PRs):

Indeed we would also like you to implement the test scripts. Not only will they make sure that the package will become less error-prone, it will also check whether the new update rules are implemented correctly. For each (typed) rule we would like to see about 3 tests.
Be careful with the return type when there is a NormalDistributionsFamily as input, such as in
https://github.com/biaslab/ReactiveMP.jl/blob/c801283940a74ac56ed2802b689b74764a8cb289/src/rules/addition/in1.jl#L3
The NormalDistributionsFamily is the union of the UnivariateNormalDistributionsFamily and MultivariateNormalDistributionsFamily types. As these have different dimensionalities (univariate vs multivariate), we cannot immediately infer what the dimension of the output should be and therefore we would not know directly whether to return NormalMeanVariance() or MvNormalMeanCovariance(). As a fix we would recommend to only specify ruls for  UnivariateNormalDistributionsFamily and  MultivariateNormalDistributionsFamily (or subtypes) and not for NormalDistributionsFamily.
Make sure to use the cov() function for multivariate normal distributions instead of the var() function, as var() will only return the diagonal of the covariance matrix, e.g.
https://github.com/biaslab/ReactiveMP.jl/blob/c801283940a74ac56ed2802b689b74764a8cb289/src/rules/addition/in1.jl#L16
As a habit we would recommend to use cov() exclusively for multivariate distributions and var() exclusively for univariate distributions.
As a habit try to always use mean_cov() (or similar) when you need multiple statistics of the normal distribution, e.g.
https://github.com/biaslab/ReactiveMP.jl/blob/c801283940a74ac56ed2802b689b74764a8cb289/src/rules/addition/in1.jl#L6
would then become

@rule typeof(+)(:in1, Marginalisation) (m_out::PointMass, m_in2::MultivariateNormalDistributionsFamily) = begin

  # extract parameters
  min2, vin2 = mean_cov(m_in2)

  # return distribution
  return MvNormalMeanCovariance(mean(m_out) - min2, vin2)

end

Keep in mind that in the MvNormalPrecision type we have access to the precision matrix (without requiring inverses) and in the MvNormalMeanCovariance type we have access to the covariance matrix. Therefore some addition rules can be further optimized such as
https://github.com/biaslab/ReactiveMP.jl/blob/c801283940a74ac56ed2802b689b74764a8cb289/src/rules/addition/in1.jl#L7
to

@rule typeof(+)(:in1, Marginalisation) (m_out::PointMass, m_in2::MvNormalMeanPrecision) = begin

  # extract parameters
  min2, win2 = mean_precision(m_in2)

  # return distribution
  return MvNormalMeanPrecision(mean(m_out) - min2, win2)

end

The cov() and precision() functions just extract the corresponding matrices from the multivariate distributions. Conversion of these matrices should be performed using cholinv() (or by 1/... for scalar values). Although in this node we do not need it as we can change the return type. If we then later on need its inverse, then ReactiveMP will automatically handle this, but in this way we at least prevent inversion within this rule e.g.
https://github.com/biaslab/ReactiveMP.jl/blob/c801283940a74ac56ed2802b689b74764a8cb289/src/rules/addition/in1.jl#L54

@rule typeof(+)(:in1, Marginalisation) (m_out::MvNormalMeanPrecision, m_in2::MvNormalMeanPrecision) = begin

  # extract parameters
  mout, vout = mean_cov(m_out)
  min2, vin2 = mean_cov(m_in2)

  # return distribution
  return MvNormalMeanCovariance(mout-min2, vout + vin2)

end

Codecov Report

Merging #30 (3df07a4) into master (f8ac3f3) will decrease coverage by 2.68%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #30      +/-   ##
==========================================
- Coverage   41.46%   38.78%   -2.69%
==========================================
  Files         101      104       +3
  Lines        2667     2671       +4
==========================================
- Hits         1106     1036      -70
- Misses       1561     1635      +74

Impacted Files
Coverage Δ

src/rules/addition/in1.jl
100.00% <100.00%> (ø)

src/rules/addition/in2.jl
100.00% <100.00%> (ø)

src/rules/addition/out.jl
100.00% <100.00%> (ø)

src/macrohelpers.jl
50.00% <0.00%> (-36.12%)
:arrow_down:

src/nodes/gcv.jl
0.00% <0.00%> (-33.34%)
:arrow_down:

src/ReactiveMP.jl
0.00% <0.00%> (-33.34%)
:arrow_down:

src/score.jl
12.50% <0.00%> (-25.60%)
:arrow_down:

src/rule.jl
48.35% <0.00%> (-16.66%)
:arrow_down:

src/approximations/gausshermite.jl
7.69% <0.00%> (-7.70%)
:arrow_down:

src/rocket.jl
0.00% <0.00%> (-6.39%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


[NIFI-2038] [NIFI-2144] [NIFI-2031] [NIFI-2036] [NIFI-2037]

For NIFI-2038

For #header .component-button, height and width properties are declared twice at 40px and 56px. Should only be 56px
Icons (#header .icon and #header .fa) should be 32px (NIFI-2037)
Looks like #header .icon will need padding-left:6px added to center them within the buttons (once size is updated to 32px)
The version of each icon with a plus should display on hover. Currently it only shows once you start dragging
When button is click and while dragging, set cursor to cursor:grabbing

See mockup as example (nifi-drag-drop-component.png)

NIFI-2144 looks good – seeing the correct icons in place.

NIFI-2031 looks good
For NIFI-2036, NiFi logo seems to sit a little low after the other toolbar changes. Please change margin:0 20px 0 15px; to margin:0 20px 3px 15px;
For NIFI-2037 #header .icon and #header .fa should be font-size:32px

@moranr I have addressed all comments and updated the PR.
@mcgilman ready for review please sir

Everything is looking good!

Looks good @scottyaslan! This has been merged to master. Thanks!


Can't use Smoker and Campfire (and possibly blast furnace) for Smelting Quest Requirements.

What is your Quests version / build number (do not say "latest")?
3.8.0-b35
Describe the problem and how to replicate it. Any console errors to post using Pastebin.com?
Quest requires to smelt cod and potato specifically, and using a Furnace counts towards the smelting, but using a Smoker and Campfire did not count towards it. If I had to guess, the same would be true for other blocks and the Blast Furnace. The quests were created with 3.7.8 on 1.13.2 if that matters.
If applicable, can you provide an example quest from quests.yml using Pastebin.com?
https://hasteb.in/zeludiha.yaml

This is intentional because Quests tries to remain compatible with older versions of Minecraft which do not have those items. However, it’s not impossible to get this working while maintaining compatibility. I’ll certainly be looking into this in the future, but it’s currently low priority.
Sent with GitHawk

I'm not sure exactly how it all works, but what about a check for if the Server version is 1.14+ then also include those other blocks? That way if it's 1.13.x then it'll just skip that check and not even try to recognize that those blocks would even exist. Just a thought.


Customize Building Colors

Would it be possible to have customizeable building BCI colors? I'm colorblind and it's really difficult to tell the green best BCI building from the yellow(?) next best buildings. Reading the numbers works, but it'd be great for the "at a glance" factor.

There is a setting for this already.  It's in Options.  Did you mean something else?

Issue #20 was when this was added

Whoops, my bad. I saw the light blue for the upgrades and didn't realize the ones below it were for the buildings and not just the upgrades. Thanks!

No problem! =)


Can't get it to work

I want to post a JSON. I have tried:
 jpost("https://www.googleapis.com/urlshortener/v1/url?key=$api-key",
			     to-json({:longUrl<$this-url>}),
			     :Content-Type<application/json>,

and several other possible ways. I get 400 response; I'm trying to tap https://developers.google.com/url-shortener/v1/getting_started
I'm getting "Bad request" all the time, indicating the longUrl parameter has not been set correctly.

OK, the problem was with the :longUrl<$this-url> which was literally passed, instead of evaluating $this-url. My fault.