Missing core startup docs - startup56.md is not included in startup.md

This file: https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/fundamentals/startup/includes/startup56.md
Should be included here: https://github.com/dotnet/AspNetCore.Docs/blob/d14978d15469f307d03ab0dd228adaf1e2718ce5/aspnetcore/fundamentals/startup.md?plain=1#L77
But for some reason it doesn't work, the content is not included in the final learn.microsoft.com article.
Tagging @Rick-Anderson who added it here: https://github.com/dotnet/AspNetCore.Docs/commit/4569f24d79b75c23353ea8e9164db2610087007d

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

ID: 793395fe-c738-22ce-d0e9-29a850c0fa88
Version Independent ID: 0546ce3a-3258-9817-0f3f-13281c2f55da
Content: App startup in ASP.NET Core
Content Source: aspnetcore/fundamentals/startup.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Thanks @ohads-MSFT,
The include is only used for versions previous to .NET 7.0, (when the doc selector on the top left is set for 6.0 or earlier).
The current version of this content is already in the main doc, and the include is just used for previous versions.  I took a look at version 7 - 8  of the doc and the information is there.   Looking at the 6.0 version of the doc the include is used as expected for that version.
I will go ahead and close this issue, but if you think I might have missed something and it should be re-opened please feel free to re-open.

@wadepickett after .NET 5, I don't see anything starting from The Startup class in the include file and below. Namely all of this is missing:

The Startup class

ASP.NET Core apps use a Startup class, which is named Startup by convention. The Startup class:

Optionally includes a xref:Microsoft.AspNetCore.Hosting.StartupBase.ConfigureServices* method to configure the app's services. A service is a reusable component that provides app functionality. Services are registered in ConfigureServices and consumed across the app via dependency injection (DI) or xref:Microsoft.AspNetCore.Builder.IApplicationBuilder.ApplicationServices*.
Includes a xref:Microsoft.AspNetCore.Hosting.StartupBase.Configure* method to create the app's request processing pipeline.

ConfigureServices and Configure are called by the ASP.NET Core runtime when the app starts:
[!code-csharp]
The preceding sample is for Razor Pages; the MVC version is similar.
The Startup class is specified when the app's host is built. The Startup class is typically specified by calling the WebHostBuilderExtensions.UseStartup/<TStartup> method on the host builder:
[!code-csharp]
The host provides services that are available to the Startup class constructor. The app adds additional services via ConfigureServices. Both the host and app services are available in Configure and throughout the app.
Only the following service types can be injected into the Startup constructor when using the Generic Host (xref:Microsoft.Extensions.Hosting.IHostBuilder):

xref:Microsoft.AspNetCore.Hosting.IWebHostEnvironment
xref:Microsoft.Extensions.Hosting.IHostEnvironment
xref:Microsoft.Extensions.Configuration.IConfiguration

[!code-csharp]
Most services are not available until the Configure method is called.
Multiple Startup
When the app defines separate Startup classes for different environments (for example, StartupDevelopment), the appropriate Startup class is selected at runtime. The class whose name suffix matches the current environment is prioritized. If the app is run in the Development environment and includes both a Startup class and a StartupDevelopment class, the StartupDevelopment class is used. For more information, see Use multiple environments.
See The host for more information on the host. For information on handling errors during startup, see Startup exception handling.
The ConfigureServices method
The xref:Microsoft.AspNetCore.Hosting.StartupBase.ConfigureServices* method is:

Optional.
Called by the host before the Configure method to configure the app's services.
Where configuration options are set by convention.

The host may configure some services before Startup methods are called. For more information, see The host.
For features that require substantial setup, there are Add{Service} extension methods on xref:Microsoft.Extensions.DependencyInjection.IServiceCollection. For example, AddDbContext, AddDefaultIdentity, AddEntityFrameworkStores, and AddRazorPages:
[!code-csharp]
Adding services to the service container makes them available within the app and in the Configure method. The services are resolved via dependency injection or from xref:Microsoft.AspNetCore.Builder.IApplicationBuilder.ApplicationServices*.
The Configure method
The xref:Microsoft.AspNetCore.Hosting.StartupBase.Configure* method is used to specify how the app responds to HTTP requests. The request pipeline is configured by adding middleware components to an xref:Microsoft.AspNetCore.Builder.IApplicationBuilder instance. IApplicationBuilder is available to the Configure method, but it isn't registered in the service container. Hosting creates an IApplicationBuilder and passes it directly to Configure.
The ASP.NET Core templates configure the pipeline with support for:

Developer Exception Page
Exception handler
HTTP Strict Transport Security (HSTS)
HTTPS redirection
Static files
ASP.NET Core MVC and Razor Pages

[!code-csharp]
The preceding sample is for Razor Pages; the MVC version is similar.
Each Use extension method adds one or more middleware components to the request pipeline. For instance, xref:Microsoft.AspNetCore.Builder.StaticFileExtensions.UseStaticFiles* configures middleware to serve static files.
Each middleware component in the request pipeline is responsible for invoking the next component in the pipeline or short-circuiting the chain, if appropriate.
Additional services, such as IWebHostEnvironment, ILoggerFactory, or anything defined in ConfigureServices, can be specified in the Configure method signature. These services are injected if they're available.
For more information on how to use IApplicationBuilder and the order of middleware processing, see xref:fundamentals/middleware/index.

Configure services without Startup
To configure services and the request processing pipeline without using a Startup class, call ConfigureServices and Configure convenience methods on the host builder. Multiple calls to ConfigureServices append to one another. If multiple Configure method calls exist, the last Configure call is used.
[!code-csharp]
Extend Startup with startup filters
Use xref:Microsoft.AspNetCore.Hosting.IStartupFilter:

To configure middleware at the beginning or end of an app's Configure middleware pipeline without an explicit call to Use{Middleware}. IStartupFilter is used by ASP.NET Core to add defaults to the beginning of the pipeline without having to make the app author explicitly register the default middleware. IStartupFilter allows a different component to call Use{Middleware} on behalf of the app author.
To create a pipeline of Configure methods. IStartupFilter.Configure can set a middleware to run before or after middleware added by libraries.

IStartupFilter implements xref:Microsoft.AspNetCore.Hosting.StartupBase.Configure*, which receives and returns an Action<IApplicationBuilder>. An xref:Microsoft.AspNetCore.Builder.IApplicationBuilder defines a class to configure an app's request pipeline. For more information, see Create a middleware pipeline with IApplicationBuilder.
Each IStartupFilter can add one or more middlewares in the request pipeline. The filters are invoked in the order they were added to the service container. Filters may add middleware before or after passing control to the next filter, thus they append to the beginning or end of the app pipeline.
The following example demonstrates how to register a middleware with IStartupFilter. The RequestSetOptionsMiddleware middleware sets an options value from a query string parameter:
[!code-csharp]
The RequestSetOptionsMiddleware is configured in the RequestSetOptionsStartupFilter class:
[!code-csharp]
The IStartupFilter is registered in the service container in xref:Microsoft.AspNetCore.Hosting.StartupBase.ConfigureServices*.
[!code-csharp]
When a query string parameter for option is provided, the middleware processes the value assignment before the ASP.NET Core middleware renders the response.
Middleware execution order is set by the order of IStartupFilter registrations:

Multiple IStartupFilter implementations may interact with the same objects. If ordering is important, order their IStartupFilter service registrations to match the order that their middlewares should run.

Libraries may add middleware with one or more IStartupFilter implementations that run before or after other app middleware registered with IStartupFilter. To invoke an IStartupFilter middleware before a middleware added by a library's IStartupFilter:

Position the service registration before the library is added to the service container.
To invoke afterward, position the service registration after the library is added.

Add configuration at startup from an external assembly
An xref:Microsoft.AspNetCore.Hosting.IHostingStartup implementation allows adding enhancements to an app at startup from an external assembly outside of the app's Startup class. For more information, see xref:fundamentals/configuration/platform-specific-configuration.
Additional resources

The host
xref:fundamentals/environments
xref:fundamentals/middleware/index
xref:fundamentals/logging/index
xref:fundamentals/configuration/index

:::moniker-end

@ohads-MSFT, This is correct.  Starting with ASP.NET 6.0, the Startup.cs was removed and Program.cs is where where the startup code goes, such as registering the dependencies of the application.  So you should see the Startup.cs referred to in version 5 or below and you should see Program.cs referred to in version 6 or above.

@wadepickett at the very least, Startup.cs is still supported and working - we are on ASP.NET 7 and using it to this day. As for Program.cs, where are the docs for registering dependencies there? I can't find IServiceCollection in the current page, which is would presumably be featured somehow - you need to it to call methods like AddSingleton...

@wadepickett interesting, didn't know about this minimal model, but the docs you linked to say in bold: Apps migrating to 6.0 don't need to use the new minimal hosting mode. And more explicitly:

Apps migrating to 6.0 don't need to use the new minimal hosting model
Using Startup and the Generic Host used by the ASP.NET Core 3.1 and 5.0 templates is fully supported.

@wadepickett also, I'd expect the minimal hosting model docs to be included in the app startup docs - it doesn't make sense that they can only be found on the 5->6 migration page...

Sounds like you are looking for more a migration perspective.  Getting a better understanding of what went where and changed for startup from 5.0 to 6.0, which was a fairly big change.
This section of the same migration topic noted above does go over what happens with IServiceCollection.  That changed as well:
https://learn.microsoft.com/en-us/aspnet/core/migration/50-to-60?view=aspnetcore-7.0&tabs=visual-studio#differences-between-the-aspnet-core-5-and-6-hosting-models

@wadepickett reached out internally but just in case you're not on Teams I'll write here:

The old style is still supported, and so should be documented
The new style (minimal) is not documented in the current app start docs, and it's very hard to guess where to look for it

If a user new to ASP.NET read the docs today, they wouldn't understand how to add dependencies...

