re-order the collection index page

Order collections index so newest are first

Coverage remained the same at 95.712% when pulling f01008385d7942b03b5c4a94d9e879acd1c0053b on DEC-1302 into 278d130952012643d969610bb43bf63a41943b5f on master.

Coverage increased (+0.002%) to 95.714% when pulling 4f57163fce2417a75035be050e56998d4f34c7f1 on DEC-1302 into 278d130952012643d969610bb43bf63a41943b5f on master.


Create upgrade / update guide

Since it may be non-obvious for those new to Docker.
Basically, the easiest way is to go into each directory in the home folder (in this example, Pi-hole), and pull the images using docker-compose, then restart so it's running the latest image:
# Pi-hole update example
cd ~/pi-hole
docker-compose pull  # pulls the latest images inside the compose file
docker-compose up -d --no-deps  # restarts necessary containers with newer images
docker system prune --all  # deletes unused container images

You would need to do that manually inside each of the associated docker-compose-containing directories from time to time.
It might be good to do the following so this can be somewhat automated:

Create a separate playbook or task file that backs up all the relevant configurations/Docker volumes (most notably, pi-hole).
Create a playbook that upgrades all images (doing the above, but in each managed directory).
Add documentation on how to run the playbook (and recover from backup in case of failure).

Maybe don't do the system prune by default in case someone does need to quickly recover back to an older image with a backup restore.