Thanks.  Adding the author:  @Rick-Anderson
I am guessing he kept this topic scope to a target audience of new ASP.NET developers, whereas someone moving from the old 5.0 to a newer version would be in more of a migration scope.

oh, my mistake - please disregard point (2) above (about the new style not being documented).
I think point (1) still stands, namely IMHO at least mention the old style, and at the minimum link to the ASP.NET 5 docs to see how it can be used.

I think point (1) still stands, namely IMHO at least mention the old style, and at the minimum link to the ASP.NET 5 docs to see how it can be used.

It's my impression that folks using Startup with the new hosting model know that's unusual and know how to find the old docs. If we get more requests, we'll revisit this assumption. Most customers using new versions of .NET have migrated to the new hosting model.

Thanks for reporting this. Any chance you could PR this? At the top right of the article, select the Edit pen icon:

Select the pen icon again.  Edit, then Save.


Introduce inputMaybeValue configuration for typescript-related plugins

I have added the option for InputMaybe, to create separation between input Maybe and output Maybe, by changing all of the Inputs that are of type Maybe to be of type InputMaybe which could be configured differently than Maybe.

This is also useful for Prisma users - today, typescript-resolvers conflicts on maybeValue because Prisma returns | null from find, while not allowing null in where parameters, so it always needs to be casted into undefined.
With this change, it should be possible to do and it should be simpler to use with Prisma ORM:
config:
  maybeValue: T | null | undefined # affects resolvers signature only
  inputMaybeValue: T | undefined # affects resolvers `args`

yeah I think we need a way to customize ResolverTypeWrapper

I pushed a few fixes for this PR. Including:

Rebase to latest master
Instead of doing replace('Maybe', 'InputMaybe'), it's now checking if it's an input value correctly, and apply it based on the actual need.
Fixed issues with input types definition - now this applies to inline arguments fields, and also for fields defined in input types.
Updated all tests, docs and examples to match.

@giladd123 @n1ru4l @kamilkisiela please review again :)


test/issues: add failing test for flatten batches out-of-order

Issue: https://github.com/moov-io/ach/issues/863

It looks like https://github.com/moov-io/ach/commit/8a3eeb88efcb8cdf25fe7d3f09360c3ee4a544a6 was a partial fix for this issue, but we're still merging/flattening files with out-of-order trace numbers. I think we'll have to re-order those inside FlattenBatches().

Actually, should we re-order the entries? That way we aren't modifying the file contents at all. Most people will use the TraceNumber as a unique value so our library changing that will break their use-cases.

func sortEntries(entries []*EntryDetail) []*EntryDetail {
	sort.Slice(entries[:], func(i, j int) bool {
		return entries[i].TraceNumber < entries[j].TraceNumber
	})
	return entries
}

This lets us easily update the entry ordering but with Batcher it's not a straightforward usage. I think we can do a quick b, ok := f.Batches[i].(*Batch); ok to sort them with b.Entries = sortEntries(..). I'll try that out. Each BatchXXX inherits Batch so it should work.

@vxio can you give me your thoughts on this?

Actually, should we re-order the entries? That way we aren't modifying the file contents at all. Most people will use the TraceNumber as a unique value so our library changing that will break their use-cases.

I think it's fine if we re-order the entries. Similar to recent fixes we made to MergeFiles(..), we have to do some reordering/overriding to ensure items aren't out-of-order or collide.
I like your idea of sorting the entries by traceNumber.

Codecov Report

Merging #894 (a0c4e06) into master (908a082) will decrease coverage by 0.02%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master     #894      +/-   ##
==========================================
- Coverage   92.28%   92.26%   -0.03%
==========================================
  Files          66       66
  Lines        5134     5145      +11
==========================================
+ Hits         4738     4747       +9
- Misses        233      234       +1
- Partials      163      164       +1

Sure. I figure IAT would be requested first. I'm not sure how popular ADV would be for this function.


HAC-1999: Enable watching non-namespaced/global resources

This PR is required to enable watching global resource lists such as KCP Workspaces.
CC: @florkbr

/lgtm

/approve


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v3.13 to before v5.10.75",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2c66daecc4092e6049673c281b2e6f0d5e59a94c",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=50cb95487c265187289810addec5093d4fed8329"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "2c66daecc4092e6049673c281b2e6f0d5e59a94c",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "50cb95487c265187289810addec5093d4fed8329",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "NFC: digital: fix possible memory leak in digital_in_send_sdd_req()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.10.75 by commit 50cb95487c265187289810addec5093d4fed8329, it was introduced in version v3.13 by commit 2c66daecc4092e6049673c281b2e6f0d5e59a94c. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1002035


[Kernel] Launch two kernels for mixed chunked prefill

Mixed chunked prefill means mixing prefill and decode in a single forward batch. SGLang supports this mode by adding --enable-mixed-chunk. Currently, in this mode, we use a prefill attention kernel for the whole batch. This is inefficient. A better method is to launch two kernels: one prefill attention kernel for prefill requests and one decode attention kernel for decode requests.
Steps

Learn mixed chunked prefill

https://arxiv.org/abs/2308.16369
https://arxiv.org/abs/2410.18038

See an old draft PR that tries to fix this https://github.com/sgl-project/sglang/pull/1383
Implement a new one based on the current code
Further reduce the scheduling overhead of mixed chunked prefill by simplifying the mix_with_running. The current code first constructs a prefill batch and a decode batch and them merge them. A better method can directly construct a whole mixed batch.

I can begin with launching the prefill attention and decode attention kernel concurrently while exploring NanoFlow for further optimization:)


Problem: docker-compose-dev broken Revert "Migrate cli for tendermint integration"

Reverts bigchaindb/bigchaindb#2092

Did you use the "Revert a previous pull request" feature?

If so, what do you plan to do next?

Since the context of this PR is to revert to an older state because Travis tests are run using different compose file hence the breakage wasn't caught by the CI. I have one question:
How do we catch such break-age in future?

Since the context of this PR is to revert to an older state because Travis tests are run using different compose file hence the breakage wasn't caught by the CI. I have one question:
How do we catch such break-age in future?

See https://github.com/bigchaindb/bigchaindb/issues/2109

@sbellem #2109 details the tests which failed because of #2092 . I am more keen on understanding how can future PRs avoid crashing the tests in docker-compose-dev environment? I mean if contributers don't use docker-compose-dev they should be made aware that their PR shouldn't have any tests crashing in dev compose environment?

First: we should not modify the travis scripts to accommodate failing tests.
That is the root of the problem in this case.
PRs which modify the CI scripts, etc should go through a more thorough review process.
There are no silver bullets here.
Same problem could happen if someone modifies a test just so their patch passes.
Implementation changes need to be thoroughly distinguished from changes to tests.

@kansi one way could be that Travis and Dev both use the same docker-compose file to run tests i.e. the travis_script.sh should run a common docker-compose -f docker-compose.common.yml run --rm --no-deps bdb pytest -v --cov=bigchaindb, instead of docker-compose -f docker-compose.travis.yml run --rm --no-deps bdb pytest -v --cov=bigchaindb.
I remember, I talked to @sbellem and he mentioned that they cannot be the same for some reasons. @sbellem can you explain here, so we are all on the same page.

Again, no silver bullet.
Thorough review is necessary.
Raymond Hettinger sums it up very well:

Python tip: When refactoring your code, tests are your safety net. When refactoring your tests, there is no safety net.

From my point of view, Docker Compose was supposed to make life easier, and then this happens. Problems so complex that only Sylvain can understand them, and now he's gone, doubly. I mean, it's all probably blindingly obvious to him. We as a team need to decide what we're actually going to use for dev going forward. Preferably some dev process we all understand.

Meanwhile, what's the fix here? I suspect it's just:

Don't touch them Docker Compose files. Danger! Put them all back the way they were.
Redo all the other changes to migrated the CLI subcommands away.

We are digressing here. I think there are a couple of problems and I will try to list them and be as objective as possible:

Making changes to a CI infrastructure/Travis, is not a good practice if tests are failing. That was my bad and I concur to that, hence the reversion PR. I will make relevant changes to the codebase and come up with a better solution if possible.
Surprisingly, there are no tests on travis that actually test BigchainDB service running i.e. the env vars that I removed should not allow for BigchainDB to run/be active but Travis passed for that. This is an important item and we should introduce tests that actually test an active/running BigchainDB, so we don't run into a scenario like this again.
Another problem as @kansi pointed out, how do we test this type of scenario.

On the top of my head, I think they should be the same i.e. Travis and Dev should have the same docker-compose file which should test a running BigchainDB but @sbellem explained to me how he has spent considerable amount of time and it is very tricky. Which I understand now, where he is coming from. In short, running the same docker-compose file will fail on Travis.
But I am sure we can come up with a way to do it.

In terms of practice, In my experience, Infra/CI have different repositories and they require extensive review if there are changes made to them impacted by some core changes, since we don't have that, I personally want to be more cautious before making CI changes so that tests can pass.
One more note is that, since this PR impacts different stakeholders, besides review process being extensive(which goes without saying), peers should actively review. This PR had been around for ~10 days, most of the reviews came quite quickly in ~7 days back and I waited ~2 days to merge it so everyone impacted can review. We should not pick and choose good practices from a process.
I hope this is a sound summary of the concerns pointed out above. Let me know, if not. We can take this offline.


[WIP] Enhance IMPORTER_FORCE_DYNAMIC and fix dynamic dims issues for variadic ops

This patch changes the environment variable IMPORTER_FORCE_DYNAMIC and fix an issue about supporting dynamic dims for variadic ops.
For the former one, the patch enhances the use of IMPORTER_FORCE_DYNAMIC, where it allows defining multiple inputs and multiple dimensions that can be changed to unknown dimensions, e.g.
1. IMPORTER_FORCE_DYNAMIC='-1:-1'
    - change all dimensions in all inputs to unknown dimensions.
2. IMPORTER_FORCE_DYNAMIC='-1:0'
   - change the first dimension in all inputs to unknown dimensions.
3. IMPORTER_FORCE_DYNAMIC='1:-1'
  - change all dimensions in the second input to unknown dimensions.
4. IMPORTER_FORCE_DYNAMIC='1:0,1'
  - change the first and second dimensions in the second input to unknown dimensions.
5. IMPORTER_FORCE_DYNAMIC='0:1|1:0,1'
  - change the second dimension in the first input to unknown dimensions, and
  - change the first and second dimensions in the second input to unknown
 dimensions,

By changing IMPORTER_FORCE_DYNAMIC, test/backend/test.py was changed where we now have only a single dict of test names, test_to_enable_static_dynamic. The single dict is the union of three dicts: dynamic_input_dict, dynamic_dim_dict, and test_to_enable_static_dynamic.
In the single dict, we can define a test like "test_add_cpu": (test_static_dynamic,{0: {0}, 1:{1}}), to say we want to test Add op whose the first dim of the first input and the second dim of the second input are dynamic.
The use of only single dict is also to avoid mistakes in inputting test names to the three dicts. dynamic_input_dict and dynamic_dim_dict use test names without postfix "_cpu" while test_to_enable_static_dynamic uses test names with "_cpu". This happened to me when I tested LSTM with dynamic dims. I wrongly used test_lstm_with_initial_bias_cpu in  dynamic_input_dict and dynamic_dim_dict, so tests for LSTM passed.
With this patch, dynamic tests for LSTM/GRU/RNN failed if enabling memory pool management. So I temporary disabled memory pool management and marked this patch as WIP to investigate.
Furthermore, it seems there were tests failed if setting the second/third/... dimension to unknown. The ones I know they failed are:

IMPORTER_FORCE_DYNAMIC="0:1" BACKEND_TEST=test_matmul_2d_cpu make check-onnx-backend
IMPORTER_FORCE_DYNAMIC="0:1" BACKEND_TEST=test_matmul_3d_cpu make check-onnx-backend
IMPORTER_FORCE_DYNAMIC="0:2" BACKEND_TEST=test_matmul_4d_cpu make check-onnx-backend
All gemm test cases with IMPORTER_FORCE_DYNAMIC="0:1"
Relu with IMPORTER_FORCE_DYNAMIC="0:1"

An interesting issue is that Relu failed even though it is quite simple and its generated code looks correct. Nothing special to handle unknown dimensions except using “std.alloc” with dim.
While matmul 2d and 3d failed with the second dimension unknown, matmul 4d did not but with the third dimension unknown.
Signed-off-by: Tung D. Le<EMAIL_ADDRESS>

@tungld When I worked on concat, I also ran into the similar problem: backend test failed for dynamic size for second or third dimension of 3D tensor. All other combinations passed. I can not tell what's wrong at MLIR level IR and am working at the llvm level IR.

It seems that some changes are caused by clang-format. What's the reason?

Fixed this. Thanks!

@AlexandreEichenberger

Will accept once the new IMPORTER format is also described here:
https://github.com/onnx/onnx-mlir/blob/master/docs/Testing.md

Done this. Thanks!

@tungld When I worked on concat, I also ran into the similar problem: backend test failed for dynamic size for second or third dimension of 3D tensor. All other combinations passed. I can not tell what's wrong at MLIR level IR and am working at the llvm level IR.

Fixed this problem.


Async vdr-tools API

Signed-off-by: Miroslav Kovar<EMAIL_ADDRESS>

Codecov Report

Merging #473 (f978c96) into main (998a528) will decrease coverage by 4.17%.
The diff coverage is 11.82%.

@@            Coverage Diff             @@
##             main     #473      +/-   ##
==========================================
- Coverage   60.28%   56.10%   -4.18%
==========================================
  Files         154      155       +1
  Lines       14557    14684     +127
  Branches     3585     4173     +588
==========================================
- Hits         8776     8239     -537
+ Misses       2381     2202     -179
- Partials     3400     4243     +843

Flag
Coverage Δ

integration-aries-vcx
42.72% <10.09%> (-4.76%)
:arrow_down:

unittests-agency-client
26.47% <4.87%> (+0.36%)
:arrow_up:

unittests-aries-vcx
49.69% <9.22%> (+0.33%)
:arrow_up:

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

Impacted Files
Coverage Δ

agency_client/src/agent_utils.rs
27.27% <0.00%> (-0.83%)
:arrow_down:

agency_client/src/lib.rs
24.48% <0.00%> (+24.48%)
:arrow_up:

agency_client/src/update_connection.rs
9.52% <0.00%> (+0.70%)
:arrow_up:

agency_client/src/update_message.rs
30.98% <0.00%> (+4.22%)
:arrow_up:

agency_client/src/utils/encryption_envelope.rs
25.00% <0.00%> (ø)

agency_client/src/utils/libindy/crypto.rs
33.33% <0.00%> (-6.67%)
:arrow_down:

aries_vcx/src/handlers/connection/public_agent.rs
42.02% <0.00%> (ø)

...es_vcx/src/handlers/proof_presentation/verifier.rs
52.06% <0.00%> (-2.48%)
:arrow_down:

aries_vcx/src/init.rs
36.66% <0.00%> (ø)

.../src/libindy/credential_def/revocation_registry.rs
52.17% <0.00%> (-11.47%)
:arrow_down:

... and 78 more

Continue to review full report at Codecov.

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


Don't configure PPA on Ubuntu 16.04+