For backup for Pi-hole at least, in the GUI you can go to Settings > Teleporter and click 'Backup'. To automate it through the console, you can run pihole -a -t (need to test that out via docker-compose exec to see how easy it is to integrate with something like my geerlingguy.backup role.

Hi,
a question about the prometheus image - a specific version of the images is pulled (prom/prometheus:v2.25.2) in the internet-monitoring/docker-compose.yml. Is there any reason for that, any issue to not use prometheus:latest ?

@emamajan - Honestly I don't remember if that was a change I made or I inherited from the original internet-monitoring code I forked... one thing to note is that of all the services that make up this playbook, prometheus and grafana are the two with the fastest development velocity and most prone to breaking with a version bump, so using latest means a little more maintenance to keep the configs in sync.

@geerlingguy - thanks for the clarification. Yes it will require more maintenance work, I agreed, but I was thinking about the update process and I believe the  docker-compose pull will not update to newer images if a specific image version is used, so I switched to the latest version and it works fine (at least now).

Added the simple update guide for Pi-hole to the README. Also see #188 which can help automate the process.


[language][resource-viewer] remove diem dependencies

This removes all diem dependencies from the resource-viewer by refactoring its core APIs and splitting out the Diem APIs into a separate crate.

/land

/cancel

@tnowacki could you please stamp this again? Thanks! Had to resolve a merge conflict

/land


fix db/id nil issue

The db/id issue is a bug that I introduced when debugging our stuff... adding some conditional checks... what doing if (idx > 0) ... else null... the thing is db/id is 0. So it was returning nil in getValueByIndex on the DB instance. This fn is used by the LazyIterator/DBEntry stuff. Ultimately I should not have those conditionals in there at all... very slow... for such low level code and with the idea that conceptual is designed to be fast with sharp edges. Any range / value checks should be done with a wrapper shim... and only when needed.


Update Unity ads plugin

Implement Unity Ads SDK 4.0.1
Unity Ads SDK 4.0.1 includes updates that are designed to help you maintain compliance with Google Play Store platform policies and reduce ad display issues. Please note these updates are not related to Google Play’s Families Policy. We will provide guidance on how to update your game to comply with the Google Families Policy April 1 requirements in the coming weeks.
Implement our latest version to reduce the risk of app rejection during the Google Play Store review process and improve ad rendering in your app.
Can the plugin get updated please?

There are changes that must be ready for Apr 1st.
Documentation is

Thanks guys!


Get interpolated property values quality "ANY"

What happened:
Updated the "Quality" setting of Get interpolated property values to "GOOD" then "ANY" and saw an error:

What you expected to happen:
Data is successfully fetched for any quality.
How to reproduce it (as minimally and precisely as possible):

Add a query for "Get interpolated property values"
Choose an asset and asset property (DOUBLE value type)
Change the "Quality" setting to "GOOD"
Change the "Quality" setting to "ANY"
See the error

Screenshots
https://github.com/grafana/iot-sitewise-datasource/assets/87385528/b1de01a8-e37e-4fa1-b58d-d647359fbc39
Anything else we need to know?:
Environment:

Grafana version: 9.4.0
Plugin version: 1.12.1
OS Grafana is installed on: MacOS
User OS & Browser: Sonoma 14.5, Chrome
Others: Amazon Managed Grafana environment

Tested again on the plugin version 1.20.0 and saw the same issue.

I was able to recreate this on 1.21 as well. The first time with Any selected succeeded, then the second time failed. Going to share this with the team to see if we can prioritize it, I imagine an easy fix.


Infostate Tree Memory Usage

I've been working on using the new LP tools to solve some games, including poker subgames and was wondering if anyone had any ideas for optimizing infostate trees and their memory usage.
It seems like there are lots of calls to .Clone or .Child, specifically with subtree rebalancing and updating the leaf nodes. It doesn't seem like std::vector<std::unique_ptr<State>> corresponding_states_ is used for anything at the moment either.
There are a number of other things that seem like they could be cut directly for my own work, but I was wondering if there was an approach more inline with open spiel as a whole that might help.
Thanks in advance for the help!

@michalsustr, can you comment on this?

There are a number of other things that seem like they could be cut directly for my own work, but I was wondering if there was an approach more inline with open spiel as a whole that might help.

I have tagged the original author, he might have some suggestions, and maybe we can remove some of the stuff that is unused or unnecessary.
But I would say if you can easily cut stuff for your own work, go right ahead. We designed OpenSpiel with "hackability" as a target property -- if it is easy to jump in and cut stuff out and customize for your own use cases then that's great.. it's exactly what we were hoping for, and what you should do.

Hi @dpmaloney, unfortunately I'm just not familiar with that code, so I can't really answer. I'm not sure why there would be any rebalancing (or storing / copying of states at all), so I will contact the author by email to ask him to follow-up.

Hi @dpmaloney !

was wondering if anyone had any ideas for optimizing infostate trees and their memory usage.

Recently @milecdav wrote some code that constructs the infostate trees for both players without maintaining the corresponding states https://arxiv.org/abs/2112.10890 . However, the problem is that you need to avoid building the leaves with terminal utilities, because you will still encounter a large memory blowup. A special leaf evaluator is needed that can work with just the $n$ possible poker hands and beliefs (ranges) -- one such evaluator that works with $O(n)$ complexity is described here:  https://poker.cs.ualberta.ca/publications/ijcai2011_accelerated_best_response.pdf (section on Efficient Terminal Node Evaluation).
I think we can publish the code if @milecdav is fine with it.
To answer other questions:

Is there a lighter/and perhaps just as memory safe way to do ApplyAction/Child? Smart pointers make this tough as is, but at the moment that is my big bottleneck.

I don't understand. These are the methods on State and it is a standard interface. If you wanted to optimize Poker, it would be probably useful to reimplement it properly in OpenSpiel instead of wrapping ACPC implementation.

Is LeafID ever assigned? Very possible I’m just not seeing something but it doesn’t seem used ever.

Hmm I think I didn't use LeafIds in the end :-) I think the idea was to use them to connect the infostate trees together, like in the sequence form LPs, but only array indices were used in the end.

Same with corresponding_states, I just removed them but I’d love to know the motivation behind the implementation. It seems like https://github.com/deepmind/open_spiel/issues/398 had some discussion about some payoff matrix struct, so maybe this is supposed to emulate that in a way?

I have an implementation that selectively stores them or not, based on intended usage. I used them mostly to be able to build continuations of subgames for continual resolving.

Is rebalancing necessary? I’m currently just implicitly adding all leaf nodes to the last row of the node depth table, which seems to work fine without needing to add in filler nodes.

This is used in infostate cfr implementation  (not in master) as it speeds up some evaluations.

I think I could put out some of the more mature code I made as it could be beneficial to more people. The thing is sometimes I used shortcuts and hacks even to the core library and it could take some time to disentangle everything. Also it's quite a bit of code -- just to give you an idea, I'm almost 800 commits off master.

@michalsustr , the code you are referring to by @milecdav would be poker-only, though, right? It's not a general implementation that does not store states?

Recently @milecdav wrote some code that constructs the infostate trees for both players without maintaining the corresponding states https://arxiv.org/abs/2112.10890 . However, the problem is that you need to avoid building the leaves with terminal utilities, because you will still encounter a large memory blowup.

Yes, true, but probably not worse that the blow-up (and slow-downs due to rebalancing) of having to store full states?
As in, it might be good to have an info set tree implementation that builds the entire game, stores whatever is necessary for computing payoff values, and can still be used by the LP methods? Or, alternatively, a general implementation of sequence-form strategies that we could build sparse matrices from to send to LP solvers. This is something I would have loved to have on many occasions, would love to see it in OpenSpiel.

@michalsustr , the code you are referring to by @milecdav would be poker-only, though, right? It's not a general implementation that does not store states?

Yes, that is correct.

As in, it might be good to have an info set tree implementation that builds the entire game, stores whatever is necessary for computing payoff values, and can still be used by the LP methods? Or, alternatively, a general implementation of sequence-form strategies that we could build sparse matrices from to send to LP solvers. This is something I would have loved to have on many occasions, would love to see it in OpenSpiel.

I think this might get at the heart of my question, I'm trying to implement/develop some techniques for reducing the size of the payoff matrix that are game-agnostic so this would also be something I'd love to have.
@michalsustr, my main goal is to do work with LP solving for larger games, so I think I need to compute the terminal utility beforehand, but I think the motivation behind my question about ApplyAction and Child was just wondering how much data we actually need for just LP solving.
I'd be happy to take a crack at working on something like this, but I don't want to step on any toes with the implementation so please feel free to follow up with any discussion that might be helpful.

Hi @dpmaloney, yeah what I'd really love is to have a data structure to represent sequence-form strategies (much like we have for behavioral strategies, e.g. TabularPolicy).
But even separately from that, if you have a high-enough level API for the front end of your LP solver then you can build everything you need in one full-game tree pass. You can see how it's done on the python side here (code is a fairly dense though): https://github.com/deepmind/open_spiel/blob/master/open_spiel/python/algorithms/sequence_form_lp.py. This doesn't need any storing.
And hopefully, the solutions would be returns as general sequence-form strategy objects that can return a behavior policy on demand via ToTabularPolicy.
I think it would be fine to have this implementation in addition to the current one especially for use cases like yours where you're memory-bound. It'd a fairly hefty contribution, but I think it'd be as easy as copying over what's done on the Python side. It'd be quite a good one to have and would happy to explain some of the Python implementation if necessary.
Let me know what you think!


Potential New Hire: Product Marketer

@charlescook-ph and I previously discussed hiring a new Product Marketer in Q2, as the number of products was growing fast and I was getting pretty stretched. It took a back-burner for a while as the Comms team formed and I focused on support, but it's something we may want to think about in the future.
It's a non-urgent hire, but I've put the below down to fuel discussion. This person would basically take on some of the work I already do, want to do, or don’t know how to do. We'd probably split the teams between us, but no strong thoughts on how yet.
We’re calling this role product marketing, but it’d be important to stress that this person needs to be hands-on and a creative at heart. We don’t want someone who writes internal positioning statements or whitepapers. We want someone who’ll execute well and be happy leading new initiatives. Think: Less content, more startups.
Is this a new role or a replacement?
New role.
Job summary
As a Product Marketer, you’ll drive adoption, engagement and awareness of PostHog. You’ll do this by directly supporting both our Engineering and CS teams, amongst others.
Product Marketers at PostHog are hands-on, T-shaped people who take on a lot of very varied responsibilities to support other teams. You won’t be planning mission statements or writing boring whitepapers; you’ll be one of the key voices for our company in a very visible way, often taking the lead on our newest launches or weirdest ideas.
You’ll also be an advocate for users and will be comfortable talking to them on a constant basis.
What you’ll be doing
You’ll be supporting our engineering teams by leading comms for their products, while also arming other teams (like CS) with whatever they need to be successful. That’ll mean...

Planning and running launch campaigns
Sourcing and creating case studies which illustrate common (or cool) use-cases
Running email experiments to help us increase retention, activation, other metrics
Writing great copy for our website, emails, changelog, and more
Helping us grow special programs such as PostHog for Startups
Maybe doing partnerships too? We don’t know how important this is yet

Requirements
Must haves...

Excellent writing, researching, and communication skills
Experience working as a product marketer, growth marketer, or content marketer
Experience working on a technical product, or targeting developers as customers
Experience running email campaigns, GTM campaigns, sales partnerships

Very nice to haves...

Familiarity or experience with data warehouses, CDPs and things like Clickhouse
You don’t have to be more technical than Joe, but it’d help (and isn't hard)

Team + Logistics
You’ll be on the Comms team. Your team lead is Joe.
There’s no specific start date for this role.
Ideal interview flow
Joe should lead first interviews / technical screen, before passing to James/Charles for culture fit.
A one-day Superday should be enough. In the peer review this person should meet someone from the Marketing or Growth team as they’ll likely end up collaborating with them extensively. It may also be wise to introduce them to @corywatilo  to see if they really get the brand.
Do we have a salary benchmark on the calculator already?
Yes.

I have thoughts!

Broadly this looks good! Now I will list many ways I think you should change it, as is tradition.
Personally, I think a big part of product marketing at PostHog is making us look well-put-together and (for want of a better word) professional to the outside world in a coherent way. I think that is almost the overarching mission here, vs. supporting other teams. This person ultimately directly communicates with more of our users than anyone else in the company through changelog, onboarding etc.
I'd put case studies lower down - they aren't as important as emails for example?
Can you point to cool things you have done/link to useful examples like changelogs, pricing announcements etc.?
I really like a what you'll not be doing section in these specs:

Crafting product mission statements
Writing boring corporate whitepapers
Owning website copy - you will chip in to help, but the Website team actually owns this

In a perfect world, would we want more technical then you? If so, let's start with that as a requirement and then change if we can't get the candidates (e.g. an engineer who became a product marketer I assume would be a good candidate?)
I'd suggest this process:

Joe review applicants in Ashby (I think this is better than people team doing because it's effectively a new role for us)

People team culture interview

Technical interview with Joe

Founder interview with James H

SuperDay, inc. meet Tim, peer team interview with Charles + Andy + Annika maybe? (I don't think Cory as tbh he has enough on already and I will be able to check vibe with brand)

Personally, I think a big part of product marketing at PostHog is making us look well-put-together and (for want of a better word) professional to the outside world in a coherent way. I think that is almost the overarching mission here, vs. supporting other teams. This person ultimately directly communicates with more of our users than anyone else in the company through changelog, onboarding etc.

Agree we can emphasize this. I think we may need to link this up in contrast to other typical product marketing responsibilities (like one-pagers, decks, etc) but I'll drop an updated version below shortly.

I'd put case studies lower down - they aren't as important as emails for example?

Can do, but I think there's still lots we could do there.
As an aside, chatting with @simfish85 and I think it'd be good to have this person also totally own and grow the startups/YC program too. Or else take something off my plate so I can invest more time there. There's a lot we can do with startups especially, I think - it's just bottlenecked right now.

In a perfect world, would we want more technical then you? If so, let's start with that as a requirement and then change if we can't get the candidates (e.g. an engineer who became a product marketer I assume would be a good candidate?)

I think this is something we can be flexible on. We need someone who is at least as technical as me and able to learn fast. An engineer who became a product marketer would be a good candidate, but I don't think we need some who has full-stack experience. They just need to be reasonably techy and (most importantly imho) hands-on.
A lot of PMMs I've worked with are not hands-on. They are people who make the plan, but don't do the plan. We want someone who'll own their ideas test them out to the point of proof, and iterate.

I'd suggest this process:

Joe review applicants in Ashby (I think this is better than people team doing because it's effectively a new role for us)

People team culture interview

Technical interview with Joe

Founder interview with James H

SuperDay, inc. meet Tim, peer team interview with Charles + Andy + Annika maybe? (I don't think Cory as tbh he has enough on already and I will be able to check vibe with brand)

This works for me.

Ok, sounds good to me! @jamesefhawkins any thoughts on this before we turn it into a spec?

Updated version based on comments and a good nights' sleep...
Is this a new role or a replacement?
New role.
Job summary
As a Product Marketer, your job is to distil the sometimes chaotic happenings within PostHog into something more coherent. You'll focus on on driving awareness, adoption, and engagement of all our products. You'll collaborate with our sales team, engineers, marketers, and users to strengthen our position as the default all-in-one devtool.
Product Marketers at PostHog are hands-on, T-shaped people who take on a lot of varied responsibilities to support users and other teams. You’ll be one of the key voices for our company and will be comfortable being very visible to users, often taking the lead on our newest launches or weirdest ideas.
Some things you will be doing

Planning and running launch campaigns, onboarding experiments, and product announcements
Helping us grow special programs, such as PostHog for Startups, to make us a default tool for developers
Maybe doing partnerships too? We don’t know how important this is yet, but we're excited to find out
Writing great copy for our website, emails, changelog, notifications, docs, anywhere else
Talking to users on a pretty much constant basis and distilling what you learn into case studies or feedback

Some things you definitely won't be doing

Writing whitepapers, mission statements, or brand guidelines that nobody asked for.
Focusing on strategy alone. You'll need to make the plan, then do the plan.
Spending multiple quarters planning big projects which don't have immediate impact.
Running yawn-worthy webinars and bombarding users with invitations to attend.
Chasing vanity metrics or asking people to swap their email for your exec summary.

Requirements
Must haves...

Excellent writing, researching, and communication skills.
Experience working as a product marketer, growth marketer, content marketer, or similar
Experience working on a technical product, or targeting developers as customers
Experience running email campaigns, GTM campaigns, sales partnerships

Very nice to haves...

Familiarity or experience with data warehouses, CDPs, Clickhouse, or SQL
You don’t have to be more technical than Joe, but it’d help (and isn't hard)

Team + Logistics
You’ll be on the Comms team. Your team lead is Joe. There’s no specific start date for this role.
Ideal interview flow

Joe review applicants in Ashby
People team culture interview
Technical interview with Joe
Founder interview with James H
SuperDay, inc. meet Tim, peer team interview with Charles + Andy + Annika maybe?

Do we have a salary benchmark on the calculator already?
Yes.


git-tower: Add version 4.0.410

Closes #9432

[x] I have read the Contributing Guide.

/verify

/verify

/verify

/verify

/verify

/verify

Does anyone know why the autoupdate hash extraction does not work?

@rashil2000 I need help please.

/verify

You sould use F12 to check if the version number has been popped instead of using checkver.script... The latter is provided as a fallback option 😄


Net7 Isolated Functions Logging - Console not working, AppInsights almost working

We have just migrated from net6 in-process to net7 isolated and the logging is a proving extremely challenging.  We have two use cases:

Locally we want to log debug ILogger (DI injected to constructor) to the console
Production we want to log to App Insights.

Our setup is as follows:
host.json:
{
  "version": "2.0",
  "logging": {
    "logLevel": {
      "default": "Warning",
      "Host.Aggregator": "None",
      "Host.Results": "None",
      "Microsoft": "None",
      "Microsoft.Hosting": "None",
      "Microsoft.Hosting.Lifetime": "None",
      "Microsoft.AspNetcore": "None",
      "Microsoft.AspNetCore.Mvc.Internal": "None",
      "Microsoft.AspNetCore.Authentication": "None",
      "Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware": "None",
      "Microsoft.Extensions.Http.DefaultHttpClientFactory": "None",
      "Microsoft.Extensions.Hosting": "None",
      "System.Net.Http.HttpClient": "None",
      "Worker": "None"
    },
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  }
}

Code:
public IHost Build(Action<HostBuilderContext, IServiceCollection> configureServices) => new HostBuilder()
            .ConfigureAppConfiguration(ConfigurationBuilder.Configure)
            .ConfigureLogging(ConfigurationBuilder.ConfigureLogging)
            .ConfigureFunctionsWorkerDefaults(ConfigurationBuilder.ConfigureFunctions)
            .ConfigureServices(configureServices)
            .Build();

public static class ConfigurationBuilder
{
    public static void Configure(HostBuilderContext hostContext, IConfigurationBuilder configurationBuilder)
    {
        if (hostContext.HostingEnvironment.IsDevelopment())
        {
            var entryAssembly = Assembly.GetEntryAssembly();
            if (entryAssembly != null)
            {
                configurationBuilder.AddUserSecrets(entryAssembly, optional: true, reloadOnChange: false);
            }
        }
        if (hostContext.HostingEnvironment.IsProduction())
        {
              // Key Vault in prod
        }
    }

    public static void ConfigureFunctions(HostBuilderContext hostContext, IFunctionsWorkerApplicationBuilder builder)
    {
        if (hostContext.HostingEnvironment.IsProduction())
        {
            // At the moment this stops all logging except at warning or above
            // https://github.com/devops-circle/Azure-Functions-Logging-Tests/blob/master/Func.Isolated.Net7.With.AI/Program.cs
            builder
                .AddApplicationInsights()
                .AddApplicationInsightsLogger();
        }
    }

    public static void ConfigureLogging(HostBuilderContext hostContext, ILoggingBuilder builder)
    {
        if (hostContext.HostingEnvironment.IsDevelopment())
        {
            builder.AddConsole();
        }
    }
}

I'll start with AppInsights.  We've managed to mostly get this working looking through various other issues that people have raised but we are seeing a lot of Dependency messages logged which we were not seeing before:

You can see when we first deployed ney7 Isolated and we started seeing thousands of dependency messages logged like so:

How do we stop these?
Locally we want to see debug messages but not the noise from the host/functions, just our DI injected ILogger messages, how do we see these as no matter what we try unless we change the host.json default to Debug we don't see anything and if we do that we see everything, including all the noise.

You can disable dependency logging like this:
worker
    .AddApplicationInsights(options => options.EnableDependencyTrackingTelemetryModule = false)
    .AddApplicationInsightsLogger();

You can see the difference below, the point we upgraded from Net6 in-process to Net7 isolated:

No lother logging changes have been made, we are adding AppInsights as shown above with EnableDependencyTrackingTelemetryModule set to false.

@brettsam Thanks for responding, we will try preview4.
One dependency example:
Event time | 4/11/2023, 7:00:07.6528543 AM (Local time) |
-- | -- | --
Type | Azure.Functions |
Call status | true |
Duration | 3 ms |
Name | Invoke |
Operation Id | 65de88a2190bffc3e0f0099e185d7282 |
Parent Id | 6e39ef22710abca1 |
Id | 18ee7c1b8bc31f5e |
Base name | Invoke |
Performance | <250ms |
Telemetry type | dependency |
Operation name | ---|
Application version | <IP_ADDRESS> |
Device type | PC |
Client IP address | <IP_ADDRESS> |
Role name | ---|
Role instance | 178020b13b92f608947c034a551bdaf842c1d4ce8b5631a94eb52c25d92c256c |
SDK version | azurefunctions-netiso: <IP_ADDRESS> |
Sample rate | 1 |
InvocationId | acd0e821-0816-49ed-8b71-b41611317135 |
-- | -- | --
ProcessId | 2696 |
Name | ---|

@brettsam Still no luck, we upgraded to preview4 of the app insights and console logging still not working.  When you said this is fixed was there any additional config changes needed?
I tried not registering app insights locally when running in development and just call builder.AddConsole() and still no debug messages will appear on the console.  Only  warning, error and critical.  This was never a problem on in-process in net6, all worked without issue so something has changed.

OK, I've managed to get this working again locally.
I have changed the local.settings.json to override the Function loglevel like so:
 "AzureFunctionsJobHost__logging__logLevel__Function": "Debug",
I have also had to modify our local configuration loaded from user secrets to include a logging section like so:
"logging": {
   "logLevel": {
	"default": "Debug"
   }
},

I have also had to change our ConfigureLogging to look like this:
 public static void ConfigureLogging(HostBuilderContext hostContext, ILoggingBuilder builder)
    {
        if (hostContext.HostingEnvironment.IsDevelopment())
        {
            // This is needed as it isn't picking up the logging section from the user secrets
            builder.AddConfiguration(hostContext.Configuration.GetSection("logging"));
        }
}

Once all of this is done we are now seeing the console logging locally we were seeing before moving to .net7 Isolated.

@RichardBurns1982 we're reviewing what you've shared and some of the steps above seem unnecessary. Would you be able to share your repro in a repo so we can take a look at the code there?

@fabiocav Repo here: https://github.com/RichardBurns1982/azure-functions-issue-1415
Unless all steps mentioned above are included debug messages are not shown in console

@RichardBurns1982 host.json values do not apply to the worker process. You will need to configure that separately. You can use appsettings.json to be in line with other dotnet apps, however that file is not added as a config source by default and you will need to add it yourself.
Additionally, I wonder if your check of hostContext.HostingEnvironment.IsDevelopment() is ever evaluating to true? Is the "ENVIRONMENT" == "Development" variable ever making it into configuration?

As for your concern with the dependency telemetry when using our application insights package, this is the point of our package. You have a couple options available to you to avoid these telemetry items:

Don't use the package (which you already discovered)
Add an ITelemetryProcessor which filters out the dependency items you do not want to track.

See https://learn.microsoft.com/en-us/azure/azure-monitor/app/api-filtering-sampling?tabs=javascriptwebsdkloaderscript#c
After writing the telemetry processor, you can use the DI helper: services.AddApplicationInsightsTelemetryProcessor<MyTelemetryProcessor>();

@jviau Thank you for the responses.  I have tried the following:
Changed to use Host.CreateDefaultBuilder()
Added an appsettings.json
Removed logging:logLevel from host.json
This did work locally for debugging but when deployed to Azure app insights exploded with logs from host.result (over 100k in 15 minutes).
But if we set the logging:logLevel in host.json it stops the local debug messages unless we set:
"AzureFunctionsJobHost__logging__logLevel__Function": "Debug",
It feels like the log levels we are trying to set in appsettings.json (or from user secrets) are competing with the log levels we set in host.json.
Does this sound right that host.json is overriding what we have set in appsettings.json or user secrets locally when debugging.  We don't want to change host.json.
I'll continue to experiment with this but appreciate any insights.

You will want to set log levels in both host.json and appsettings.json. These are for the host and worker process respectively, so you want to configure log filters for them both.
For log levels when using the app insights package, they don't override each other - they are separate packages.

Thanks @jviau
I will update the repo with the problem we are seeing.
If we swap to Host.CreateDefaultBuilder() then when deployed to Azure App Insights begins filling up with a lot of TRACE messages.  We can stop these by setting host.json to:
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true
      }
    },
    "logLevel": {
      "default": "Warning"
    }
  }
}

But doing this stops all logging below Warning locally when we are debugging unless we set:
"AzureFunctionsJobHost__logging__logLevel__Function": "Debug",
Our goal is that locally developers can turn logging on and off simply by changing their user secrets with no need to edit either host.json or appsettings.json.
I will try to get the repo updated this morning, failing that it will be early next week.
Many thanks again for all your help.

@RichardBurngs1982 there are a couple tools you can make use of here:

Use category specific filters in configuration.
Use per-environment appsettings.json See here, specifically this bullet point:

appsettings.Environment.json using the JSON configuration provider. For example, appsettings.Production.json and appsettings.Development.json.

For host.json, can you leverage local.settings.json?

A side effect of this appears to be that there is no way to filter these types of logs out:
Executing 'Functions.SayHelloActivity' (Reason='(null)', Id=bf1b4936-c05e-4dde-8f07-7bb00d3767d6)

while retaining Information-level logs from ILogger in the console. This is due to the preceding log line co-habitating the category Functions.SayHelloActivity with the app logs emitted from ILogger

Closed without a resolution? This seems to be becoming more common these days...

@joeyeng this is now a "solved" problem 😁
Please lookup #1182 where I illustrate how to reliably have full control on your logging experience in your function apps running as an isolated worker process.


Add code formatting to k8s hosted flags.

Makes the params look better in http://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/hosted/k8s-backend/

LGTM.


Health of the ennemy

Is it possible to make so we see the health of our opponents and not the %? ty

Duplicate of #1788


Add SNTP app for time synchronization

Fixed with https://github.com/traclabs/brash_docker/pull/26


File manager not working in Firefox

Hello,
I can't load the File Manager when browsing in Firefox.
I couldn't find an existing issue.
Still happens on the dev version, although I get more errors there which may be unrelated too.
Welcome to Authentic Theme 19.62
https://github.com/authentic-theme/authentic-theme bundle.min.js:425:36847
Uncaught Error: Permission denied to access property "apply"
    trigger https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    trigger https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    trigger https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    initComplete https://server:10000/sysinfo.cgi?xnavigation=1 line 2 > scriptElement:6
    o https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    map https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    Ot https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    ot https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    rt https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    h https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    n https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    At https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    Ut https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    Ut https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:155
    __f___u https://server:10000/sysinfo.cgi?xnavigation=1 line 2 > scriptElement:6
    ___f__tw https://server:10000/sysinfo.cgi?xnavigation=1 line 2 > scriptElement:6
    get_pjax_event_end_funcs https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:422
    setTimeout handler*get_pjax_event_end_funcs https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:422
    get_pjax_event_end https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:422
    c https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    add https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    get_pjax_event_end https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:422
    pjax https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:419
    dispatch https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    handle https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    trigger https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    trigger https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    trigger https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    s https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:213
    complete https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:213
    c https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    fireWith https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    k https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    n https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    send https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    ajax https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    n https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:213
    r https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:213
    get_pjax_action_click https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:422
    pjax https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:419
    dispatch https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    handle https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    add https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    Ae https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    each https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    Ae https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    on https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:2
    <anonymous> https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:21
    <anonymous> https://server:10000/unauthenticated/js/bundle.min.js?19629999999999900:21

Hi,
Presumably it's caused by some browsers extensions. Try other Firefox or with disabled extensions. Usually private tab can do it.
It works for me in Firefox.

You're good!


Missing Python Version

I can't seem to find the Python version. Can you provide a link or relevant instructions? Thank you!

+1


Render Tests: test script should pause on failed test

Actual Result
Test script doesn't stop on failed test case.
Expected Result
should stop on failed test case to allow view/save failed image.
Reproduce Steps
Run render tests (inroduce a failure in one of the unit tests)
CC: @javidhsueh

Code Example
To Do List

[x] Add label and assign to milestone
[ ] Coding
[ ] Test

This is no longer valid since we replaced the old render test harness.


[Chef-15] knife bootstrap winrm fails with option --ca-trust-file.

Description

knife bootstrap with winrm communication and with --ca-trust-file fails.
To verify I checked the --ca-trust-file option using Chef-14 version on workstation and this runs successfully on Chef-14 version.
/opt/chef/embedded/lib/ruby/gems/2.6.0/gems/httpclient-2.8.3/lib/httpclient/ssl_socket.rb:103:in `connect': SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate) (OpenSSL::SSL::SSLError)
	10: from /usr/bin/knife:154:in `<main>'
	 9: from /usr/bin/knife:154:in `load'
	 8: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/bin/knife:24:in `<top (required)>'
	 7: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/application/knife.rb:162:in `run'
	 6: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/knife.rb:221:in `run'
	 5: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/knife.rb:473:in `run_with_pretty_exceptions'
	 4: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/local_mode.rb:41:in `with_server_connectivity'
	 3: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/knife.rb:474:in `block in run_with_pretty_exceptions'
	 2: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/knife/bootstrap.rb:548:in `run'
	 1: from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/knife/bootstrap.rb:595:in `connect!'
/opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293/lib/chef/knife/bootstrap.rb:599:in `rescue in connect!': uninitialized constant Train::Transports::SSHFailed (NameError)

Chef Version

Chef Infra Client: 15.0.293
Platform Version

Workstation : Ubuntu 18.04
Node: Windows-2012R2
Replication Case

I have in my knife.rb
ssl_ca_file              "/opt/chef/embedded/ssl/certs/cacert.pem"
In below command I tried setting --winrm-auth-method as 'negotiate' to but it gives the same result.
knife bootstrap ec2-54-185-185-29.us-west-2.compute.amazonaws.com -o winrm --node-name vj-winrmssl --connection-user 'Administrator' --connection-password 'password' --connection-port 5986 --winrm-auth-method 'ssl' -c ~/workspace/chef-repo/.chef/knife.rb --bootstrap-version '14.12.9' --winrm-ssl -r 'recipe[windows_task::default]' --ca-trust-file server_cert.pem -E developement -VV

Client Output

Stacktrace

Chef-15 run log
https://gist.github.com/Vasu1105/eb323e3cde8d16583a26c4e1ae180e15#file-knife-bootstrap-winrm-ssl-with-ca-trust-file-log
Chef-14 run log
https://gist.github.com/Vasu1105/d1430cc2dba8d4d17042b9bcacb9caf4

@btm and @marcparadise https://github.com/inspec/train/pull/449 fixed the Fixes Uninitialized constant error Train::Transports::SSHFailed error. Could you please have a look at it.

DEBUG: [WinRM] @ec2-54-185-185-29.us-west-2.compute.amazonaws.com<{:transport=>:ssl, :disable_sspi=>false, :basic_auth_only=>false, :endpoint=>"https://ec2-54-185-185-29.us-west-2.compute.amazonaws.com:5986/wsman", :user=>"Administrator", :password=>"<hidden>", :no_ssl_peer_verification=>false, :realm=>nil, :service=>nil, :ca_trust_file=>"server_cert.pem", :ssl_peer_fingerprint=>nil}> (Write-Host '[WinRM] Established ')
I found this interesting. There's no mention of the ca_trust_file in the object capture - perhaps train isn't passing it through?

Train is passing this through as ca_trust_path, but WinRM wants ca_trust_file[1]
ca_trust_path was added to train  bootstrap support; while it's technically a released API, it's not working because of this.  Let's change the name to be correct in train[2][3].

https://github.com/WinRb/WinRM/blob/2a9a2ff55c5bbd903a019d63b1d134ac32ead4c7/lib/winrm/http/transport.rb#L270
https://github.com/inspec/train/blob/master/lib/train/transports/winrm.rb#L66
https://github.com/inspec/train/blob/master/lib/train/transports/winrm.rb#L135

https://github.com/inspec/train/pull/450 will address the ca_trust_path/file issue; we still need to rename it in bootstrap.rb.

@Vasu1105 could you confirm this is resolved in latest current builds and close this out?

Yes It's working @marcparadise


Rename HOST -> HOST_NAME environment variable across docs & Compose files

https://github.com/ietf-tools/bibxml-service/issues/308

Created by mistake to upstream


Added AbstractBufferedRollingFileAppender and AbstractClpIrBufferedRollingAppender classes

Description
Added AbstractBufferedRollingFileAppender and AbstractClpIrBufferedRollingAppender classes. The latter is built on top of the former. While both classes are abstract type, they can be easily extended as concrete classes with minimal effort.
Validation performed

Validated unit tests passed.
Installed the package and used a test program to write some logs.
Validated that the logs could be decoded by our closed-source IR stream decoders.

Thanks for addressing comments! LGTM


[🐞] React components hydrating when they shouldn't

Which component is affected?
Qwik React
Describe the bug
React components are hydrating when they shouldn't be. Even if there is no hydration strategy specified they are still getting hydrated under certain circumstances. One of these is SPA navigation, however I believe there to be others I've just had a hard time minimally reproducing other cases.
Reproduction
https://codesandbox.io/p/sandbox/angry-mendeleev-3zpfz9?file=%2Fsrc%2Froutes%2Fblog%2Findex.tsx%3A65%2C25
Steps to reproduce
Click the block on the header
Click the image for a blog post
See that the react button is hydrated and is showing visible
System Info
System:
    OS: Linux 5.15 Debian GNU/Linux 11 (bullseye) 11 (bullseye)
    CPU: (2) x64 AMD EPYC
    Memory: 186.40 MB / 2.01 GB
    Container: Yes
    Shell: 5.1.4 - /bin/bash
  Binaries:
    Node: 18.16.1 - ~/.local/state/fnm_multishells/6627_1689013245749/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.5.1 - ~/.local/state/fnm_multishells/6627_1689013245749/bin/npm
    pnpm: 7.1.0 - /usr/local/bin/pnpm
    Watchman: 20220528.183901.0 - /usr/local/bin/watchman
  npmPackages:
    @builder.io/qwik: 1.2.0 => 1.2.0
    @builder.io/qwik-city: 1.2.0 => 1.2.0
    @builder.io/qwik-react: 0.5.0 => 0.5.0
    vite: 4.3.9 => 4.3.9

Additional Information
https://www.loom.com/share/47a97da6a993431dbabd0b2d355b05cd?sid=d7615c1c-c94d-4e3e-948f-877e40d662a3

Is this still an issue with the latest version of Qwik?


Flutter iOS app crashes on end-users

Is there an existing issue for this?

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

Steps to reproduce
I don't have steps to reproduce. We have thousands of crash reports in XCode Organizer -> Crashes
It is rare enough that we have not reproduced it
Expected results
No crash
Actual results
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Codes: 0x0000000000000001, 0x0000000000000000
VM Region Info: 0 is not in any region.  Bytes before following region:<PHONE_NUMBER>
      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->
      __TEXT                   104fd4000-105078000 [  656K] r-x/r-x SM=COW  ....app/MyApp
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 11 Segmentation fault: 11
Terminating Process: exc handler [12162]

Triggered by Thread:  2

Thread 2 name:
Thread 2 Crashed:
0   Flutter                       	0x0000000106038344 unsigned long std::_LIBCPP_ABI_NAMESPACE::__cxx_atomic_load[abi:v15000]<unsigned long>(std::_LIBCPP_ABI_NAMESPACE::__cxx_atomic_base_impl<unsigned long> const*, std::_LIBCPP_ABI_NAMESPACE::memory_o... + 0 (atomic:958)
1   Flutter                       	0x0000000106038344 std::_LIBCPP_ABI_NAMESPACE::__atomic_base<unsigned long, false>::load[abi:v15000](std::_LIBCPP_ABI_NAMESPACE::memory_order) const + 0 (atomic:1588)
2   Flutter                       	0x0000000106038344 dart::UntaggedObject::ClassIdTag::Type dart::AtomicBitFieldContainer<unsigned long>::Read<dart::UntaggedObject::ClassIdTag, (std::_LIBCPP_ABI_NAMESPACE::memory_order)0>() const + 0 (bitfield.h:47)
3   Flutter                       	0x0000000106038344 dart::UntaggedObject::GetClassId() const + 0 (raw_object.h:349)
4   Flutter                       	0x0000000106038344 dart::ObjectPtr::GetClassId() const + 4 (raw_object.h:796)
5   Flutter                       	0x0000000106038344 dart::RestoreWriteBarrierInvariantVisitor::VisitPointers(dart::ObjectPtr*, dart::ObjectPtr*) + 104 (thread.cc:684)
6   Flutter                       	0x0000000106030404 dart::StackFrame::VisitObjectPointers(dart::ObjectPointerVisitor*) + 1308 (stack_frame.cc:0)
7   Flutter                       	0x0000000106038108 dart::Thread::RestoreWriteBarrierInvariant(dart::Thread::RestoreWriteBarrierInvariantOp) + 388 (thread.cc:777)
8   Flutter                       	0x000000010603f900 std::_LIBCPP_ABI_NAMESPACE::__function::__value_func<void (dart::Isolate*)>::operator()[abi:v15000](dart::Isolate*&&) const + 20 (function.h:512)
9   Flutter                       	0x000000010603f900 std::_LIBCPP_ABI_NAMESPACE::function<void (dart::Isolate*)>::operator()(dart::Isolate*) const + 20 (function.h:1187)
10  Flutter                       	0x000000010603f900 dart::IsolateGroup::ForEachIsolate(std::_LIBCPP_ABI_NAMESPACE::function<void (dart::Isolate*)>, bool) + 44 (isolate.cc:2906)
11  Flutter                       	0x000000010603f900 dart::IsolateGroup::RememberLiveTemporaries() + 64 (isolate.cc:3060)
12  Flutter                       	0x000000010603f900 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason) + 800 (scavenger.cc:1745)
13  Flutter                       	0x000000010603f900 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason) + 5316 (heap.cc:477)
14  Flutter                       	0x0000000105fb31e4 dart::Heap::CollectGarbage(dart::Thread*, dart::GCType, dart::GCReason) + 20 (heap.cc:559)
15  Flutter                       	0x0000000105fb31e4 dart::Heap::AllocateNew(dart::Thread*, long) + 20 (heap.cc:83)
16  Flutter                       	0x0000000105fb31e4 dart::Heap::Allocate(dart::Thread*, long, dart::Heap::Space) + 56 (heap.h:84)
17  Flutter                       	0x0000000105fb31e4 dart::Object::Allocate(long, long, dart::Heap::Space, bool) + 1108 (object.cc:2788)
18  Flutter                       	0x0000000105fb5ed4 dart::Array::NewUninitialized(long, long, dart::Heap::Space) + 20 (object.cc:25020)
19  Flutter                       	0x0000000105fb5ed4 dart::Array::New(long, long, dart::Heap::Space) + 324 (object.cc:25034)
20  Flutter                       	0x00000001060849ac dart::Array::New(long, dart::Heap::Space) + 8 (object.h:10623)
21  Flutter                       	0x00000001060849ac Dart_InvokeClosure + 504 (dart_api_impl.cc:4767)
22  Flutter                       	0x0000000105d9a26c tonic::DartInvoke(_Dart_Handle*, std::initializer_list<_Dart_Handle*>) + 16 (dart_invoke.cc:24)
23  Flutter                       	0x0000000105d9a26c flutter::PlatformConfiguration::BeginFrame(fml::TimePoint, unsigned long long) + 300 (platform_configuration.cc:209)
24  Flutter                       	0x0000000105d9a26c flutter::RuntimeController::BeginFrame(fml::TimePoint, unsigned long long) + 312 (runtime_controller.cc:198)
25  Flutter                       	0x0000000105d9a26c flutter::Engine::BeginFrame(fml::TimePoint, unsigned long long) + 316 (engine.cc:253)
26  Flutter                       	0x0000000105d9a26c flutter::Shell::OnAnimatorBeginFrame(fml::TimePoint, unsigned long long) + 412 (shell.cc:1131)
27  Flutter                       	0x0000000105d8139c flutter::Animator::BeginFrame(std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::FrameTimingsRecorder, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::FrameTimingsRecorder> >) + 444 (animator.cc:104)
28  Flutter                       	0x0000000105d8139c flutter::Animator::AwaitVSync()::$_3::operator()(std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::FrameTimingsRecorder, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::FrameTimingsRecorder> >) c... + 748 (animator.cc:239)
29  Flutter                       	0x0000000105d8139c decltype(std::declval<flutter::Animator::AwaitVSync()::$_3&>()(std::declval<std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::FrameTimingsRecorder, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter:... + 900 (invoke.h:403)
30  Flutter                       	0x0000000105d8139c void std::_LIBCPP_ABI_NAMESPACE::__invoke_void_return_wrapper<void, true>::__call<flutter::Animator::AwaitVSync()::$_3&, std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::FrameTimingsRecorder, std::_... + 900 (invoke.h:488)
31  Flutter                       	0x0000000105d8139c std::_LIBCPP_ABI_NAMESPACE::__function::__alloc_func<flutter::Animator::AwaitVSync()::$_3, std::_LIBCPP_ABI_NAMESPACE::allocator<flutter::Animator::AwaitVSync()::$_3>, void (std::_LIBCPP_ABI_NAMESP... + 900 (function.h:185)
32  Flutter                       	0x0000000105d8139c std::_LIBCPP_ABI_NAMESPACE::__function::__func<flutter::Animator::AwaitVSync()::$_3, std::_LIBCPP_ABI_NAMESPACE::allocator<flutter::Animator::AwaitVSync()::$_3>, void (std::_LIBCPP_ABI_NAMESPACE::u... + 936 (function.h:359)
33  Flutter                       	0x0000000105daa0c4 std::_LIBCPP_ABI_NAMESPACE::__function::__value_func<void (std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::FrameTimingsRecorder, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::FrameTimingsReco... + 24 (function.h:512)
34  Flutter                       	0x0000000105daa0c4 std::_LIBCPP_ABI_NAMESPACE::function<void (std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::FrameTimingsRecorder, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::FrameTimingsRecorder> >)>::opera... + 24 (function.h:1187)
35  Flutter                       	0x0000000105daa0c4 flutter::VsyncWaiter::FireCallback(fml::TimePoint, fml::TimePoint, bool)::$_0::operator()() const + 148 (vsync_waiter.cc:138)
36  Flutter                       	0x0000000105daa0c4 decltype(std::declval<flutter::VsyncWaiter::FireCallback(fml::TimePoint, fml::TimePoint, bool)::$_0&>()()) std::_LIBCPP_ABI_NAMESPACE::__invoke[abi:v15000]<flutter::VsyncWaiter::FireCallback(fml::T... + 148 (invoke.h:403)
37  Flutter                       	0x0000000105daa0c4 void std::_LIBCPP_ABI_NAMESPACE::__invoke_void_return_wrapper<void, true>::__call<flutter::VsyncWaiter::FireCallback(fml::TimePoint, fml::TimePoint, bool)::$_0&>(flutter::VsyncWaiter::FireCallback(... + 148 (invoke.h:488)
38  Flutter                       	0x0000000105daa0c4 std::_LIBCPP_ABI_NAMESPACE::__function::__alloc_func<flutter::VsyncWaiter::FireCallback(fml::TimePoint, fml::TimePoint, bool)::$_0, std::_LIBCPP_ABI_NAMESPACE::allocator<flutter::VsyncWaiter::FireC... + 148 (function.h:185)
39  Flutter                       	0x0000000105daa0c4 std::_LIBCPP_ABI_NAMESPACE::__function::__func<flutter::VsyncWaiter::FireCallback(fml::TimePoint, fml::TimePoint, bool)::$_0, std::_LIBCPP_ABI_NAMESPACE::allocator<flutter::VsyncWaiter::FireCallbac... + 168 (function.h:359)
40  Flutter                       	0x0000000105c96ca4 std::_LIBCPP_ABI_NAMESPACE::__function::__value_func<void ()>::operator()[abi:v15000]() const + 12 (function.h:512)
41  Flutter                       	0x0000000105c96ca4 std::_LIBCPP_ABI_NAMESPACE::function<void ()>::operator()() const + 12 (function.h:1187)
42  Flutter                       	0x0000000105c96ca4 fml::MessageLoopImpl::FlushTasks(fml::FlushType) + 568 (message_loop_impl.cc:126)
43  Flutter                       	0x0000000105c99e48 fml::MessageLoopImpl::RunExpiredTasksNow() + 8 (message_loop_impl.cc:139)
44  Flutter                       	0x0000000105c99e48 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 32 (message_loop_darwin.mm:85)
45  CoreFoundation                	0x00000001807fc1b4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28 (CFRunLoop.c:1812)
46  CoreFoundation                	0x0000000180785a38 __CFRunLoopDoTimer + 1008 (CFRunLoop.c:2420)
47  CoreFoundation                	0x00000001807805e8 __CFRunLoopDoTimers + 316 (CFRunLoop.c:2580)
48  CoreFoundation                	0x00000001807602b4 __CFRunLoopRun + 1964 (CFRunLoop.c:3116)
49  CoreFoundation                	0x0000000180773174 CFRunLoopRunSpecific + 572 (CFRunLoop.c:3268)
50  Flutter                       	0x0000000105c99f34 fml::MessageLoopDarwin::Run() + 88 (message_loop_darwin.mm:51)
51  Flutter                       	0x0000000105c99a24 fml::MessageLoopImpl::DoRun() + 28 (message_loop_impl.cc:94)
52  Flutter                       	0x0000000105c99a24 fml::MessageLoop::Run() + 32 (message_loop.cc:49)
53  Flutter                       	0x0000000105c99a24 fml::Thread::Thread(std::_LIBCPP_ABI_NAMESPACE::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0::operator()() const + 160 (thread.cc:85)
54  Flutter                       	0x0000000105c99a24 decltype(std::declval<fml::Thread::Thread(std::_LIBCPP_ABI_NAMESPACE::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>()()) std::_LIBCPP_ABI_NAMESPA... + 160 (invoke.h:403)
55  Flutter                       	0x0000000105c99a24 void std::_LIBCPP_ABI_NAMESPACE::__thread_execute[abi:v15000]<std::_LIBCPP_ABI_NAMESPACE::unique_ptr<std::_LIBCPP_ABI_NAMESPACE::__thread_struct, std::_LIBCPP_ABI_NAMESPACE::default_delete<std::_LI... + 160 (thread:284)
56  Flutter                       	0x0000000105c99a24 void* std::_LIBCPP_ABI_NAMESPACE::__thread_proxy[abi:v15000]<std::_LIBCPP_ABI_NAMESPACE::tuple<std::_LIBCPP_ABI_NAMESPACE::unique_ptr<std::_LIBCPP_ABI_NAMESPACE::__thread_struct, std::_LIBCPP_ABI_N... + 208 (thread:295)
57  libsystem_pthread.dylib       	0x00000001dbb56338 _pthread_start + 116 (pthread.c:891)
58  libsystem_pthread.dylib       	0x00000001dbb54938 thread_start + 8 (:-1)

Different crash reports start at differente places, but Stacktrace lines 1-17 are same for all.
Code sample
No sample
Screenshots or Video
No response
Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.7.12, on macOS 14.1 23B74 darwin-x64, locale en-GB)
    • Flutter version 3.7.12 on channel stable at /Users/timukasr/fvm/versions/3.7.12
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4d9e56e694 (6 months ago), 2023-04-17 21:47:46 -0400
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/timukasr/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • ANDROID_HOME = /Users/timukasr/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode-14.3.1.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.13.0

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

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

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 70.0.5
    • Dart plugin version 222.4167.21

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 118.0.5993.117

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

• No issues found!

Similar thing with my app. Works on iOS simulator and even passed app store approval but the app crashes on some physical devices. For some users, they complain it crashes once and then becomes stable afterwards.
What's happening with Flutter on iOS? This better gets solved.

@timukasr @KingMastana  With Xcode 15 minimum deployment target is iOS 12. There might be higher chance that it mayve crashed due above reason.

@KingMastana @jemisgoti Are you seeing the same crash stack trace on your app? If so, could you share the Flutter version (flutter doctor -v) along with a list of affected devices information (OS, model)?
@jemisgoti Could you be more specific on the case with minimum deployment target? Do you use connectivity_plus package on your project?

@KingMastana @jemisgoti Are you seeing the same crash stack trace on your app? If so, could you share the Flutter version (flutter doctor -v) along with a list of affected devices information (OS, model)? (@timukasr please provide this info as well)
@jemisgoti Could you be more specific on the case with minimum deployment target? Do you use connectivity_plus package on your project?

I removed connectivity_plus and still and I did pod disintegrate in the ios folder, then flutter clean in the root folder then run it on a real device in developer mode. I pushed the latest update and I'm waiting to see if the crash is going to happen again.

@huycozy Yes. i was using connectivity_plus package in the project. I think above issue is fixed so we can closed it.

@huycozy Different OS versions (from 13.1 - 17.1) and Devices models are affected (both iPhones and iPads). Only pattern is usage - more popular devices/OS versions have more crashes.
We did install XCode 15 but it was incompatible with some of our dependencies so we are using XCode 14.3.1 for now. We support iOS 13+. Not using connectivity_plus package.

Yes. i was using connectivity_plus package in the project. With Xcode 15 we require minimum deployment target 12. There might few dependancy in project which require lower deployment target. Either we need to remove it or update it, Then our app will work fine.

@jemisgoti Does that mean you can reproduce the issue locally? Please check https://github.com/flutter/flutter/issues/136060 if it's similar to your case.
@timukasr I see your Flutter version is quite old, I'm not sure if it can be fixed on newer Flutter or Dart SDK (it seems to be related to Dart from your stack trace above). Can you check if this is able to reproduce locally in release mode? (flutter run --release). If it is, please retry on the latest Flutter stable channel to see if it's fixed or not.

I encountered an application crash related to the google_maps_flutter package on Xcode 15 and iOS 12.
To reproduce the issue, follow these steps:
add 'google_maps_flutter' to the dependencies and run the app. The application crashes upon launch.
However, removing 'google_maps_flutter' from the dependencies allows the app to run normally.
Notably, this issue was not found on iOS 17.

@narospol I don't have iOS 12 to check this. Could you confirm you see the same crash stack trace as above? If so, please share it. And please provide the output of flutter doctor -v as well. Thanks!

@huycozy
flutter-doctor.txt
pubspec.txt
**Run with Xcode (iPhone6 - iOS12.5.1) **

@huycozy flutter-doctor.txt
pubspec.txt
**Run with Xcode (iPhone6 - iOS12.5.1) **
That is what exactly I am currently facing with.

@narospol @aaassseee I'm not sure if the stack trace is the same as the origin. Please provide the crash log in text format instead of a screenshot for better readability and investigation. If it's a difference, please file another issue.

@huycozy There are no other crash logs instead of this breakpoint. Any other material which I needed to provide?

@aaassseee Looks like you ran project from XCode, right? Can you try running project with Flutter to see if there is crash trace? We need to clarify if they are separate issues (I'm not sure how you found this issue. Did you rely on the initial crash log or the issue title?)

@huycozy There arn't any log produce from flutter run. It crash before the dart vm connection.

@aaassseee Could you please file a separate issue for that case? (please tag me on that issue) Thank you!


remove ignore for eslint rule when releasing 0.20

If this PR is merged: https://github.com/inveniosoftware/react-invenio-deposit/pull/551 the fieldPath propType will be set to isRequired and following our https://github.com/inveniosoftware/eslint-config-invenio eslint rules we should remove the defaultProps set for fieldPath. Because this will break backwards compatibility with older instances of invenio-app-rdm instead of removing the defaultProps we will ignore the rule, only for this specific prop.
This ignore should be removed after releasing a new minor version.

https://github.com/inveniosoftware/react-invenio-deposit/pull/551/files#diff-3d784b4dfa34800c50614a2b4dc56a3cbc158d84aa58994a8ee9ba7e5a82558dR44


Split cleanup into multiple steps for more granular UI view

@vconzola has asked for a more granular view of progress during rollback/cleanup itineraries.
This is my attempt at adding more granularity, especially for the RollbackItinerary.
I'm open to input on this. Let me know if you see a more elegant way of implementing this that accomplishes the same goal in UI.
	StepCleanupVelero    = "CleanupVelero"
	StepCleanupHelpers   = "CleanupHelpers"
	StepCleanupMigrated  = "CleanupMigrated"
	StepCleanupUnquiesce = "CleanupUnquiesce"

var RollbackItinerary = Itinerary{
	Name: "Rollback",
	Phases: []Phase{
		{Name: Rollback, Step: StepCleanupVelero},
		{Name: DeleteBackups, Step: StepCleanupVelero},
		{Name: DeleteRestores, Step: StepCleanupVelero},
		{Name: DeleteRegistries, Step: StepCleanupHelpers},
		{Name: EnsureStagePodsDeleted, Step: StepCleanupHelpers},
		{Name: EnsureAnnotationsDeleted, Step: StepCleanupHelpers, any: HasPVs | HasISs},
		{Name: DeleteMigrated, Step: StepCleanupMigrated},
		{Name: EnsureMigratedDeleted, Step: StepCleanupMigrated},
		{Name: UnQuiesceSrcApplications, Step: StepCleanupUnquiesce},
		{Name: Completed, Step: StepCleanup},
	},
}

Sounds like a good idea to me. Wondering if we intend to show all these new steps in the same pipeline view in the UI. The behaviour will be - The user attempts to rollback a migration. New steps are added to existing pipeline. In the UI, the existing pipeline is updated with these new steps. All the intermediate steps are marked 'Skipped'


Add local caching for requests to NBNco

Performance, debugging, adding features.

Naive implementation:
def cached_get_json(url):
    """Gets a JSON response from a URL, caching the result in a file."""
    cache_file = f'cache/{url.replace("/","_").replace(":","_")}.json'
    if os.path.exists(cache_file):
        with open(cache_file, "r") as infile:
            return json.load(infile)
    else:
        r = requests.get(url, stream=True, headers={"referer":"https://www.nbnco.com.au/"})
        with open(cache_file, "w") as outfile:
            json.dump(r.json(), outfile)
        return r.json()

Then replace
-        r = requests.get(lookupUrl + urllib.parse.quote(address["name"]), stream=True, headers={"referer":"https://www.nbnco.com.au/"})
-        locID = r.json()["suggestions"][0]["id"]
+        locID = cached_get_json(lookupUrl + urllib.parse.quote(address["name"]))["suggestions"][0]["id"]

and

-        r = requests.get(detailUrl + locID, stream=True, headers={"referer":"https://www.nbnco.com.au/"})
-        status = r.json()
+        status = cached_get_json(detailUrl + locID)

That's probably too short-sighted for massive (all suburb) runs.  And a more specific address->locID and locID->status lookup would be tidier.

This is an interesting idea because I strip most of the data from the response but lots of it can be useful for others.
It would be interesting to see if these complete files could be uploaded to GitHub releases or something to save other people having to smash the NBN API.
Only problem is the limited storage space for GitHub actions (50GB or something)

With a more surgical cache (address->locID), and in a single lookup file (or one per URL-type), I don't think they'd be too large.

Something like https://docs.python.org/3/library/shelve.html maybe
As used by https://github.com/ubershmekel/filecache

Here's a slightly-less naive version, using the file-cache module linked above.  If you want to minimise deps, we could reimplement some of that.  The code above stores a cache in code/main.py.cache for 1 month.
local-cache.patch

I believe the GNAF database has a unique ID for every address and LocID shouldn't change so we could have a lookup file using that. I'll have a look at your code.

Do you want to chat about this?  linkedin, discord, etc?

Do you want to chat about this? linkedin, discord, etc?

I sent you a message on LinkedIn

I guess a design is: two caches, one for address->locid (semi-permanent), and one for locid->status (expires)
The first cache could use a unique id from the DB table (rather than an address string), to make the cache smaller.
The second could be a simple shelve or similar, or even a json file. Can't store all of them though, too big.
CI (GHA) may run in a slightly different cache mode to people running locally

Alternate implementations, of a gnaf_pid->loc_id cache on a dataset with 5967 addresses:

naive HTTP cache above: 29MB
using diskcache (sqlite): 768KB
using json: 268KB
using pickle: 256KB

PR #59 now implements a 1GB disk-cache (sqllite) for gnaf_pid->loc_id and loc_id->status

Merged


Regression: AppHost no longer runnable if ASP.NET Core URLS isn't specified

This used to work in preview2 but now we blow up instead of falling back to a default port.
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://<IP_ADDRESS>:57155
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Users\davifowl\source\repos\AppHost3\AppHost3
fail: Microsoft.Extensions.Hosting.Internal.Host[11]
      Hosting failed to start
      Aspire.Hosting.DistributedApplicationException: ASPNETCORE_URLS environment variable not set.
         at Aspire.Hosting.Dcp.ApplicationExecutor.StartDashboardAsDcpExecutableAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 202
         at Aspire.Hosting.Dcp.ApplicationExecutor.RunApplicationAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 91
         at Aspire.Hosting.Dcp.DcpHostService.StartAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpHostService.cs:line 65
         at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
         at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
Unhandled exception. System.AggregateException: One or more errors occurred. (Command C:\Program Files\dotnet\packs\Aspire.Hosting.Orchestration.win-x64\8.0.0-preview.3.24077.4\tools\dcp.exe start-apiserver --monitor 20940 --detach --kubeconfig "C:\Users\davifowl\AppData\Local\Temp\aspire.tq4j1ctq.p2m\kubeconfig" returned non-zero exit code -1)
 ---> System.InvalidOperationException: Command C:\Program Files\dotnet\packs\Aspire.Hosting.Orchestration.win-x64\8.0.0-preview.3.24077.4\tools\dcp.exe start-apiserver --monitor 20940 --detach --kubeconfig "C:\Users\davifowl\AppData\Local\Temp\aspire.tq4j1ctq.p2m\kubeconfig" returned non-zero exit code -1
   at Aspire.Hosting.Dcp.Process.ProcessUtil.ProcessDisposable.DisposeAsync() in /_/src/Aspire.Hosting/Dcp/Process/ProcessUtil.cs:line 147
   at Aspire.Hosting.Dcp.DcpHostService.DisposeAsync() in /_/src/Aspire.Hosting/Dcp/DcpHostService.cs:line 86
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.<DisposeAsync>g__Await|26_0(Int32 i, ValueTask vt, List`1 toDispose)
   at Microsoft.Extensions.Hosting.Internal.Host.<DisposeAsync>g__DisposeAsync|21_0(Object o)
   at Microsoft.Extensions.Hosting.Internal.Host.DisposeAsync()
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Aspire.Hosting.DistributedApplication.RunAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/DistributedApplication.cs:line 147
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Aspire.Hosting.DistributedApplication.Run() in /_/src/Aspire.Hosting/DistributedApplication.cs:line 155
   at Program.<Main>$(String[] args) in C:\Users\davifowl\source\repos\AppHost3\AppHost3\Program.cs:line 6

@davidfowl, Today we encountered another issue when running aspire app with vs code and C# Dev Kit:'Time out while waiting for the dashboard to be responsive'.

What version?

Looks like the dashboard failed to launch?

Yeah, That's it.

Is this related to this issue or is it a new one. Maybe we should track in a new issue to avoid confusion.

Can you share what you have in your launchsettings.json?

Seems like a new issue.

@mitchdenny this is launchsetting.json file.

Can you reproduce this consistently @v-gaolisa ?

Yeah, I can reproduce it stably.

Excellent. Lets try to get a repro then. Can you file a new issue with the steps? Lets see if we can isolate it.

OK, I opened a new issue to tracking it #2007.


Allow kwargs for metrics in Experiment definition

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (5623d2c) to head (b6c5af6).
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #45   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           10        10
  Lines          438       442    +4
=========================================
+ Hits           438       442    +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Experimental worker-to-worker bindings support

Adds support for experimental worker-to-worker bindings, letting you call a worker from another worker. The Wrangler config field looks like follows:
experimental_services = [{ name = "foo", service = "foo-service", environment = "production" }]

Where:

name is the name of the binding in your worker code
service is the service to reference
environment is the environment of the script to reference (e.g. production, staging, etc)

What doesn't work?

The API still doesn't support worker-to-worker bindings for previews, so wrangler dev will fail for now

Differences from #156
This PR is based in #156, with a few changes -

the configuration field env is renamed to environment (we want to move away from short forms like env)
the configuration field environment is not an optional field (because we want to explicitly bind to environments, or folks could accidentally mess with production data)
the configuration field services is called experimental_services so it's clear on usage that this is not ready for production usage yet, and is only for our internal testing. We also log a warning when we see the field.

Opened a PR in Wrangler V1 for the same feature:
https://github.com/cloudflare/wrangler/pull/2173

Missed this when it was originally written. I'm confused why are we are naming the field experimental_services instead of just services? Odds are the interface won't change, but by naming the field this we're forcing everyone downstream and ourselves as maintainers to come back and update the field name when it officially releases. What's the point?

This is not ready for usage by customers just yet, and it's not even ready as a feature for interns usage yet. Marking it as experimental makes it obvious. When we do it close it to everyone, we can do it in two steps where we deprecate the experimental_ prefix in one version with a warning and remove it in the next.

But normal users can't make Workers with service bindings anyway. You need a feature flag enabled on your account. To do that you need to talk to someone that can give you the flag and they will probably tell you about the limitations of its current state. So those that have access likely already know that it's in internal beta and already know of its limitations. Still seems like unnecessary complexity...

That's fine, we'll absorb the extra complexity to do it right. It's not that much.


wireguard-ui with proxmox lxc & email(smtp)

I'm searching the internet for hours... Can anyone please explain how to setup the email configuration to send qrcode via smtp (gmail). I dont get it where to setup this config. Is it a plain textfile with name ENV inside the directory where wireguard-ui executable life in? thanks!

edit your /etc/wireguard/start-wgui.sh like this:
`#!/bin/bash
export SMTP_HOSTNAME="smtp.gmail.com"
export SMTP_PORT="587"
export<EMAIL_ADDRESS>export SMTP_PASSWORD="password"
export SMTP_AUTH_TYPE="LOGIN"
export<EMAIL_ADDRESS>export EMAIL_FROM_NAME="WireGuard-UI"
cd /etc/wireguard
./wireguard-ui -bind-address <IP_ADDRESS>:8080`

Thanks! Will try it later and report back :)

tried this but get always this error:
Mail Error: mail: invalid string; Header: [From] Address: [WireGuard UI <>]

This works..
root@Wireguard:/opt/wireguard-ui# ./wireguard-ui
Wireguard UI
App Version     : v0.4.0
Git Commit      : be2ffba4176cdee99e46be79ceb7afe075a6195f
Git Ref         : refs/tags/v0.4.0
Build Time      : 03-31-2023 21:54:34
Git Repo        : https://github.com/ngoduykhanh/wireguard-ui
Authentication  : true
Bind address    : <IP_ADDRESS>:5000
Email from      : my.emailgmail.com
Email from name : WireGuard UI
Custom wg.conf  :
Base path       : /
⇨ http server started on [::]:5000
/etc/environments
SMTP_ENCRYPTION=STARTTLS
SMTP_HOSTNAME=smtp.gmail.com
SMTP_PORT=587
<EMAIL_ADDRESS>SMTP_PASSWORD=sfgpqwsavjcsmkqqq  : generated in App passwords of Google
SMTP_AUTH_TYPE=LOGIN
<EMAIL_ADDRESS>EMAIL_FROM_NAME=Wireguard Ui

Hi,
I noticed that a working configuration doesn't work when the container is restarted
One need to systemctl stop wireguar-ui
one need to cd /opt/wireguard-ui
one need to start at that path ./wireguard-ui then it works


Add Swedish localization

Following instructions from #6244 (comment).
Almost all the strings are translated (1755 out of 1810, 96%). It’d be awesome to get some help with the remaining ones and have someone review the whole thing to make tweaks or improvements if needed.

Yep, if we could get one other swedish speaker to review this, that would be awesome!


Backport:UI Monitoring: Cannot increase time when have Custom timeframe

https://github.com/rancher/rancher/issues/19588

Version: v2.2.3-rc3
I validated again (was tested in master here https://github.com/rancher/rancher/issues/19588#issuecomment-484208639) following the same steps as outlined in that issue. I confirmed I can increase the time now when using a custom time range for the charts without any issues.


test: hds_integration_test failures with tsan

On master as of today, about 20% failure rate. They may have a common root cause but there are different classes of symptoms. E.g. here are 4 different ones: a short assert-failure and some very lengthy tsan reports that are in gist.
[2020-07-20 18:10:50.211][313][critical][assert] [./test/integration/fake_upstream.h:365] assert failure: parented_ || allow_unexpected_disconnects_. Details: An queued upstream connection was torn down without being associated with a fake connection. Either manage the connection via waitForRawConnection() or waitForHttpConnection(), or set_allow_unexpected_disconnects(true).
 See https://github.com/envoyproxy/envoy/blob/master/test/integration/README.md#unparented-upstream-connections

tsan failures:

https://gist.github.com/jmarantz/15b5d396c2c34f0b4b0aa672300b25de
https://gist.github.com/jmarantz/edc6a4349344c7620f98b00180e69ed7
https://gist.github.com/jmarantz/3b2c2e5397d577e4f89adbe9ac4920b3

Repro instructions:
bazel test --config=libc++ //test/integration:hds_integration_test

From a very quick look at this test, it seems like there is a race condition where after calling cleanupHdsConnection Envoy can make a new HDS connection so we have to either handle spurious connections there or shutdown HDS somehow? @htuch @alyssawilk do you have any context here?

Hmm nevermind I see hds_upstream_->set_allow_unexpected_disconnects(true);, will keep looking.

FWIW I find this fails 98% of the time if I switch to simulated time, via:
diff --git a/test/integration/hds_integration_test.cc b/test/integration/hds_integration_test.cc
index f5fc80cdd5..7aa3b2b658 100644
--- a/test/integration/hds_integration_test.cc
+++ b/test/integration/hds_integration_test.cc
@@ -26,7 +26,8 @@ namespace Envoy {
 namespace {

 // TODO(jmarantz): switch this to simulated-time after debugging flakes.
-class HdsIntegrationTest : public Grpc::VersionedGrpcClientIntegrationParamTest,
+class HdsIntegrationTest : public Event::TestUsingSimulatedTime,
+                           public Grpc::VersionedGrpcClientIntegrationParamTest,
                            public HttpIntegrationTest {
 public:
   HdsIntegrationTest() : HttpIntegrationTest(Http::CodecClient::Type::HTTP1, ipVersion()) {}

I think this might be because this test uses gRPC which does not (afaik) have injectable time. But maybe this change offers a way to get more consistent failures, which might be easier to repro and debug.

Yeah I'm having trouble reproing. I will try again tomorrow.

In looking at the traces, I think the problem has to be:
https://github.com/envoyproxy/envoy/blob/796a6745954cd134c6449da2237a99b35d7e8d80/test/integration/hds_integration_test.cc#L298-L305
Envoy can close the connection while the connection is being popped off of the connection queue. There must be some race condition in the framework here. I can look more tomorrow unless @alyssawilk has any quick ideas. It's possible that recent event loop changes from @antoniovicente have made this race more likely though IIRC the events in question here aren't getting delayed to the next event loop iteration but I don't remember the details.

(Most relevant tsan trace: https://gist.github.com/jmarantz/edc6a4349344c7620f98b00180e69ed7)

I think that the Envoy::Event::FileEventImpl::assignEvents in the call stack indicates that we are dealing with real events, not fake events.
I think the sequence here is something along the lines of:

proxy creates upstream connection
main thread calls waitForHttpConnection to capture the fake http upstream connection
proxy times out the connection and sends a fin
fake upstream detects the FIN and closes the fake connection

There are no synchronization primitives protecting the fake http upstream and its IO handle.  TSAN detects a cross thread read/write interaction between steps 2 and 4 above.
The cross thread interactions in FakeUpstream are complex.  We end up doing a fair number of operations in the main test thread while other operations happen in the backend thread.  IIRC mutex use in FakeUpstream is very minimal.

Yeah agreed this is complicated. From looking at the TSAN trace it actually seems like to fix this we would need to block the fake upstream event loop from running or we have to do more operations on the fake upstream thread. I don't think there is an easy fix here. I will think about it more tomorrow.

(The best fix would be to switch the timeout tests to simulated time @jmarantz :) )

I think most of the tests I saw fail in real time involved direct calls to do timed waits on condvats from grpc, which lacks injectable time, afaict.

FWIW many tsan failures are just because an assertion fails, and the test doesn't handle things if the unexpected thing occurs.
Looks like something is non-deterministic about the healthcheckEndpoints waitForHttpConnection on 79, but I'm not sure what.
Josh since you can repro, can you dump trace logs of a failure or two?

@alyssawilk see https://github.com/envoyproxy/envoy/issues/12184#issuecomment-661605788 and https://github.com/envoyproxy/envoy/issues/12184#issuecomment-661605966. It's a race condition around connection timeout/close. I think I have an idea on how to fix. I will try to do it today.

CC @drewsortega

@drewsortega I think you are being volunteered to work on this further. :)
I'm able to repro more issues under TSAN that I haven't had a chance to fix yet:
https://github.com/envoyproxy/envoy/blob/ae11ba2402769ce33dfb11096673b72efd6eaa39/test/integration/hds_integration_test.cc#L634
This one is getting stuck in the wait loop in the test. I haven't debugged it.
https://github.com/envoyproxy/envoy/blob/ae11ba2402769ce33dfb11096673b72efd6eaa39/test/integration/hds_integration_test.cc#L714
This test is fundamentally broken. It relies on real time guarantees which are not satisfied in CI and under the sanitizers. We either need to switch to SimTime, drop the test, or test it some other way.
I also suspect https://github.com/envoyproxy/envoy/blob/ae11ba2402769ce33dfb11096673b72efd6eaa39/test/integration/hds_integration_test.cc#L753 is broken in a similar way but I haven't seen it flake.
cc @htuch

FWIW, I think we discussed in at least one PR the desire for simulated time, there was some 10x slowdown that prevented this from being used at the time, see https://github.com/envoyproxy/envoy/pull/5977.

Sure, I can work on this one further. :)
I'm touching a lot of hds code right now, so it seems reasonable for me to work on this alongside.

Drew tries many times, but was not able to reproduce the flakiness even if run 1000 times with tsan.
I also had a try and seems not reproducible. But I was able to reproduce it with the code at 2020-07-27, the log shows failure in waitForGrpcMessage().
There was a commit on 8/13: testing: fix multiple race conditions in simulated time tests (#12527) which improved the code of fake_upstream and probably has fixed the flakiness.

FWIW I've seen failures on main branch since the above fix, on ARM release, which tends to run very fast. I will take a look and see if I can repro.


Blobs Fees Adjustments

This PR contains an implementation of the following formula for fees:
inclusion_fee = base_fee + [targeted_length_fee_adjustment * length_fee] + [targeted_weight_fee_adjustment * weight_fee];

This is accomplished by using LengthToFee dynamically along with FeeMultiplierUpdate.
Decoupling length_fee and weight_fee could be the perfect solution to handle both blockchain usage congestion and blocks usage.
In #16, I explain how difficult it is to find a relationship between those two. The main difference is that each submit_blob extrinsic has a weight even with a blob of zero size.
Having two adjustment factors can handle every scenario. Some extreme ones are:

Very low general usage, few transactions with small blobs => both targeted_length_fee_adjustment and targeted_weight_fee_adjustment will decrease
A few transactions, each with very large blobs => only targeted_length_fee_adjustment will increase while targeted_weight_fee_adjustment won't, because the blob size has a minimal impact on the submit_blob weight
(the one that I couldn't handle with #143) A lot of transactions with very small blobs => in this case, decoupling is the key. The block size will remain small, so targeted_length_fee_adjustment won't increase. However, with many transactions, weight has a huge impact, making targeted_weight_fee_adjustment the key to handling chain congestion.

TODOs

[ ] Refactor, move adjustment fees logic into a separate module (possibly PR into substrate to avoid dealing with weird side effects)
[ ] Unit testing
[ ] Define AdjustmentVariables (at most 30% per hour in total)
[ ] Integration testing, make sure everything works with lots of transactions and can easily recover from low usage

Current dependencies on/for this PR:

main

PR #149   👈

This stack of pull requests is managed by Graphite.


New linter SublimeLinter-contrib-protoc-gen-lint

Hello,
I've created a plug interface to lint protocol buffers using protoc-gen-lint
https://github.com/ckaznocha/SublimeLinter-contrib-protoc-gen-lint

https://github.com/SublimeLinter/package_control_channel/commit/d6ffa04a0c2170322e871806460d279d5937b5fb
Please make a release and we'll be good to go! Thanks!

Thanks @grotewold! I've created a release.


Get all activity paginated in json response, with causer and subject.

Hi, I'm trying to get a JSON response to list all my activity in a paginated mode. How can I get those rows with causer and subject in the same response ?
I tested ->with('causer', 'subject') but not working...

Could you describe in more detail what "not working" means? And what you get as result?

With nor working I mean that I get "app\models\user" as the causer value, instead of that user info. So instead of that, I would need to return in json, the user object.

Could you provide a full code example? Because if rebuild it with your provided snippets it does what it's expected to do.
public function getActivitiesAction()
{
    return Activity::with(['causer', 'subject'])->get();
}

I do:
public function getActivitiesAction()
{
    return Activity::with('causer', 'subject')->get();
}

It works like expected - what's the JSON result of your code?
$causer = User::first();
$subject = Article::first();

activity()
    ->by($causer)
    ->on($subject)
    ->log('perform activity')
;
activity()
    ->by($causer)
    ->on($subject)
    ->log('perform another activity')
;

json_encode(Activity::with('causer', 'subject')->get());

[
    {
        "id":1,
        "log_name":"default",
        "description":"perform activity",
        "subject_id":"1",
        "subject_type":"Spatie\\Activitylog\\Test\\Models\\Article",
        "causer_id":"1",
        "causer_type":"Spatie\\Activitylog\\Test\\Models\\User",
        "properties":[

        ],
        "created_at":"2019-07-16 11:59:38",
        "updated_at":"2019-07-16 11:59:38",
        "causer":{
            "id":1,
            "name":"name 1",
            "text":null,
            "created_at":"2019-07-16 11:59:38",
            "updated_at":"2019-07-16 11:59:38",
            "deleted_at":null
        },
        "subject":{
            "id":1,
            "name":"name 1",
            "text":null,
            "created_at":"2019-07-16 11:59:38",
            "updated_at":"2019-07-16 11:59:38",
            "deleted_at":null,
            "user_id":null,
            "json":null
        }
    },
    {
        "id":2,
        "log_name":"default",
        "description":"perform another activity",
        "subject_id":"1",
        "subject_type":"Spatie\\Activitylog\\Test\\Models\\Article",
        "causer_id":"1",
        "causer_type":"Spatie\\Activitylog\\Test\\Models\\User",
        "properties":[

        ],
        "created_at":"2019-07-16 11:59:38",
        "updated_at":"2019-07-16 11:59:38",
        "causer":{
            "id":1,
            "name":"name 1",
            "text":null,
            "created_at":"2019-07-16 11:59:38",
            "updated_at":"2019-07-16 11:59:38",
            "deleted_at":null
        },
        "subject":{
            "id":1,
            "name":"name 1",
            "text":null,
            "created_at":"2019-07-16 11:59:38",
            "updated_at":"2019-07-16 11:59:38",
            "deleted_at":null,
            "user_id":null,
            "json":null
        }
    }
]

Can you try json_encode(Activity::with('causer', 'subject')->get()); but returning it as an api call.
What i get is:
[
    {
        "id":1,
        "log_name":"default",
        "description":"perform activity",
        "subject_id":"1",
        "subject_type":"Spatie\\Activitylog\\Test\\Models\\Article",
        "causer_id":"1",
        "causer_type":"Spatie\\Activitylog\\Test\\Models\\User",
        "properties":[

        ],
        "created_at":"2019-07-16 11:59:38",
        "updated_at":"2019-07-16 11:59:38",
        "causer": "app\models\User..."
        "subject": "app\models\Companias\..."
    },
    {
        "id":2,
        "log_name":"default",
        "description":"perform another activity",
        "subject_id":"1",
        "subject_type":"Spatie\\Activitylog\\Test\\Models\\Article",
        "causer_id":"1",
        "causer_type":"Spatie\\Activitylog\\Test\\Models\\User",
        "properties":[

        ],
        "created_at":"2019-07-16 11:59:38",
        "updated_at":"2019-07-16 11:59:38",
        "causer": "app\models\User..."
        "subject": "app\models\Companias\..."
    }
]

Ok, how should laravel resolve the polymorph relation
"causer_id":"1",
"causer_type":"Spatie\\Activitylog\\Test\\Models\\User",

to a model in your App namespace? These things are also plain laravel logic and nothing this package is related to or has changed in its logic.

Wait until I arrive home. I will send you the plain response.

Now it works with the "problematic code"...  Im done.


Update CODEOWNERS

What type of PR is this?
Add one of the following kinds:

subproject management

What this PR does / why we need it:
Update codeowner
Which issue(s) this PR fixes:

Fixes #
Special notes for reviewers:
Changelog input
 release-note

Additional documentation
This section can be blank.
docs

LGTM
CODEOWNER file will get valid when  @krishvenkatachalam accepted the invitation to @camaraproject/device-swap_codeowners.
@wwAMRA can you please approve the PR?


Concrete types do not throw an error if an impl is defined with generics

Here we've got a non-generic struct with a generic impl
https://github.com/AztecProtocol/aztec-packages/blob/e03ea0bd716ccb21ad94414ea393a742dd7f5a65/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/variable_merkle_tree.nr#L24
This seems very weird and we should error on this forcing the generic to be moved onto the individual methods.

Rust gives:
error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
 --> t.rs:5:6
  |
5 | impl<T> Foo {
  |      ^ unconstrained type parameter

Although rust does not error if the generics in the self type go unused which we currently do:
struct Foo<T, U> {
    t: T,
    u: U,
}

impl<T, U> Foo<T, U> {
    fn new() -> Foo<T, i32> {
        panic!()
    }

    fn static_method() {}
}

// Rust does not give an error for this program
fn main() {}


Bumps version to 0.1.1; updates URLs

The last version on PyPI is from Oct 20, 2016, and doesn't include text reading support. I plan to release this version as 0.1.1.
URLs have been updated from amznlabs -> amzn

lgtm!


Add Django IDOM to articles

Hey Adam,
@rmorshea and I have been hard at work at effectively porting ReactJS to Django. Our project uses a ReactJS client in the front-end, and is pre-configured to communicate with the Django backend via websockets.
Things are in a very usable state right now with no known impactful bugs.
I was wondering if you'd let us toss a link into your articles page.

@adamghill Pinging for PR review in case you have notifications turned off for this repo.

Hey, sorry I missed this before! Does it make sense to add this to the articles or to here?

You're right. Let me redo the placement.

IDOM supports Django, FastAPI, Flask, Sanic, Tornado, Plotly, and Jupyter at the moment.
However, the table currently only has entries for Flask and Django. Do you feel it's appropriate to add in these extra rows?
I don't want to make a large table on your docs just to show our supported platforms without first asking for your permission.

I made https://github.com/adamghill/django-unicorn/pull/356 (the source docs live in the django-unicorn repo). I think I'll take your wording for IDOM in the list, but have django-idom in the comparison table if that seems ok to you?

That's good with me!

This got manually merged in https://github.com/adamghill/django-unicorn.com/commit/53fcb9863e7ab3df43d56565e48407bbc40a6926.


module seleniumwebdriver not found.

reinstalling codeceptjs with the following.
sudo npm install codeceptjs webdriverio selenium-webdriver -g
/usr/local/bin/codeceptjs -> /usr/local/lib/node_modules/codeceptjs/bin/codecept.js
/usr/local/bin/wdio -> /usr/local/lib/node_modules/webdriverio/bin/wdio

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>updated 5 packages in 12.224s

What do you get instead?
Could not load helper SeleniumWebdriver from module './helper/SeleniumWebdriver':
Cannot find module 'co'

I'm pretty sure this is because selenium-webdriver is no longer supported in codeceptjs. However don't worry you can use the Protractor Helper (with the angular: false option for non-angular apps), and the api is the same :)
It is mentioned in the docs.
So to install the dependencies run:
npm install codeceptjs -g
npm install protractor --save-dev
npm install webdriverio --save-dev

I'm a little bit sceptical of doing installing multiple npm packages in one command, so it might be safer to install it one at a time.

thanks, i used those but im still getting
Could not load helper SeleniumWebdriver from module './helper/SeleniumWebdriver':
Cannot find module 'co'

Can you try deleting the node_modules/codeceptjs folder and try to install it again.
Also what node version are you using?

node -v
v8.9.0
thanks ill try to create a fresh install..

same warning.
Could not load helper SeleniumWebdriver from module './helper/SeleniumWebdriver':
Cannot find module 'co'

Ok more troubleshooting:

What is your dev setup? (I've run the command on os x 10.12.6 running node 8.9.3)
Did you delete the whole node_modules folder?
Try installing not using the global npm option. i.e. npm install codeceptjs. Though you have to be within an npm project (i.e. having run npm init already)

When is this error message occuring, during the npm install? Or are you running a command after the installation?

after running codeceptjs run --steps

I created a new init folder and it worked.

I’m guessing that was because you previously had the deprecated selenium webdriverio helper defined in your configuration and not protractor.
But I’m glad it now works for you :)


Generation is not supposed to be on solidity

from a solution architecture perspective generation should be off chain

Solidity != on chain.