The PPA is only needed on 12.04 (see #17 though) and 14.04. There are native ZFS packages in the main repositories for 16.04+.

It isn't configured, I'm setting manage_repo to false for anything except 12.04 and 14.04.


PUT, PATCH, and DELETE requests

Environment

Operating System: Linux
Node Version:     v16.18.1
Nuxt Version:     3.2.0
Nitro Version:    2.2.1
Package Manager:  npm@
Builder:          vite
User Config:      runtimeConfig, modules, tailwindcss, nitro, app, typescript, routeRules
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
I have a variable defined like const method = someBooleanCheck ? "PATCH": "PUT";
I use it as await useFetch("/api/fileName", { method: method, body: { some: data} });
https://stackblitz.com/edit/nuxt-patch-gjclzp
Describe the bug
This causes a TS compiler error Type '"PATCH" | "PUT"' is not assignable to type '"get" | "GET" | "POST" | "post" | Ref<"get" | "GET" | "POST" | "post" | undefined> | undefined'.
Additional context
I raised a discussions #19065 because I use the request keyword in the file name - /server/api/fileName.patch.ts.
Everything works as expected when I silence the compiler error with // @ts-ignore, but this is in the development.
I don't know if I should submit it to production like this or refactor the call to POST with some additional checks.
FYI
The project lives in a Firebase environment.
Logs
No response

I think I run into similar problem recently, although with different HTTP method. I started getting TS check error upon:
await useFetch<SearchZadostiResponse>(cmUrl + '/zadosti/search', { method: 'POST', body: getZadostRequest })
TS complains about method saying that:
Type '"POST"' is not assignable to type '"get" | "GET" | Ref<"get" | "GET">'.ts(2322)
index.d.ts(61, 5): The expected type comes from property 'method' which is declared here on type 'UseFetchOptions<{ uuids?: string[]; }, (res: { uuids?: string[]; }) => { uuids?: string[]; }, KeyOfRes<(res: { uuids?: string[]; }) => { uuids?: string[]; }>, NitroFetchRequest, "get">'

It used to work with no problem for months. Also technically it still works good and it is fetching the data as intended. Unfortunatelly I haven`t noticed the exact moment when this start happening, I just know it is bothering me for a few days now, so I cannot confirm whether it started happening after updating to 3.2.0 or it was already present in previus version, or there is some other external factor.

Would you provide a reproduction? 🙏

Would you provide a reproduction? 🙏

I am not sure how to do it in this case, since the error is only shown in my VS Code. The actual code works as intended.

Stackblitz/CodeSandbox is fine 😋

Stackblitz/CodeSandbox is fine 😋

Well, I created a repo: https://stackblitz.com/edit/github-nyu5ko
Code works, but when I make /components/UseFetchWithPost.vue in my VS Code, I am getting the error.
I have noticed tho, that for me it occures, when useFetch<Foo> is type inferred, plain useFetch yields no such error.

👍  https://stackblitz.com/edit/nuxt-patch-gjclzp

Stackblitz/CodeSandbox is fine 😋

Well, I created a repo: https://stackblitz.com/edit/github-nyu5ko
Code works, but when I make /components/UseFetchWithPost.vue in my VS Code, I am getting the error.
I have noticed tho, that for me it occures, when useFetch<Foo> is type inferred, plain useFetch yields no such error.

const { data } = await useFetch<SomeDataType, Error, string, 'post' | 'get'>(
    '/api/****',
    {
        method: 'post',
        params: {},
    }
)

well, I also wondering why, but if you want to explicitly set return data type, you can use this as a workaround.

Same error here.
Nuxi 3.2.1-rc.0-27940229.59a1f7b                                                 10:10:57
                                                                                10:10:58
RootDir: /Users/lucassimines/FMCX/FMCX Dashboard/fmcx-one                        10:10:58
Nuxt project info: (copied to clipboard)                                         10:10:58

------------------------------
- Operating System: `Darwin`
- Node Version:     `v16.14.2`
- Nuxt Version:     `3.2.1-rc.0-27940229.59a1f7b`
- Nitro Version:    `2.2.1-27932137.b4d9ecc`
- Package Manager<EMAIL_ADDRESS>- Builder:          `vite`
- User Config:      `-`
- Runtime Modules:  `-`
- Build Modules:    `-`
------------------------------

I got the same issue 👀

Experiencing the same issue.

I simply can't have type inferred useFetch when not using GET method:
This is not ok for TS:

When I give up typing useFetch and extra type the response, then it works:

I'm having a similar problem. Since version 3.2.0. My editor complains about having a POST method.

I'm getting the same king of issue:
Type '"POST"' is not assignable to type '"get" | "put" | "GET" | "PUT" | Ref<"get" | "put" | "GET" | "PUT" | undefined> | undefined'.

I'm trying to use the send-envelope route, but it's thinking it's one of the two on the bottom, see:

If I remove them it's OK. Is it something on my end, should I organize my routes differently?

This issue was opened in February. Are you planning on resolving this issue soon?
We can't get data with POST methods, which appeared in HTTP/1.1.
Not resolving this is like traveling almost 30 years back in time.

This issue was opened in February. Are you planning on resolving this issue soon? We can't get data with POST methods, which appeared in HTTP/1.1. Not resolving this is like traveling almost 30 years back in time.
Please make Nuxt 3 stable first, then push new cool features... some people are relying on you to make a living 🙏

Correct me if I am wrong but I think your issue is not related to the  method type? Also, have you tried this workaround? https://github.com/nuxt/nuxt/issues/19077#issuecomment-1434008688

I have also noticed in my codebase where {method: "POST"} an {method: "post"} return different types for data in useFetch with the former being a union of the types returned from the server from handle.get.ts, handle.pots.ts and others.

I have also noticed in my codebase where {method: "POST"} an {method: "post"} return different types for data in useFetch with the former being a union of the types returned from the server from handle.get.ts and others

Workaround to hide the type error: https://github.com/nuxt/nuxt/issues/19077#issuecomment-1453107499
Permanent fix: I think we'll have to wait 'till the cause is uncovered and fixed in Nuxt codebase.

Are you still experiencing this with the latest edge version? (With the latest Nitro?)
This is what I get when I clone the linked repo above and update:

I'm facing the same issue, any workaround?

Same question. Want to know how it's going?

mee too.
"nuxt": "^3.4.3",

Might not be of use in some cases, but when we need to make api PUT, POST, DELETE requests, we use $fetch instead.
$fetch has working type inferring, so we can type the returned data from the response.
Example:
const data = await $fetch<ReturnedType>(`${$config.public.apiBaseUrl}/your-api-route`, {
  method: 'POST',
  body: dataToSend
})
// data is of type ReturnedType

I got the same issue with "nuxt": "^3.4.2".
Succeed to solved it passing object options inside useFetch, but can't explain why :
`const body = {...}
const options = {
method: "POST",
headers: {...},
body: JSON.stringify(body),
};
const { data, error } = await useFetch(
url, options as object
);
console.log(data.value?.results) // work here
interface APIBody {[key: string]: any}
//Or
interface APIBody {results: {...};}`

Same issue here with Nuxt v3.6.2

If you are experiencing an issue, please raise a new issue with a reproduction 🙏

To fix this issue on vscode, you need to specify a request method on your nitro route file
On your request
const result: any = await $fetch('/api/user/info', {     method: 'post'   })
On your nitro route file
/api/user/info.post.ts

I got the same issue with "nuxt": "^3.4.2".
Succeed to solved it passing object options inside useFetch, but can't explain why :
const body = {...}
const options = {
method: "POST",
headers: {...},
body: JSON.stringify(body),
};

const { data, error } = await useFetch<APIBody>(
url, options as object
);
console.log(data.value?.results) // work here

interface APIBody {[key: string]: any}
//Or
interface APIBody {results: {...};}

Had exactly the same issue but with method="DELETE", solved with this one by passing options object into in my case $fetch


Hacked around in d6b3badc45fb8d01310db09fd893401cedf1672f and thereabouts, then fixed properly in bbfb5ac1242698db8941df5cb3933b837f0f59d8.
Introduces dependency on static foreach and thus adds a hard version requirement of 2.076 or later.


[#5785] Improve memory usage in 'transactionmetadata' rest api

allow for 0 response time

Codecov Report

Merging #5794 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #5794      +/-   ##
==========================================
+ Coverage   40.67%   40.67%   +<.01%
==========================================
  Files        2930     2930
  Lines       88053    88053
  Branches    11574    11574
==========================================
+ Hits        35814    35818       +4
+ Misses      49144    49142       -2
+ Partials     3095     3093       -2

Impacted Files
Coverage Δ

...n/java/com/navercorp/pinpoint/web/vo/SpanHint.java
100% <100%> (ø)
:arrow_up:

...collector/receiver/grpc/ShutdownEventListener.java
0% <0%> (-50%)
:arrow_down:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
57.44% <0%> (-2.13%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
78.16% <0%> (-1.06%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
72.07% <0%> (+0.97%)
:arrow_up:

...cluster/zookeeper/ZookeeperClusterDataManager.java
54.83% <0%> (+1.93%)
:arrow_up:

.../profiler/sender/StandbySpanStreamDataStorage.java
76.27% <0%> (+3.38%)
:arrow_up:

...pinpoint/profiler/instrument/AccessorAnalyzer.java
65.71% <0%> (+8.57%)
:arrow_up:

...p/pinpoint/rpc/stream/StreamChannelRepository.java
85% <0%> (+10%)
:arrow_up:

Continue to review full report at Codecov.

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


AttributeError: 'DefaultAzureCredential' object has no attribute 'signed_session' for azure.graphrbac

Package Name: azure.graphrbac
Package Version: 0.61.1
Operating System: Windows 11 Home, version 22H2, build 22621.2428
Python Version: 3.11.0

Describe the bug
Received the error Exception: AttributeError: 'DefaultAzureCredential' object has no attribute 'signed_session' when attempting to iterate over the list of users returned from from GraphRbacManagementClient.users.list().
To Reproduce
Steps to reproduce the behavior:

Run the following script:

from azure.identity import DefaultAzureCredential
from azure.graphrbac import GraphRbacManagementClient

credential = DefaultAzureCredential()

rbac_client = GraphRbacManagementClient(credentials=credential, tenant_id="xxxxxxxxxxx")

users = rbac_client.users.list()

# Error only occurs when trying to iterate
for user in users:
    None

Expected behavior
Expect to be able to iterate over the list of returned users without the error.
Screenshots

Additional context
The top answer to this question on SO suggests upgrading to the latest packages to support azure-identity. In this case, both azure.identity and azure.graphrbac have been upgraded to their latest versions.

Hey, @anilmawji, sorry you are running into this. The azure-graphrbac package has been deprecated, and the recommendation is to use the following SDK: https://pypi.org/project/msgraph-sdk/ which is maintained at https://github.com/microsoftgraph/msgraph-sdk-python.
Some usage samples can be found here:
https://github.com/microsoftgraph/msgraph-sdk-python#23-initialize-a-graphserviceclient-object
Let me know if that works for you.

Thank you @pvaneck this issue can be closed.


Update from 0.9.6 version :)

Hi ! I'm a long time user from Medoo, everything worked well on my websites, until the 7.4 PHP support has finished, and was forced to go to version 8. Now my websites don't work anymore (blank page), and it comes from the medoo tool.
I am using Medoo, with version 0.9.6 (an antique one) . How can I update easily to the last version ? It was still with this kind of parameters :
    ```protected $server = 'xxx';
protected $username = 'xxx';
protected $password = 'xxx';
For SQLite
protected $database_file = '';
Optional
protected $port = 3306;
protected $charset = 'utf8';
protected $database_name = 'xxx';
protected $option = array();```

Thank you !
Florent

Well....the v0.9.6 have been over 9 years ago! 😅
You may need to check out each milestone change from releases.
https://github.com/catfan/Medoo/releases
And read the documentation again.
https://medoo.in


CORS issue when posting to URI produced by Google.Cloud.Storage.V1.StorageClient.CreateObjectUploader in browser

@shawnshaddock: Everyone on the team is now on vacation until January, but if you could provide all the parts for me to reproduce this when we're back at work, I'll definitely have a look. Please open a new issue for this rather than using this one, just to keep things clearer.
Originally posted by @jskeet in https://github.com/googleapis/google-cloud-dotnet/issues/2755#issuecomment-748490529
My scenario is an Angular 10 client and .NET 5 (ASP .NET) API. The angular client calls the API to get a Cloud Storage resumable upload link. The API uses Google.Cloud.Storage.V1.StorageClient.CreateObjectUploader to initiate the upload. I also set UploadObjectOptions.Orgin to "*" in the request.
The API then returns the URI back to the angular client, where it attempts to use angulars HttpClient to do a POST to the URL with the file to upload. This is when I get the error:
Access to XMLHttpRequest at 'https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME_REMOVED/o?uploadType=resumable&upload_id=UPLOAD_ID_REMOVED' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Here is relevant client and server code
        const result = await this.storageObjectService.startUpload({
          bucket: 'BUCKET-NAME',
          name: file.name,
          contentType: 'application/pdf'
        });

        this.httpClient.post(result.uploadUri, file.stream()).subscribe(() => {
          console.log(`Uploaded ${file.name}`)
        });

            var upload = StorageClient.CreateObjectUploader("BUCKET-NAME", "FILE-NAME", "application/pdf", Stream.Null, new UploadObjectOptions
            {
                Origin = "*"
            });

            var uploadUri = await upload.InitiateSessionAsync(cancellationToken);
            return uploadUri;

This is a sample of the URI that is returned
https://storage.googleapis.com/upload/storage/v1/b/BUCKET-NAME/o?uploadType=resumable&upload_id=UPLOAD-ID

Thanks - will look at this when I get a chance. It's just possible it'll be before January, but probably not I'm afraid.

@jskeet does Google.Cloud.Storage.V1.StorageClient use the Cloud Storage JSON API?

Yes.

I should point out that even though the browser is throwing a CORS error the files do get successfully uploaded into the bucket. This is still an issue because it prevents me from getting the JSON response from the storage api and also prevents me from being able to handle actual upload errors.

Just as an FYI, I'm now back to work, and trying to get my head round this. I've hardly done anything with CORS, so I don't yet understand all the details... I'll need to plod through it.
Out of interest, are you able to share what the browser request and response look like in terms of headers etc? I don't know enough about what I'm looking at to say whether that's going to be relevant, but it may well be :)

Just as an FYI, I'm now back to work, and trying to get my head round this. I've hardly done anything with CORS, so I don't yet understand all the details... I'll need to plod through it.
Out of interest, are you able to share what the browser request and response look like in terms of headers etc? I don't know enough about what I'm looking at to say whether that's going to be relevant, but it may well be :)

Okay, I've had a look now... and with Origin="*" there's no Access-Control-Allow-Origin header in the response to the second request (the one that actually performs the upload)... but if you specify an actual origin, that's then returned in the response, which I believe would make the browser happy.
In your application, are you able to specify a particular origin in the UploadObjectOptions, or do you genuinely need it to be *?

Okay, I've had a look now... and with Origin="*" there's no Access-Control-Allow-Origin header in the response to the second request (the one that actually performs the upload)... but if you specify an actual origin, that's then returned in the response, which I believe would make the browser happy.
In your application, are you able to specify a particular origin in the UploadObjectOptions, or do you genuinely need it to be *?

I can provide an actual origin, I was using * as a desperate attempt to fix the issue and also so that I didn't have to manage different origins in development/testing/production. But if that's how to solve it I can do it.

I can provide an actual origin, I was using * as a desperate attempt to fix the issue and also so that I didn't have to manage different origins in development/testing/production. But if that's how to solve it I can do it.

Right - I don't know whether there is any other way of doing it, but I believe that approach will work, and hopefully isn't too hard.

Right - I don't know whether there is any other way of doing it, but I believe that approach will work, and hopefully isn't too hard.

I will try it and report back my results. I'm busy with something else ATM so I don't think it will be today, but hopefully sometime this week.

I will try it and report back my results. I'm busy with something else ATM so I don't think it will be today, but hopefully sometime this week.

@shawnshaddock: Great, thanks. I'll leave the issue open for the moment, in the hope that we'll be able to close it when you've been able to try it.

@shawnshaddock: Great, thanks. I'll leave the issue open for the moment, in the hope that we'll be able to close it when you've been able to try it.

hi here,
We have the same problem on our project :

POST request initiating upload (with url for resumable upload in response header Location) OK
next PUT request is KO because there is no cors header in the response

CORS configuration on the bucket is ok (confirmed by the first POST request initiating upload)
Setting the origin header to something particular rather than * does not fix the issue on our side

hi here,
We have the same problem on our project :

POST request initiating upload (with url for resumable upload in response header Location) OK
next PUT request is KO because there is no cors header in the response

CORS configuration on the bucket is ok (confirmed by the first POST request initiating upload)
Setting the origin header to something particular rather than * does not fix the issue on our side

@doubbz: I think it would be worth filing that as a separate issue with more details, if you're happy doing that.

@doubbz: I think it would be worth filing that as a separate issue with more details, if you're happy doing that.

@jskeet sure and thank you for your answer. I should maybe open a new issue because, here's the thing, we are working with a ReactJS frontend client and a PHP backend.
IMO the problem might be the same because the scenario is identical as shawnshaddock's one. My js client needs an auth signature in order to perform the first POST request initiating the resumable upload session.
Scenario:
1/ JS client requests a Google JSON API Storage url with the auth signature to my php backend

the Google PHP client is signing the url with an origin header matching the host of the JS Client and the CORS configuration on the bucket (on which "level access" has been set to uniform )

$bucket->object($path)->signedUploadUrl(new \DateTimeImmutable('+100 minute'), ['Origin' => <host of my JS client>])

2/ JS client performs the "initiating POST request" to the Google JSON API successfully

Origin header is included in the request (not *)
responses for both preflight and actual request are OK and includes access-controll-allow-origin - everything's fine, happy browser
JS client saves the url in the Location header for the next request

3/ JS performs a PUT request to the Google JSON API with the file to upload

an origin header is also included in the request (with the same value as before)
Response is surprisingly ok for the preflight request which allows the browser to perform the actual request
the actual request is performed (even the file is uploaded and available on the bucket) but the response does not include Access-controll-* headers. Since access-controll-allow-origin header is missing, the browser is not happy

I could open an issue on the google-cloud-php repo instead but people is already starting to be impatient around me :sweat_smile: asking me to bypass all this and PUT the files from the backend (Pod Kubernetes with low memory) instead :/ :man_shrugging:

@jskeet sure and thank you for your answer. I should maybe open a new issue because, here's the thing, we are working with a ReactJS frontend client and a PHP backend.
IMO the problem might be the same because the scenario is identical as shawnshaddock's one. My js client needs an auth signature in order to perform the first POST request initiating the resumable upload session.
Scenario:
1/ JS client requests a Google JSON API Storage url with the auth signature to my php backend

the Google PHP client is signing the url with an origin header matching the host of the JS Client and the CORS configuration on the bucket (on which "level access" has been set to uniform )

$bucket->object($path)->signedUploadUrl(new \DateTimeImmutable('+100 minute'), ['Origin' => <host of my JS client>])

2/ JS client performs the "initiating POST request" to the Google JSON API successfully

Origin header is included in the request (not *)
responses for both preflight and actual request are OK and includes access-controll-allow-origin - everything's fine, happy browser
JS client saves the url in the Location header for the next request

3/ JS performs a PUT request to the Google JSON API with the file to upload

an origin header is also included in the request (with the same value as before)
Response is surprisingly ok for the preflight request which allows the browser to perform the actual request
the actual request is performed (even the file is uploaded and available on the bucket) but the response does not include Access-controll-* headers. Since access-controll-allow-origin header is missing, the browser is not happy

I could open an issue on the google-cloud-php repo instead but people is already starting to be impatient around me :sweat_smile: asking me to bypass all this and PUT the files from the backend (Pod Kubernetes with low memory) instead :/ :man_shrugging:

@doubbz: I don't believe the URL in the original question is a signed one. If it were, I'd expect it to use UrlSigner.
Given that .NET isn't involved at all in your scenario, I think it would be better to either ask in one of the language-neutral Storage support routes or the google-cloud-php repo... as I don't work in either Javascript or PHP, it's going to be hard for me to reproduce the issue (without basically translating that code to .NET, where the issue may not occur). If you were really doing the same requests as in the rest of this issue, it wouldn't be a problem - but the URL signing is a potentially-significant difference here.

@doubbz: I don't believe the URL in the original question is a signed one. If it were, I'd expect it to use UrlSigner.
Given that .NET isn't involved at all in your scenario, I think it would be better to either ask in one of the language-neutral Storage support routes or the google-cloud-php repo... as I don't work in either Javascript or PHP, it's going to be hard for me to reproduce the issue (without basically translating that code to .NET, where the issue may not occur). If you were really doing the same requests as in the rest of this issue, it wouldn't be a problem - but the URL signing is a potentially-significant difference here.

@jskeet I think you're right, it may not be the same use case because of this first step for the signature.
Thank you anyway

@jskeet I think you're right, it may not be the same use case because of this first step for the signature.
Thank you anyway

@shawnshaddock: Great, thanks. I'll leave the issue open for the moment, in the hope that we'll be able to close it when you've been able to try it.

I tested setting a specific Origin in the UploadObjectOptions and it does indeed add the access-control-allow-origin header and works without error.

@shawnshaddock: Great, thanks. I'll leave the issue open for the moment, in the hope that we'll be able to close it when you've been able to try it.

I tested setting a specific Origin in the UploadObjectOptions and it does indeed add the access-control-allow-origin header and works without error.

Great - thanks for getting back to us.

Great - thanks for getting back to us.


Cannot add host to registries

Scenario: I am installing Shipyard on a Hyper-V Virtual machine running Ubuntu
Initially I had issue installing Shipyard using the Automated approach, so I followed the manual approach and completed the installation on the 20/4/16
I can open the web interface but could not add the host to the registry or find the host within the Nodes page.
Additionally I added this line to the file
DOCKER_OPTS="-H tcp://<IP_ADDRESS>:4243 -H unix:///var/run/docker.sock"
On the add registry page, I entered
http://<IP_ADDRESS>:4243
No error message is displayed, but no device is added

Registries are Docker Registries, not Docker Engines.  Currently Shipyard only supports v1 registries.  See https://docs.docker.com/registry/ for details.


Organelle Distribution Seeded Sudorandom

Find a way to distribute organelles between the nucleus edge and the body perimeter

Should be repeatable for a set of genes

just as a simple tweak to the radial plotter function could let it distribute features anywhere within the cell body seeing as its what defined that lines position, to begin with

if nucleus is hidden, fill that extra space

https://stackoverflow.com/questions/22521982/check-if-point-is-inside-a-polygon
https://softwareengineering.stackexchange.com/questions/143061/whats-a-good-algorithm-for-a-random-uneven-distribution-of-a-fixed-amount-of-a


Improve test result output

Improve output of test results by showing the result of each main test function.

Codecov Report

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

@@          Coverage Diff          @@
##           master    #24   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      5
  Lines         124    124
=====================================
  Hits          124    124

Continue to review full report at Codecov.

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


Issue #508, Issue #151: Forward port memory leak fixes and the abilit…

…y to kill sessions based on Principal.

You don't want to mix changesets in future.
I triggered the travis build again (will merge once it turns green).

It is green


fuse command can exit=0 without doing or printing anything

This is hard for a new user to debug:
✌ dash(pts/1):~/Downloads% ~/Downloads/weed version
version 30GB 2.85 19555385f7b99bce0e1f562f3cd4a4f440dd3d8e linux amd64

✌ dash(pts/1):~/Downloads% mkdir ~/mnt

✌ dash(pts/1):~/Downloads% ~/Downloads/weed -v=4 fuse ~/mnt -o filer=`khost seaweed-master`:9333,filer.path=/

✌ dash(pts/1):~/Downloads% echo $?
0

✌ dash(pts/1):~/Downloads% mount | grep /mnt

I expected error message output and a non-zero exit if weed fuse - for any reason - did not make a fuse mount.

what should be the expected behavior?
If you like to try out some go coding, you can check this file. Basically it is a wrapper for weed mount.
https://github.com/chrislusf/seaweedfs/blob/master/weed/command/fuse.go

I don't know what the error should be- I haven't gotten it to work yet.
Here's where I'm coming from:
# successful fuse mount
✌ dash(pts/11):~% sshfs <IP_ADDRESS>:/tmp ~/mnt
✌ dash(pts/11):~% mount | grep /mnt
<IP_ADDRESS>:/tmp on /home/drewp/mnt type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000)
✌ dash(pts/11):~% umount ~/mnt

# failed fuse mount- a bit of stderr and exit=1
✌ dash(pts/11):~% sshfs <IP_ADDRESS>:/tmp ~/mnt
read: Connection reset by peer
✌ dash(pts/11):~% echo $?
1

# weed fuse mount- no error, exit=0, no mount achieved
✌ dash(pts/11):~% ~/Downloads/weed -v=4 fuse ~/mnt -o filer=`khost seaweed`:9333,filer.path=/
✌ dash(pts/11):~% echo $?
0
✌ dash(pts/11):~% mount | grep /mnt

can you try to use weed mount and see what is the error first?

There are two subcommands for mounting, "weed mount" and "weed fuse". The "weed mount" was created first had no integration with the system mount and blocked the shell. The "weed fuse" was made to give an integration with the system mount and the shell does not block. For this the "weed fuse" creates a subprocess then releases it, then terminates itself, so even in case of subprocess error it returns 0.
For the "weed fuse" to check the "weed mount" it would have to wait for the "weed mount" to finish, in which case it would return the blocking problem.
Would there be any problem in your workflow using the "weed mount" since you want to wait for the process to return the error?


Added My Portfolio as Used By

Update README.md
Added My Portfolio at itsmebravo.dev as Used By

Saw you renamed the forked repo, but if you'd like you can remove the repository now as well since it's merged.


Error caused in GeneratesNavigationMenu when having a page file starting with an underscore after updating to v0.44.x

Creating Blade Pages...
 0/6 [>---------------------------]   0%
   Illuminate\View\ViewException

  Hyde\Framework\Actions\GeneratesNavigationMenu::getTitleFromSlug(): Argument #1 ($slug) must be of type string, null given, called in H:\HydePHP.com\vendor\hyde\framework\src\Actions\GeneratesNavigationMenu.php on line 59 (View: H:\HydePHP.com\vendor\hyde\framework\resources\views\layouts\navigation.blade.php) (View: H:\HydePHP.com\vendor\hyde\framework\resources\views\layouts\navigation.blade.php) (View: H:\HydePHP.com\vendor\hyde\framework\resources\views\layouts\navigation.blade.php)

  at H:\HydePHP.com\vendor\hyde\framework\src\Actions\GeneratesNavigationMenu.php:140
    136▕      *
    137▕      * @param  string  $slug
    138▕      * @return string
    139▕      */
  ➜ 140▕     public function getTitleFromSlug(string $slug): string
    141▕     {
    142▕         if ($slug == 'index') {
    143▕             return 'Home';
    144▕         }

  1   H:\HydePHP.com\vendor\illuminate\view\Engines\PhpEngine.php:60
      Illuminate\View\Engines\CompilerEngine::handleViewException(Object(Illuminate\View\ViewException))

  2   H:\HydePHP.com\vendor\hyde\framework\src\Actions\GeneratesNavigationMenu.php:140
      Illuminate\View\ViewException::("Hyde\Framework\Actions\GeneratesNavigationMenu::getTitleFromSlug(): Argument #1 ($slug) must be of type string, null given, called in H:\HydePHP.com\vendor\hyde\framework\src\Actions\GeneratesNavigationMenu.php on line 59 (View: H:\HydePHP.com\vendor\hyde\framework\resources\views\layouts\navigation.blade.php) (View: H:\HydePHP.com\vendor\hyde\framework\resources\views\layouts\navigation.blade.php)")

Think I located the cause. For some reason, the collection service does not add the filenames to the file list array, but it adds an empty entry. This causes the tests to pass when asserting the file is not present, but causes issues when an empty array is attempted to be discovered.

Think I located the cause. For some reason, the collection service does not add the filenames to the file list array, but it adds an empty entry. This causes the tests to pass when asserting the file is not present, but causes issues when an empty array is attempted to be discovered.

Test attesting to this theory:
touch(Hyde::path('_posts/_foo.md'));

// returns true
$this->assertNotContains('_foo', CollectionService::getMarkdownPostList());

// returns true
$this->assertNotContains('foo', CollectionService::getMarkdownPostList());

// returns false
$this->assertEquals([], CollectionService::getMarkdownPostList());

Because the actual return value is
  Array (
	  0 => null
  )

When it should be
Array ()

Found cause.

See two options here, either filter the array, or switch back to using a foreach loop. Think I will go with the latter, accompanied with stricter tests.

Updated to hyde/framework v0.44.1-beta and can confirm the patch works.


Track changes with watchers

User story

As a developer
I want / need to track changes to resources
So that I can persist them in the database

Acceptance criteria

[ ] All resources of configured resource types are tracked by Kubernetes watchers
[ ] Event-based architecture
[ ] Changes are persisted in the database
[ ] Container Id is stored in database

Linked Issues

Blocked by:
Related to:

#43
#44
#54
#56

Implements

Additional information

Create a reusable component
No need to collect everything, just the base implementation for now
For now only containers, in the future there will be additional watchers for the othere resources

Definition of done (DoD)

Colours match with color scheme
Implementation is unit tested
Code documentation updated (jsdoc or godoc?)
Changes to database documented at Confluence- Database scheme
Changes to architecture documented at Confluence - Architecture

DoD general criteria

Feature has been fully implemented
All acceptance criteria were met
Product owner approved features
All tests are passing
Pull request to "develop" branch is merged & closed
Bill of materials is updated with new dependencies

Requires additional implement. First implementation of watchers done but needs adaption to database

Delayed due to illness.
Questions regarding

Kubernetes API integrated into database
Containers are challenging

Open:

Containers need to be written to DB
Documentation needs to be finished

Already contains implementation for nodes, services. So additional effort was done which caused the bigger real size.


Websocket unresponsive

Starting up and receiving data from a ticker_socket is successful, but after some time the callback function simply stops calling back.
I thought perhaps to start and stop the socket, but every combination of stops/starts or closing/starting the manager yielded an exception.
So I would like to know how/why the ticket websocket stops responding,
Or if it’s simply random, I would like to know how to properly restart it.
Thank you.
(Also, I am sleeping the thread inside the callback function, I’ll test it without that when I get the chance.)

Omitted the sleep as it wasn't actually necessary for my purposes. It's faring well so far, gonna run it overnight and report back then probably have this thread closed.


Unable to obtain required cookies

I tried to browse BB for 10 minutes. Tried different Chrome (google) account and incognito mode. The number between ~ ~ is always ||-1||. I eventually use the cookies i got on hand. How do I fix it? Should I not paste the cookies at all since it's not desirable? This morning BB released a shipment of 3080 FE and I missed it......

I'm having the same issue. Been stuck on ~-1~-1~-1 for days. I've tried browsing for 25+ minutes in and out of incognito, won't seem to make any change to the value. Any fix to this? I want to run the bot to get in on the FE BB drops.

Hi. Yeah I’m not sure. I just tried it right now and was able to get the 0 within a couple seconds. For some reason you haven’t inputted the sensor data necessary for them to believe you’re an actual human browsing. Go on incognito browse, search, scroll etc. just do anything you feel a bit normally wouldn’t do. If you’re just clicking links it’s most likely not going to work. Let me know either of you need more help

Hmm still not seeming to work. Should I try using a VPN maybe? I'm getting the -1-1~-1 value on all my devices, so maybe they flagged my IP address?

I tried to use my school VPN in incognito mode. Still the same result for me. ||-1||. I think I will just stick with this for now.

No you shouldn't use a vpn imo. It should come from a residential in if anything

Hmmm. Then yeah, I'm not sure what I'm doing wrong haha.

Wait I think I just realized something lol you guys are looking at the wrong part of the cookie value.  The cookie value should be good since first try. Closing this issue now


Issue when running the project on iOS with google_maps_flutter package. It Runs well on Android, but not on iOS

I have a project with google_maps_flutter package.
On Android it runs without any issue. When I compile the same project to iOS I have an error.
This is my pubspec.yaml file
version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  http: ^0.12.0+2
  provider: ^3.1.0
  shared_preferences: ^0.5.3+4
  intl: ^0.16.0
  font_awesome_flutter: ^8.5.0
  photo_view: ^0.5.0
  google_maps_flutter: ^0.5.21+6

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_launcher_icons: ^0.7.3

flutter:

  uses-material-design: true

I created the project using flutter create -a java -i swift
This is output when I run the project in iOS:
Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

    Finding Podfile changes
      A google_maps_flutter
      - Flutter
      - shared_preferences

    Fetching external sources
    -> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
    -> Fetching podspec for `google_maps_flutter` from `.symlinks/plugins/google_maps_flutter/ios`
    -> Fetching podspec for `shared_preferences` from `.symlinks/plugins/shared_preferences/ios`

    Resolving dependencies of `Podfile`
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_a_d_d.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only perfomed in repo update

Command
/usr/local/bin/pod install --verbose

Report

What did you do?

What did you expect to happen?

What happened instead?

Stack
    CocoaPods : 1.8.0
        Ruby : ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
    RubyGems : <IP_ADDRESS>
        Host : Mac OS X 10.14.6 (18G95)
        Xcode : 11.0 (11A420a)
            Git : git version 2.22.0
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib
Repositories : master - git - https://github.com/CocoaPods/Specs.git @ 40c05672ecb03be909839bd89fea45951e192179
                trunk - CDN - https://cdn.cocoapods.org/

Plugins
cocoapods-deintegrate : 1.0.4
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.4.0
cocoapods-try         : 1.1.0

Podfile
# Using a CDN with CocoaPods 1.7.2 or later can save a lot of time on pod installation, but it's experimental rather than the default.
# source 'https://cdn.cocoapods.org/'

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
    'Debug' => :debug,
    'Profile' => :release,
    'Release' => :release,
}

def parse_KV_file(file, separator='=')
    file_abs_path = File.expand_path(file)
    if !File.exists? file_abs_path
    return [];
    end
    pods_ary = []
    skip_line_start_symbols = ["#", "/"]
    File.foreach(file_abs_path) { |line|
        next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
        plugin = line.split(pattern=separator)
        if plugin.length == 2
        podname = plugin[0].strip()
        path = plugin[1].strip()
        podpath = File.expand_path("#{path}", file_abs_path)
        pods_ary.push({:name => podname, :path => podpath});
        else
        puts "Invalid plugin specification: #{line}"
        end
    }
    return pods_ary
end

target 'Runner' do
    use_frameworks!

    # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
    # referring to absolute paths on developers' machines.
    system('rm -rf .symlinks')
    system('mkdir -p .symlinks/plugins')

    # Flutter Pods
    generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
    if generated_xcode_build_settings.empty?
    puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first."
    end
    generated_xcode_build_settings.map { |p|
    if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
        symlink = File.join('.symlinks', 'flutter')
        File.symlink(File.dirname(p[:path]), symlink)
        pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
    end
    }

    # Plugin Pods
    plugin_pods = parse_KV_file('../.flutter-plugins')
    plugin_pods.map { |p|
    symlink = File.join('.symlinks', 'plugins', p[:name])
    File.symlink(p[:path], symlink)
    pod p[:name], :path => File.join(symlink, 'ios')
    }
end

# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
install! 'cocoapods', :disable_input_output_paths => true

post_install do |installer|
    installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
        config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
    end
end

Error
NameError - uninitialized constant Concurrent::Promises
Did you mean?  Concurrent::Promise
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/cdn_source.rb:126:in `block in versions'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/cdn_source.rb:121:in `map'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/cdn_source.rb:121:in `versions'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/specification/set.rb:99:in `block in versions_by_source'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/specification/set.rb:98:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/specification/set.rb:98:in `each_with_object'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/specification/set.rb:98:in `versions_by_source'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/specification/set.rb:56:in `specification_name'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/cdn_source.rb:212:in `search'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/source/aggregate.rb:83:in `block in search'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/source/aggregate.rb:83:in `select'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0/lib/cocoapods-core/source/aggregate.rb:83:in `search'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:416:in `create_set_from_sources'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:385:in `find_cached_set'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:360:in `specifications_for_dependency'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:165:in `search_for'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:274:in `block in sort_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:267:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:267:in `sort_by'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:267:in `sort_dependencies'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:53:in `block in sort_dependencies'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:70:in `with_no_such_dependency_error_handling'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:52:in `sort_dependencies'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:754:in `push_state_for_requirements'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:746:in `require_nested_dependencies_for'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:729:in `activate_new_spec'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:686:in `attempt_to_activate'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:254:in `process_topmost_state'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
/Library/Ruby/Gems/2.3.0/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/resolver.rb:94:in `resolve'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/installer/analyzer.rb:986:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/installer/analyzer.rb:984:in `resolve_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/installer/analyzer.rb:124:in `analyze'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/installer.rb:410:in `analyze'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/installer.rb:234:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/installer.rb:233:in `resolve_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/installer.rb:156:in `install!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:22:in `load'
/usr/local/bin/pod:22:in `<main>'

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=uninitialized+constant+Concurrent%3A%3APromises%0ADid+you+mean%3F++Concurrent%3A%3APromise&typ
e=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

Error output from CocoaPods:
↳
    /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/universal-darwin18/rbconfig.rb:215: warning: Insecure world writable
    dir /Users/nelsonalexandrino/FlutterProjects in PATH, mode 040777
    Searching for inspections failed: #<Pod::UserInterface::InspectorReporter:0x00007f857127ac10> does not handle
    inspector_successfully_recieved_report

Can you please help me.

@nelsonalexandrino I see you use cocoapods 1.8.0.
Please check https://github.com/flutter/flutter/issues/41209#issuecomment-534734686 and https://github.com/flutter/flutter/issues/41209#issuecomment-536043731. Please report if that solved the issue.

@BondarenkoStas Id did updated cocoapods to 1.81. and now everything is running as it should be.
Thank you for your support.


Questions regarding struct fields order

Could you please explain:

Why there is padding at the beggining of ZenQ structure?

	// ZenQ is the CPU cache optimized ringbuffer implementation
	ZenQ[T any] struct {
		// The padding members 0 to 4 below are here to ensure each item is on a separate cache line.
		// This prevents false sharing and hence improves performance.
		_           cacheLinePadding
		writerIndex atomic.Uint32
		_           [constants.CacheLinePadSize - unsafe.Sizeof(atomic.Uint32{})]byte
		readerIndex atomic.Uint32
		_           [constants.CacheLinePadSize - unsafe.Sizeof(atomic.Uint32{})]byte
		metaQ
		_ [constants.CacheLinePadSize - unsafe.Sizeof(metaQ{})]byte
		selectFactory[T]
		_ [constants.CacheLinePadSize - unsafe.Sizeof(selectFactory[T]{})]byte
	}

Ordering of the slot type, as I think that on 64 bit system there would be waste of 32 bit in case of item being smaller than 32 bit as 64bit pointer must be 64 aligned. Moving writeParker to the top of the structure would solve the issue.

slot[T any] struct {
		atomic.Uint32
		writeParker *ThreadParker[T]
		item        T
	}

Why there is padding at the beggining of ZenQ structure?

Simple reason would be the benchmarks ran faster with padding on top on 2 of my systems. I don't know how exactly but it happens.

Ordering of the slot type, as I think that on 64 bit system there would be waste of 32 bit in case of item being smaller than 32 bit as 64bit pointer must be 64 aligned. Moving writeParker to the top of the structure would solve the issue.

Got it, will make the changes. Also thanks for letting me know about this, really useful information.

Here you have some more info about alignment guarantees:
https://go.dev/ref/spec#Size_and_alignment_guarantees
https://pkg.go.dev/unsafe#Alignof
https://go101.org/article/memory-layout.html

Ordering of the slot type, as I think that on 64 bit system there would be waste of 32 bit in case of item being smaller than 32 bit as 64bit pointer must be 64 aligned. Moving writeParker to the top of the structure would solve the issue.

fixed with https://github.com/alphadose/ZenQ/commit/a6352fb1261916318d8ecccedca495d9f8756ad5


Should I start with TailwindCSS 1.0?

I've read v1.0 will have breaking changes, should I start with it although it's not a stable release? This project isn't going into production soon but I would like some stability at least.

I would for sure 👍🏻 the main blocker to the final release is just making
sure the documentation is fully updated.
On Fri, Mar 29, 2019 at 5:27 PM SHxKM<EMAIL_ADDRESS>wrote:

I've read v1.0 will have breaking changes, should I start with it although
it's not a stable release? This project isn't going into production soon
but I would like some stability at least.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tailwindcss/discuss/issues/238, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEH3bPzFayRtIC_luXMqzj7roYNKAKCrks5vboU3gaJpZM4cTRXW
.

Go it. Thanks for your hard work!


Spark 3.1.2 support does not work with protobuf (sparksql-scalapb)

Trying out a spark project with protobuf, when the executor runs:
Caused by: java.lang.NoSuchMethodError: com.google.protobuf.CodedInputStream.readStringRequireUtf8()Ljava/lang/String;
	at sensors.proto.Data$.parseFrom(Data.scala:140)
	at sensors.proto.Data$.parseFrom(Data.scala:126)
	at scalapb.GeneratedMessageCompanion.parseFrom(GeneratedMessageCompanion.scala:185)
	at scalapb.GeneratedMessageCompanion.parseFrom$(GeneratedMessageCompanion.scala:185)
	at sensors.proto.Data$.parseFrom(Data.scala:126)
	at cloudflow.streamlets.proto.ProtoCodec.$anonfun$decode$1(ProtoCodec.scala:27)

Probably because of many protobuf libs on the classpath,
looking at sparksql-scalapb, hadoop contains an outdated protobuf library that needs to be shaded:
https://scalapb.github.io/docs/sparksql/#setting-up-your-project
https://github.com/thesamet/sparksql-scalapb-test/blob/master/build.sbt
But cloudflow does not use sbt-assembly, so we need to find another way to ensure that the right protobuf library is used.
(could also have another reason, but we should be able to see from dependencies)
Should probably try https://github.com/coursier/sbt-shading to shade the dependencies.

Does this example work with Cloudflow 2.2.0 + Spark 3.1.2 + Avro ?

shading should fix it .. https://stackoverflow.com/a/41609653/16405999

Tried to shade the module as per https://scalapb.github.io/docs/sparksql/ but ran into https://github.com/scalapb/ScalaPB/issues/1122 ..

@debasishg , after further investigation the result is:

we can't use protobuf-java 2.5.0 since ScalaPB doesn't support it and we are using relevant code
shading is, really, the only option

taking a look at what you did, probably the missing steps to hack together something are:

remove all the libraries explicitly, since they are going to be included in the jar, e.g.:

extraDockerInstructions := Seq(
    Instructions.Run.shell(Seq("rm", "/opt/cloudflow/*.jar"))
 ),

add back the generated uber-jar in /opt/cloudflow and rename it /opt/cloudflow/cloudflow-runner.jar

if the resulting Docker image works we can cleanup the process.

@andreaTP also spark cannot work with protobuf-java 3.5.x - hence I guess  the only option is to ..

shade protobuf-java within scalapb so that it uses the shaded version
let spark use the 2.5.0 version (it uses APIs which are incompatible with 3.5.x
not sure what version akka-grpc needs though - will have to check

Hence I don't think we can delete all versions other than 3.5.x

@debasishg all good but:

Hence I don't think we can delete all versions other than 3.5.x

We strictly have to remove all versions but 2.5.0, which is the one used by Spark itself, 3.X will be shaded in the resulting application artifact and be used by akka-grpc, scalapb and Cloudflow.

@andreaTP Ok, so I shaded akka-protobuf as well, so that it also uses 3.15.8, which it requires. The problem is if I keep only 2.5.0 unshaded, the protobuf compiler complains of missing class ..
Compiling 2 protobuf files to /Users/debasishghosh/lightbend/cloudflow-contrib/examples/spark-sensors-proto/target/scala-2.12/akka-grpc/main
[error] java.lang.NoClassDefFoundError: com/google/protobuf/compiler/PluginProtos$CodeGeneratorRequest

The problem is if I keep only 2.5.0 unshaded, the protobuf compiler complains of missing class ..

You probably need an extra step, move the compilation of protobuf files to a separate sub-project, depends on the artifact, and shade the proto dependency.

Here's the latest status on this ..
After lots of attempts I figured out that the only way to achieve the goal is to do the following steps:

shade rules for protobuf-java (version 3.15.8) coming from scalapb
shade rules for protobuf-java (version 3.15.8) coming from akka-protobuf
shade rules for other sources of protobuf-java for any version other than 2.5.0
prepare an assembly of all jars except Spark so that all instances of protobuf-java v 3.15.8 are shaded and their transitive dependencies changed accordingly. This will result in an uber-jar + the Spark jars
use dependencyOverride to base the version of protobuf-java to 2.5.0, the one that Spark uses

This implies a redesign of how we package the image in cloudflow today for spark plugin. This is a significant effort I think. Should we invest time and effort on this ? @RayRoestenburg @andreaTP

This should be retried with 0.2.0, which upgrades to Spark 3.2.0. Closing this ticket for that reason.


Add "@since" to DeltaMergeMatchedActionBuilder.delete()

This small PR adds a @since 0.3.0 annotation to DeltaMergeMatchedActionBuilder.delete(), which seems to be the only public API function missing this.
I also noticed that this function is missing a @Evolving tag. Is this intentional?
CC: @rapoth @suhsteve @imback82

Thank you for catching this! This was an oversight on our part. Can you also add the Evolving tag

Added the @Evolving tag.


Suggestion: Focus on the lesson after finishing it

Hey,
usually if one finishes a lesson, Duolingo shows this screen:

But if I have startet a lesson via the Cracked Skills List (really nice feature btw)

then there is no aforementioned screen.
It's not really a hot button issue since I can just click the blue "open popup for..." button and start from there.

This is actually the intended behaviour - take the user back to where they came from.
If they went to a lesson from a link in a list at the top. Leave them at the top when they get out of the lesson. If they clicked on the start button in a skill's popout bubble, take them back there when done.
My thought process is that if you have say 5 things to address as per the lists at the top of the tree. you will want to go through them one by one. Once you have finished the first one, you will want to click on the next. Taking the user to somewhere other than the lists at the top after they have clicked one of the links would get in the way of the point of the lists - quick access without scrolling through the tree.
As you say the blue open skill popup button is there if you want to quickly go to a skill in the tree, so I don't see a reason to change this behaviour.
Given I don't think anything is amiss I'll close this issue.
Toran


feat(payload, ui): add allowEdit config to the admin of the relationship field

This PR adds a new property allowEdit to the admin of the relationship field. It is very similar to the existing allowCreate, only in this case it hides the edit icon:

Note: The Upload field also allows the allowCreate property. Its corresponding allowEdit analog will be implemented in a later PR.

This is done @DanRibbens


[Feature Request] allow color definition to be read from user-provided external definition file

referencing https://github.com/lkoehl/typst-boxes/issues/14
would it be possible to load color definitions from an external file (eg. JSON) ?

It's certainly possible and likely quite straightforward to implement. However, I don't see a strong case for including this functionality directly in the package. Instead, you can define your colors in an external JSON or another format, load them into your Typst template, and pass them as box-colors when using the package.


vulkaninfo: MacOS Presentable Surfaces information mixup

On MacOS, sometimes VK_MVK_macos_surface and VK_EXT_metal_surface output the same properties in vulkaninfo and other times output different properties.

@jeremyk-lunarg The #331 PR should of fixed this. Could you double check that the issue still occurs?


l2 norm calcuate error

https://github.com/koyeongmin/PINet_new/blob/fead6baf0210a11444bf02d8fda7b3a33cec8e8c/CurveLanes/test.py#L439
Is it should be dis = np.linalg.norm((feature[i] - j))?

Yes, l2 norm is dis = np.linalg.norm((feature[i] - j)). This is my mistake, but distinguishing each line depends on distance because them, it can work well if you determine suitable threshold. Thank you!


Cannot extract credentials from a "user-provided" definition in a local vcap file

Hi!
I am having issues with cfenv and a local vcap file. I created a user defined service with credentials in bluemix. I then exported that vcap definition from BM to use in my development environment.
{
"user-provided": [
        {
            "credentials": {
                "secret": "xxxxxxx",
                "user": "dummyuser"
            },
            "syslog_drain_url": "",
            "volume_mounts": [],
            "label": "user-provided",
            "name": "myservice",
            "tags": []
        }
    ]
}

I followed the instructions to configure cfenv with the local vcap:
...
var appEnv = cfenv.getAppEnv({
  vcap: vcapLocal
});
...

But when I try to fetch the credentials of the user-provided service, I always get an empty object.
var myserviceCreds = appEnv.getServiceCreds(/myservice/) || {};
Now I am not sure if cfenv considers user-provided sections or only "services"? Is my vcap file wrong?
Thanks in advance for any feedback.

The code is expecting the vcap option to have a services property:

vcap - provide values for the VCAP_APPLICATION and VCAP_SERVICES environment variable, when running locally. The object can have properties application and/or services, whose values are the same as the values serialized in the respective environment variables.

In your example, change
var appEnv = cfenv.getAppEnv({
  vcap: vcapLocal
})

to
var appEnv = cfenv.getAppEnv({
  vcap: { services: vcapLocal }
})

and I think it will work.
Here's a complete example: https://runkit.com/pmuellr/cfenv-issue-29


Save nightly build outputs prior to foreign key indexing

While debugging #1954, I realized the database sizes of successful runs were larger than expected. This is because the /devtools/datasette/publish.sh script indexes the foreign keys, which increases the size of the dbs. Luckily, this isn't breaking anything, but I think it's best to save the databases as they are output by the ETL. We'll also save a little GCS space.
This can be resolved by copying the ETL outputs immediately after the ETL and tests finish.

The FK indexing has been removed from the publish.sh script, so this is no longer relevant.


[ParseableInterfaces] Always load valid modules from the PIML

Previously, we would return errc::not_supported when there was a
valid .swiftmodule that we could load instead of compiling from an
interface. This worked great, when there was only one place in the
search paths where there's a .swiftmodule or .swiftinterface we could
load. We'd skip all the valid ones and then let the
SerializedModuleLoader load them instead.
However, when there's a valid .swiftinterface anywhere in the search
paths, suddenly we'll load from that instead of the valid .swiftmodule
we saw previously. Instead of returning not_supported and possibly
searching the rest of the paths for something that might not be right
for a local build, just pass up the module we've already loaded,
validated, and made sure is up-to-date.
Also add some more logging throughout discoverLoadableModule so we can
more easily catch/debug issues in the future.
Fixes rdar://49479386

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 7217e1a9746e995e6182362414330631777cfe99

Build failed
Swift Test OS X Platform
Git Sha - 7217e1a9746e995e6182362414330631777cfe99


[api-docs] fix the python example in the security and authorization docs

A new commit was made into the api-docs repo. This issue was created automatically. Need to review if we made any change to the library for this commit.
https://github.com/discord/discord-api-docs/commit/81268e36f3f7182f7b761770b5af0742719a2d43

ncn


CI: remove non-ptrguard tests

We will (most probably) remove non-ptrguard code before the next
release. Let's skip the tests already now, because they double the
likelihood of failing flaky tests.
Signed-off-by: Sven Anderson<EMAIL_ADDRESS>

Yesterday I was wondering if we shouldn't just split them up by the test matrix (ceph-version x ptrguard) in the CI yaml.  Do you think that the non-ptrguard version has no value in being tested now?  That would lead me to think that non-ptrguard should also be considered unsupported even if we leave the code in the tree....

Do you think that the non-ptrguard version has no value in being tested now?

Yes, I think it has no value anymore. We switched the default to ptrguard before last release, and IIRC we agreed to remove the non-ptrguard code before the next release, if no complaints come in.

That would lead me to think that non-ptrguard should also be considered unsupported even if we leave the code in the tree....

Not sure what you mean here. It is an implementation detail anyway. How can it be supported or unsupported?

Discussed this one verbally. We never really advertised the option so I agree that it doesn't make a lot of sense to advertise a change here either.


Feature Suggestion: Use Poetry for Dependency Management

Hi! Pumped to see that this exists and works, planning on eventually folding it into a HomeAssistant widget with regular updates.
I usually manage dependencies with Poetry just because it's pretty easy to maintain and cleans up the readme so you're not having to mention individual packages (you just have to get people to do pip install poetry && poetry install every time).
I've added that detail to my branch feat/use-poetry and would be happy to PR that if you think it'd be useful?
Thanks!

That would be a great addition. Thanks.