Question: Multiple Azure Function Apps projects in one solution - in-process solution

Hello, I would like to request assistance with using OpenAPI for a solution where I have multiple Azure Functions Apps projects. My solution has one common Startup file added to each of the projects as a Project Reference. I am using .NET 6.
I have installed Microsoft.Azure.WebJobs.Extensions.OpenApi for all Azure Function App projects and the project with the Startup file (the Startup project contains only this class + configuration).
When I run a single function locally, the documentation is generated. However, when I run my entire local server, I receive an error: "Could not load file or assembly 'Microsoft.Azure.WebJobs'" - I also have this package installed.
Is it possible to generate documentation for my scenario? Do I need to add any additional configuration?
Sample solution structure:
Server

AzFuncApp1
-- Function11
-- Function12
AzFuncApp2
-- Function21
-- Function22
StartupProject
-- StartupClass

For the functions I'm interested in, I have added:
[OpenApiOperation(operationId: "AddTags")]
[OpenApiSecurity("function_key", SecuritySchemeType.ApiKey, Name = "code", In = OpenApiSecurityLocationType.Query)]
[OpenApiRequestBody("application/json", typeof(IReadOnlyList<InsertTagRequest>),
	Description = "JSON request body containing { hours, capacity}")]
[OpenApiResponseWithBody(statusCode: HttpStatusCode.OK, contentType: "application/json", bodyType: typeof(StatusResponse),
	Description = "Statuses:\n\r - 0 - Ok status,\n\r - 1 - test")]

Is it possible to generate documentation for my scenario? Do I need to add any additional configuration?
Best regards,
Dawid

Please let me know if you need a better description or scenario step by step.

@DawidKuzminski Do you have a sample repo for me to reproduce? I have multiple azfunc app projects in one solution but no issue at all.

Thank you for your reply.
I will provide some examples for Thursday.

@justinyoo
OK, so one of my problems is solved after analyzing it with my teammate.
I didn't have the newest version of the framework which allows us to run the Azure function on a local PC (azure-functions-core-tools@4)
My current wall is that on a local PC, swagger generated endpoints only for one project.
On the server side, I can see only an empty page without any endpoints - App Insights shows that the page is generated without any issues.
I call: serverUel/api/swagger/ui
Could you please hint to me if I need any configuration on startup.cs per project?
I watched a lot of videos (also yours) but most of them are related to simple scenarios with one project.
at this moment I added that configuration to my startup class:
builder.Services.AddSingleton<IOpenApiConfigurationOptions>(_ =>
{
	var options = new OpenApiConfigurationOptions()
	{
		Info = new OpenApiInfo()
		{
			Version = "1.0.0",
			Title = "Swagger Petstore",
			Description = "This is a sample server Petstore API designed by [http://swagger.io](http://swagger.io).",
			TermsOfService = new Uri("https://github.com/Azure/azure-functions-openapi-extension"),
			Contact = new OpenApiContact()
			{
				Name = "Enquiry",
				Email =<EMAIL_ADDRESS>				Url = new Uri("https://github.com/Azure/azure-functions-openapi-extension/issues"),
			},
			License = new OpenApiLicense()
			{
				Name = "MIT",
				Url = new Uri("http://opensource.org/licenses/MIT"),
			}
		},
		Servers = DefaultOpenApiConfigurationOptions.GetHostNames(),
		OpenApiVersion = OpenApiVersionType.V3,
		IncludeRequestingHostName = true,
		ForceHttps = true,
		ForceHttp = false,
	};

	return options;
});

Hello @justinyoo
I created a repo with an example project:
https://github.com/DawidKuzminski/SwaggerInMultipleAzureProjectsInProcess/tree/master
Requirements:

.NET 6
azure-functions-core-tools@4

To reproduce:

download repo
restore nuggets
rebuild solution
-- folder InternalAPIFunctionsBin should be created if not exist
in PowerShell run copyAllFunctions.ps1 from the project repo level
-- Azure Functions dll and others should be copied to InternalAPIFunctionsBin
run server_start.cmd from the project repo level
go to https://localhost:7002/api/swagger/uihttps://localhost:7002/api/swagger/ui

In my case, only one function is shown.

Is there a chance for me to solve my problem? :)

@justinyoo could you please give me a hint, on how you configure your project with multiple Azure Function Projects in one solution?
and do you also publish all of your projects to one Azure Function App on cloud?

ping

ping

did you manage to do it? can you share the solution?


lsst/lsstsw -> lsst/repos split (repos.yaml)

I thought about it -- I was concerned that it would be more confusing than helpful.  repos.yaml will still appear at the same path relative to the root of the lsstsw clone, it just isn't checked into the repo any more.  I'll hold off on merging this and take a fresh look at it this afternoon.

Added a tiny bullet point to build-ci/lsstsw.rst and repushed.


unable to listen on ports 25 and 587

Is there an existing issue for this?

There is a related issue in kong/kong project (https://github.com/Kong/kong/issues/12898) but IMHO, i think this is more a misconfiguration or chart issue.

Context
Freshly installed kubernetes with version 1.29.1 in digitalocean
Kong version ($ kong version)
3.6
Chart version
tried with both kong/kong 2.38.0 and kong/ingress 0.12.0
Expected behaviour
I would like to use Kong Ingress Controller to listen on ports 25 and 587 because i want to expose email services that are running inside the cluster. I would like also to do SNI based routing on the port 587.
Current Behaviour
According to documentation to enable listening on ports lower than 1024, the gateway needs to run as root. This is done via the values configuration:
containerSecurityContext: # run as root to bind to lower ports
  capabilities:
    add: [NET_BIND_SERVICE]
  runAsGroup: 0
  runAsNonRoot: false
  runAsUser: 0
proxy:
  stream:
    - containerPort: 25
      servicePort: 25
      protocol: TCP
    - containerPort: 587
      servicePort: 587
      protocol: TCP
      parameters: [ssl]

those values are placed in values.yaml
helm repo add kong https://charts.konghq.com
helm repo update
helm install kic kong/kong -n kong

The status of the pods is checked via
kubectl get pods -n kong

When this option is used, the pod never starts because it tries to call the admin api client but gets a "conection refused".

Detailed logs
Defaulted container "ingress-controller" out of: ingress-controller, proxy, clear-stale-pid (init)
2024-05-05T15:41:33Z	info	Diagnostics server disabled	{"v": 0}
2024-05-05T15:41:33Z	info	setup	Starting controller manager	{"v": 0, "release": "3.1.4", "repo": "https://github.com/Kong/kubernetes-ingress-controller.git", "commit": "ebae7a53040f8f95272e8fa642244a88a6df57fd"}
2024-05-05T15:41:33Z	info	setup	The ingress class name has been set	{"v": 0, "value": "kong"}
2024-05-05T15:41:33Z	info	setup	Getting enabled options and features	{"v": 0}
2024-05-05T15:41:33Z	info	setup	Getting the kubernetes client configuration	{"v": 0}
W0505 15:41:33.633804       1 client_config.go:618] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.    Using the inClusterConfig.   The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "8464b91c-e0fb-4413-bf57-7cabb7975b34", "v": 0}
2024-05-05T15:58:13Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "8464b91c-e0fb-4413-bf57-7cabb7975b34", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	info	controllers.Gateway.V1GatewayClass	Starting workers	{"v": 0, "worker count": 1}
2024-05-05T15:58:13Z	info	controllers.KongLicense	Starting workers	{"v": 0, "worker count": 1}
2024-05-05T15:58:13Z	info	controllers.KongVault	Starting workers	{"v": 0, "worker count": 1}
2024-05-05T15:58:13Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "c5a628e6-4308-4263-ab8d-932796774f33", "v": 0}
2024-05-05T15:58:13Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "c5a628e6-4308-4263-ab8d-932796774f33", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "81df0c5a-80b5-4ad0-b135-4a402c63d1a7", "v": 0}
2024-05-05T15:58:13Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "81df0c5a-80b5-4ad0-b135-4a402c63d1a7", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "40d7d996-b4d1-4916-a093-dd91b5663f49", "v": 0}
2024-05-05T15:58:13Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "40d7d996-b4d1-4916-a093-dd91b5663f49", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "b92bf0e9-b3e3-41f6-8aef-6e176f30cce1", "v": 0}
2024-05-05T15:58:13Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "b92bf0e9-b3e3-41f6-8aef-6e176f30cce1", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "cdc46429-6269-4050-ab19-b1c361f5a82d", "v": 0}
2024-05-05T15:58:13Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "cdc46429-6269-4050-ab19-b1c361f5a82d", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:13Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "e9fb50ed-9d29-4dd4-a31e-f35c06290665", "v": 0}
2024-05-05T15:58:13Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "e9fb50ed-9d29-4dd4-a31e-f35c06290665", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:14Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:14Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "abf0bafe-30b6-42f9-afc5-9fb346b8fc18", "v": 0}
2024-05-05T15:58:14Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "abf0bafe-30b6-42f9-afc5-9fb346b8fc18", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:14Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:14Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "8f6de5f9-4096-482e-9934-84692ca03346", "v": 0}
2024-05-05T15:58:14Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "8f6de5f9-4096-482e-9934-84692ca03346", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:16Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:16Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "bc86706e-a1c6-4f9f-86a6-2926364c1182", "v": 0}
2024-05-05T15:58:16Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "bc86706e-a1c6-4f9f-86a6-2926364c1182", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:18Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:18Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "7e438ade-39da-48af-bbd4-4050fd5e109f", "v": 0}
2024-05-05T15:58:18Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "7e438ade-39da-48af-bbd4-4050fd5e109f", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:21Z	info	Successfully synced configuration to Kong	{"url": "https://localhost:8444", "update_strategy": "InMemory", "v": 0}
2024-05-05T15:58:23Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:23Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "c0508d67-82df-40fa-a64b-d016ed9824d0", "v": 0}
2024-05-05T15:58:23Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "c0508d67-82df-40fa-a64b-d016ed9824d0", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:33Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:33Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "316ca12c-5759-497b-8542-8f812c2f622f", "v": 0}
2024-05-05T15:58:33Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "316ca12c-5759-497b-8542-8f812c2f622f", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:54Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T15:58:54Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "fef9ba46-dff5-47d6-8c26-b5c43c16dbd5", "v": 0}
2024-05-05T15:58:54Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "fef9ba46-dff5-47d6-8c26-b5c43c16dbd5", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}

Enabling Admin API specifically
If Admin API is not enabled specifically, this warning is shown when installing the helm
WARNING: Kong Manager will not be functional because the Admin API is not
enabled. Setting both .admin.enabled and .admin.http.enabled and/or
.admin.tls.enabled to true to enable the Admin API over HTTP/TLS.

But enabling the admin API does not produce any change in the behaviour

Installing with kong/ingress
I tried also to install chart kong/ingress specifically setting the security context in the gateway section
gateway:
  containerSecurityContext: # run as root to bind to lower ports
    capabilities:
      add: [NET_BIND_SERVICE]
    runAsGroup: 0
    runAsNonRoot: false
    runAsUser: 0
  deployment:
    hostNetwork: true
  proxy:
    stream:
      - containerPort: 25
        servicePort: 25
        protocol: TCP
      - containerPort: 587
        servicePort: 587
        protocol: TCP
        parameters: [ssl]

Then the controller starts perfectly
$ kubectl get pods -n kong
NAME                              READY   STATUS             RESTARTS     AGE
kic-controller-69b57cfddf-wxpgx   0/1     Running            0            10s
kic-gateway-7c4cb4985-qqghw       0/1     CrashLoopBackOff   1 (1s ago)   10s

But the gateway gives this error
$ kubectl logs kic-gateway-7c4cb4985-qqghw -n kong
Defaulted container "proxy" out of: proxy, clear-stale-pid (init)
nginx: [emerg] chown("/kong_prefix/dbless.lmdb", 65534) failed (1: Operation not permitted)

Older versions
After testing all older versions, I found out that the problem starts to happen on chart version 2.30.0. Chart version 2.29.0 starts without any problem with the following value configuration
containerSecurityContext: # run as root to bind to lower ports
  capabilities:
    add: [NET_BIND_SERVICE]
  runAsGroup: 0
  runAsNonRoot: false
  runAsUser: 0
proxy:
  stream:
    - containerPort: 25
      servicePort: 25
      protocol: TCP
    - containerPort: 587
      servicePort: 587
      protocol: TCP
      parameters: [ssl]

Any clue?

After digging into the problem, i have seen that it seems there is a conflict between the policy set in the values.yaml. Comenting the capabilities.drop in the original values.yaml makes enabling the listening on lower ports to work.
# securityContext for containers.
containerSecurityContext:
  readOnlyRootFilesystem: true
  allowPrivilegeEscalation: false
  runAsUser: 1000
  runAsNonRoot: true
  seccompProfile:
    type: RuntimeDefault
#  capabilities:
#    drop:
#    - ALL

What still bothers me is that the difference between those two options, wether or not the pod is able to reach the admin api client

With `capabilities.drop: [ ALL ]`
```
$ kubectl logs kic-kong-78b5d9f79f-x5g8b -n kong
Defaulted container "ingress-controller" out of: ingress-controller, proxy, clear-stale-pid (init)
2024-05-05T21:26:57Z	info	Diagnostics server disabled	{"v": 0}
2024-05-05T21:26:57Z	info	setup	Starting controller manager	{"v": 0, "release": "3.1.4", "repo": "https://github.com/Kong/kubernetes-ingress-controller.git", "commit": "ebae7a53040f8f95272e8fa642244a88a6df57fd"}
2024-05-05T21:26:57Z	info	setup	The ingress class name has been set	{"v": 0, "value": "kong"}
2024-05-05T21:26:57Z	info	setup	Getting enabled options and features	{"v": 0}
2024-05-05T21:26:57Z	info	setup	Getting the kubernetes client configuration	{"v": 0}
W0505 21:26:57.925910       1 client_config.go:618] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.    Using the inClusterConfig.   The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "a9bb2107-92dc-49a1-9958-3d8679fbd1fa", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "a9bb2107-92dc-49a1-9958-3d8679fbd1fa", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.KongLicense	Starting workers	{"v": 0, "worker count": 1}
2024-05-05T21:43:27Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "5b1b0b94-178e-43fc-b814-eac48ff5f286", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "5b1b0b94-178e-43fc-b814-eac48ff5f286", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "bb9c378f-c2d3-49ae-8462-5c5002f7d143", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "bb9c378f-c2d3-49ae-8462-5c5002f7d143", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "7dbd3cd0-11a6-4e00-8081-bcfe7806d5eb", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "7dbd3cd0-11a6-4e00-8081-bcfe7806d5eb", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.HTTPRoute	Starting workers	{"v": 0, "worker count": 1}
2024-05-05T21:43:27Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "155275da-188c-4071-b601-ed106def0832", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "155275da-188c-4071-b601-ed106def0832", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Ingress.netv1	Starting workers	{"v": 0, "worker count": 1}
2024-05-05T21:43:27Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "14a6f3bd-79de-4dee-b501-e8d2f529864d", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "14a6f3bd-79de-4dee-b501-e8d2f529864d", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "25ab04f3-c763-4c0b-b532-137f225b3959", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "25ab04f3-c763-4c0b-b532-137f225b3959", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:27Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "10d8ddc1-a720-4bb9-954b-135bf3e68792", "v": 0}
2024-05-05T21:43:27Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "10d8ddc1-a720-4bb9-954b-135bf3e68792", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:28Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:28Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "c3da348e-4e63-4590-ac08-eb5f4919a4db", "v": 0}
2024-05-05T21:43:28Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "c3da348e-4e63-4590-ac08-eb5f4919a4db", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:29Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:29Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "91192126-4ad0-4ec8-8fd9-ee2c8d2ea744", "v": 0}
2024-05-05T21:43:29Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "91192126-4ad0-4ec8-8fd9-ee2c8d2ea744", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:32Z	error	controllers.Gateway	One of publish services defined in Gateway's "konghq.com/publish-service" annotation didn't match controller manager's configuration	{"GatewayV1Gateway": {"name":"kong","namespace":"default"}, "namespace": "default", "name": "kong", "service": "kong/kong-gateway-proxy", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:32Z	info	controllers.Gateway	Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes reqeueuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler	{"reconcileID": "3b495718-e69f-4080-98bb-06de7be0acec", "v": 0}
2024-05-05T21:43:32Z	error	controllers.Gateway	Reconciler error	{"reconcileID": "3b495718-e69f-4080-98bb-06de7be0acec", "error": "publish service reference \"kong/kong-gateway-proxy\" from Gateway's annotations did not match configured controller manager's publish services (\"kong/kic-kong-proxy\")"}
2024-05-05T21:43:35Z	info	Successfully synced configuration to Kong	{"url": "https://localhost:8444", "update_strategy": "InMemory", "v": 0}
2024-05-05T21:43:35Z	error	controllers.TCPIngress	Reconciler error	{"reconcileID": "ec25ef61-80e7-4d76-9a20-860167f6c28b", "error": "waiting for addresses to be provisioned for publish service kong/kic-kong-proxy"}
2024-05-05T21:43:35Z	error	controllers.TCPIngress	Reconciler error	{"reconcileID": "7e60e569-78b6-4c25-9dc3-3dfcd5e7f10c", "error": "waiting for addresses to be provisioned for publish service kong/kic-kong-proxy"}
```

Finally, installing kong/kong with the following options makes everything work
 helm install kic kong/kong -n kong -f proxy-stream-security.yaml
containerSecurityContext: # run as root to bind to lower ports
  capabilities:
    add: [NET_BIND_SERVICE]
    drop: []
  runAsGroup: 0
  runAsNonRoot: false
  runAsUser: 0
proxy:
  stream:
    - containerPort: 25
      servicePort: 25
      protocol: TCP
    - containerPort: 587
      servicePort: 587
      protocol: TCP
      parameters: [ssl]

You just need to override the capabilities.drop to []

We want to drop all capabilities by default because most install don't need them and it allows installing into restricted namespaces.
AFAIK setting an explicit [] empty array value is indeed all you need here. The way default overrides work for array and object types in Helm YAML merges unfortunately isn't entirely intuitive.
Closing this since it looks solved, but if there was still some lingering issue please respond back and we can review further.

Hi,
Maybe we can add a small comment on the documentation?
Thanks


2.0.45 - GUI issues

@Bazzu85
GUI issues not fixed

@Bazzu85

Please increase About window woidth.,
Currently is too small and the window title "Info programma" is truncated.

Hi, I merged your last translation and fixed the graphic glitches.
Can you try this build before pushing to release section?
MKVmergeBatcher <IP_ADDRESS>5.zip

@Bazzu85
Fixed most of the issues about GUI and language.
Jsu a small GUI issue.
Please check screenshot.

Jsu a small GUI issue.

Hi, here's:
MKVmergeBatcher <IP_ADDRESS>6.zip
if you confirm I can put it in release section!

@Bazzu85
Thanks for new version

String "json files (.json)" not translated (in italian is "Files json (.json)

In this window if you can please set two strings with right alignment
See before and after window layout.

In this window mkvmerge path can be truncated.
Move "Extension" subwindow down, move down mkvmerge box path and "Browse" button.
See before and after window layout.
Thanks.

Hi, sorry for the delay

String "json files (.json)" not translated (in italian is "Files json (.json)

done

In this window if you can please set two strings with right alignment

done

In this window mkvmerge path can be truncated.

done. You can always enlarge the window!
Try this build:
MKVmergeBatcher <IP_ADDRESS>0.zip

@Bazzu85
Thanks for new version.
All fixes reported in the apst now are OK.
I found another GUI issues.

"exe files (.exe)" for me should be "Exe files (.exe)"
In Italian si "File eseguibili (*.exe)"
Thanks.

@Bazzu85

Seeems that the problem is pending.
Please change "Indirizzo file vdieo" in "Percorso file video"
Thanks.

@Bazzu85

"exe files" drop down ìtranslation problem fixed.
Please change
"Indirizzo file video" in "Percorso file video" "Files video" in "File video"
Thanks.

Please update the excel file and re-attach here

@Bazzu85
Please post the excel file link.

How to add new line in multiperiod string like
"Coda in elaborazione. Vuoi stoppare l'attuale job?"
"Coda in elaborazione. Vuoi stoppare l'attuale job?"

I've to try on a label and see how is transported on the resx file (maybe with a \n ?)

@Bazzu85
Please check and when you will have the confirm post the answer here and I will update the Excel files.

Hi,
sorry for the long wait but I totally forgot this issue.
Using the IDE I can put multiline text.
Here's an example:

is this what you want to achieve?
if yes you can manage multiline translation in excel file directly

I'll attach the last version:
2023_02_28_12_17.xlsx

@Bazzu85
Done. Thanks.
2023_02_28_12_17.xlsx

@Bazzu85
Done. Thanks.
2023_02_28_12_17.xlsx

Hi,
can you try this build?
MKVmergeBatcher <IP_ADDRESS>7.zip

Increment Error window width

To show this box the app use the standard MessageBox item. This is not customizable.
A custom form can be done but the effort is too much at the moment. sorry

Please check overlap on bottom left

Fixed.

Please replace "Attenzione:" with "Avvisi:"

Nope. The warning/error wording needs to be homogeneous.
In italian translation is "Attenzione" in all sections

if you meant that in the particular section of the windows highlighted previously need to be "Avvisi" you can try to fix the excel section about "WarningLabel" and send it again

Please check button ballon help on top right (seems swapped - both in english and italian)

This are swaped in italian translation I see:

Fixing the excel may be enought
With a new excel I can provide you another build!
thx

@Bazzu85
In this context "Warnings" in italian is "Avvisi" (not "Attenzione".
Then please send me a new Excel file and I will check.

@bovirus
You can use the last you have!

New Excel file.
2023_02_28_12_17.xlsx

@bovirus
here's:
MKVmergeBatcher <IP_ADDRESS>0.zip

@Bazzu85
2023_02_28_12_17.xlsx
Program OK.
Just few string changed (I forgot to swap Move task up/on top)
Thanks.

MKVmergeBatcher <IP_ADDRESS>1.zip
If all is ok please close the issue and I'll put it in the release section!
thx

@Bazzu85
Program is OK.
Please take care about screenshot and strings.
For me the relative string in the context shouldn't end with "?"

Language file update
2023_02_28_12_17.xlsx
Change GUI language
If you can I suggest to add a popup when change GUI language that suggest to close and restarr program to take effect about new language file.
This to avoid that some part are not updated as language.

@Bazzu85
Are you right.
I didn't udnerstand why in the past (some version ago of this day) when I change GUI language some parts of Task list was not updated.
If I close and restart the application all messages are in right langiuage.
But now seems works fine.

Good to hear that.
Here's last build:
MKVmergeBatcher <IP_ADDRESS>2.zip

@Bazzu85
All is OK:
Issue closed.
Many thanks.


Untrusted Connection errors about 50% of the time upon page load.

Because our security certificate is self-signed, modern browsers will throw an "Untrusted Connection" error at users about half the time they load a page. Adding a security exception only works temporarily.

This itself is a problem just because I used two different certificates for haproxy so that it thinks the certificate is being reset when it jumps server connections.  All of this will be fixed with the inclusion of a signed certificate we are hoping to receive sometime in the near future.

Now that proper certs are issued and configured this should never be the case anymore.


Signup , sign-In not working fine

there is no need of 3 sections profile, signup,sign in rather than this they can be combine in a single button in working condition , In signup.html existing user button is not working also there is no hover effect also . Also signin page name is coming as signup and vice versa.

@arghadipmanna101  Assign this task to me I will do it

ok. go ahead @Meetjain1 best of luck 🤞

@arghadipmanna101 Thankyou sir, I have just raised a PR regarding this issue .

is this problem solved ? i want to contribute i am working under GSSOC'24,  @arghadipmanna101 will you assign this problem to me .

is this problem solved ? i want to contribute i am working under GSSOC'24, @arghadipmanna101 will you assign this problem to me .

Yes it is working properly no need to change anything in signup and sign-in page if you want to work in backend you can. ok

pr #63


LineChart Y-Axis doesn't scale

The scale will start at 0 no matter what.  If you have values, in say, the 40-60 range, they will get smashed into a tiny part of the range which will be from 0-60.

Hi @ryanbillingsley, this is due to LineChart' range keeps enlarging but not shrinking back when the given data is in smaller interval. So I guess in your case, you may have fed a  small number (0 maybe) and the display range is stuck there.
This is actually a bug need to fix, and will fix soon. Let me know if this is not your case.

@gizak that data starts with the 40 - 60 interval, so the range isn't changing.  It looks like the problem lies with this line in chart.go:
if lc.minY < lc.bottomValue {
    lc.bottomValue = lc.minY - 0.2*span
}

Because lc.bottomValue is not being set to anything, it will be 0, and always 0.

@ryanbillingsley, Hey you are right, it's not been initialized! Will fix it!


Remove lock files

Hi,
I see that your library is using lock files but I believe that you should avoid it.
Lock files are great to get reproducible builds for applications (top level packages) but should be avoided in libraries (non top level packages) because it prevents CI to automatically get the latest version of the dependencies: devs have to update it manually. This is a problem because lock files are not used for library consumers. It means that consumers are always the first to be affected by breakage in transitive dependencies while it would be better to catch it in your own CI.

Hi, I just got the notification. It may come a bit late but I just wanted to add there does not seem to be a consensus about lock files for libraries. I usually used them but discussed recently with some maintainers that recommend the opposite the reasons I explained above.
I see that you decided to remove it, but please also check the pros and cons. I am currently trying both styles for my libraries so I'm also interested by your feedback.

I usually remove them, sometimes I don't care enough one way or the other and will publish one. I'll continue removing them in the future, mostly just to clear up annoying diffs.


Consider not setting indentation settings in ftplugin/j.vim

The settings
setlocal shiftwidth=2
setlocal softtabstop=2
setlocal expandtab

perhaps shouldn't be set in the ftplugin. Many good-quality filetype plugins don't set the ts/sts/sw/et settings, and they are probably right. As it is, the user would have to override these settings in an after file.
Some good filetype plugins do set these settings, but they do so in the indent file.

Indeed, the overwhelming majority of bundled filetype plugins don't set any indentation options. For most filetypes, tab settings are ultimately down to user preference.
Removed.


Unable to install from pip

What steps will reproduce the problem?

1. $ pip install 'pydot==1.0.28'

What is the expected output? What do you see instead?

Installation should proceed correctly.

Instead I have to do the following to get this to work.

$ pip install 'pydot==1.0.28' --allow-external pydot --allow-unverified pydot

What version of the product are you using? On what operating system?

$ pip --version
pip 1.5.6

Please provide any additional information below.

$ lsb_release  -a
LSB
Version:	:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics
-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:	CentOS
Description:	CentOS release 6.4 (Final)
Release:	6.4
Codename:	Final

$ python --version
Python 2.6.6

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 5 Jul 2014 at 6:38

Indeed, allowing external downloads for pip is needed when the distribution tarball is not on PyPI. Should be fixed by #96.


Deprecate is_admin_site

Resolves #772

LGTM, thank you for the PR!

Released as 6.0.0b5 pre-release.


feat(helm): upgrade traefik (#832)

I have realized that our traefik dependency is from 3 years ago. Updating the treaefik dependency resolved the linting error. I tested it with 5 different workflows and it seems to be working fine.
closes (#798)

Works well!
By moving from the Traefik helm chart v10.6.2 to v31.0.0 we are also moving from Traefik v2.5.4 (source) to v3.1.2 (source).
I have checked the migration guide and the changes and it seems like we are not affected by any of it, even more so because we are using k8s Ingresses and not traefik's IngressRoutes. The only change that might have affected us is the change of behaviour of PathPrefix, which does not support regexes anymore (source); we are not using regexs in router rules, so we are good.
Just two small comments:

Could you rebase the PR?
Could you chage the commit message to highlight that we are moving to traefik v3? Something like build(helm): upgrade Traefik to v3 (#832)

I rebased and updated the commit message. I also tested the version 31.1.0 and it seems to be working fine too. So updated the version from 31.0.0 to 31.1.0.


Allow users to submit TUI forms early

Is your feature request related to a problem? Please describe.
This issue aims to improve UX when dealing with long TUI forms. This change would be especially welcome for server configure which has a large number of inputs that the user always needs to go through.
Describe the solution you'd like
I suggest we implement a "shortcut" to submit the form early. E.g. ctrl+enter and inform the user about that in the footer.
Additional context
Submitting early would still have to validate the form.

/bounty $30

/attempt #710

@idagelic
The shortcut that you mentioned ( control + enter ) is already present (refer the attached screen shot at the bottom next and shift+tab is mentioned).

But when I don't give anything and click enter it's still  accepting it.So I need to create a validation rule for this right.(and throw some error like please enter a valid url )and same applies to all those places where this kind of validation is needed right ?
Please correct me if I'm wrong.

@Niharika0104 I didn't understand where the "control + enter" shortcut is already present from your comment? You do not need to add any more validations for fields as a part of this issue, we can take care of that separately if needed. Right now, we just need to "process" each existing validation check when submitting the form prematurely.

@idagelic
The form shown in the attached screenshot appears after executing the command (dtn server configure). I assume this is the form that requires early submission. Just to clarify, when you mention early submission, do you mean that we should add a Control + Enter shortcut in the footer, similar to how we have Next and Shift + Tab mentioned? This way, when a user presses Control + Enter, the form will be submitted with the default values while still validating the existing rules.
I apologize for the lengthy message, but I wanted to make sure I understand correctly. This form contains many input fields, and almost all of them have default values stored. However, when I modify these fields away from their default values and leave them empty, they are still considered valid (as there are no validation rules applied).
Thank you for your assistance!

/attempt #710

@Niharika0104 That is correct, empty fields are fine (they might not really be fine in some cases but that is not a part of this issue). The footer help line needs a "ctrl+enter" or "ctrl+s" part on each view as well, that is also correct. I can see that another contributor submitted a PR for this that looks pretty good at a similar time as you added the question so I would suggest tackling another issue. Maybe take a swing at #665 or #668 ? We'd really love to resolve those. Thanks!


type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type  in type cast

Hi!
My config:
  $default:
    sources:
      - lib/**
      - swag/**
    builders:
      swagger_dart_code_generator:
        options:
          with_base_url: false
          input_folder: "swag/"
          output_folder: "lib/api/"
          include_path::
            - "swag/*"
          include_if_null:
            enabled: true
            value: false
          with_converter: true

Chema contains this part:
...
"/rooms": {
    "get": {
        "operationId": "getRooms",
        "parameters": [
            {
                "type": "string",
                "description": "Rooms owner",
                "name": "id",
                "in": "query",
                "required": true
            }
        ],
        "responses": {
            "200": {
                "description": "Loaded rooms",
                "schema": {
                    "type": "array",
                    "items": {
                    "$ref": "#/definitions/room"
                    }
                }
            },
        }
    }
},
...
"definitions":{
    "room": {
        "type": "object",
        "properties": {
            "author": {
                "description": "UUIDv4 of author of last message",
                "type": "string"
            },
            "avatar": {
                "description": "UUIDv4 of fake user as avatar of room",
                "type": "string"
            },
            "id": {
                "description": "UUIDv4 of room",
                "type": "string"
            },
            "lastMessage": {
                "description": "Last message payload",
                "type": "string"
            },
            "name": {
                "description": "Fake user name as room name",
                "type": "string"
            }
        }
    }
}

I've generated .dart code with flutter pub run build_runner build --delete-conflicting-outputs
Later, i'm trying to execute getRooms method. Signature is correct:

But any operation with access to value.body is failed with unhandled exception.
Error says, that data inside value.body is not expected generic Room, it's a map.
I'm tracked problem until Swagger.getRooms -> client.send -> _handleSuccessResponse -> _decodeResponse -> withConverter.converResponse. There is no call of Room.fromJson or e.t.c., just JSON decoders.
In _interceptResponse still no .fromJson methods. There is no calls of .fromJson in entire output_folder:

Is it misconfig or misunderstand?

Hi @Dafaque ,
Please use just include_if_null: true/false
Since prerelease it's just bool value.

@Dafaque
https://github.com/epam-cross-platform-lab/swagger-dart-code-generator#includeIfNull-for-model-generation
See note. NOTE! FOR 2.1.0 and higher use just include_if_null: true/false
I will remove this note and update description to avoid misunderstandings..

Hi!
Changed as you told. Now got this err while generating:
type 'bool' is not a subtype of type 'Map<dynamic, dynamic>' in type cast
pub finished with exit code 78

Config now:
targets:
  $default:
    sources:
      - lib/**
      - swag/**
    builders:
      swagger_dart_code_generator:
        options:
          with_base_url: false
          input_folder: "swag/"
          output_folder: "lib/api/"
          include_path::
            - "swag/*"
          include_if_null: true
          with_converter: true

Using latest ver:
# pubspec.lock
swagger_dart_code_generator:
    dependency: "direct dev"
    description:
      name: swagger_dart_code_generator
      url: "https://pub.dartlang.org"
    source: hosted
    version: "2.0.8+1"

Hi!
Upgraded to 2.1.0-prerelease.6., and changed as you told.
Now error while try to generate files:
[SEVERE]
type 'bool' is not a subtype of type 'Map<dynamic, dynamic>' in type cast

If use previous version will throw this error:
[SEVERE]
type 'YamlMap' is not a subtype of type 'bool?' in type cast
pub finished with exit code 78

And if not use this key at all error won't appear.
But topic issue still appear.

@Dafaque , please make flutter clean and flutter pub get. It could help

@Dafaque if issue still appear - please share build.yaml file

clean helped with generation, but issue still here:

build.yaml:
targets:
  $default:
    sources:
      - lib/**
      - swag/**
    builders:
      swagger_dart_code_generator:
        options:
          with_base_url: false
          input_folder: "swag/"
          output_folder: "lib/api/"
          include_path::
            - "swag/*"
          with_converter: true
          include_if_null: true

@Dafaque, so code is generated, but it has compile time errors, right?
Can you please share swagger file or part of it? Or just something
Or it's runtime error?

Part of swagger file is in issue description.
Issue is runtime.
I'm calling getRooms method, the result in func signature is Future<Response<List<Room>>>>, but when i accessing response.body i got error, that tells that data in body is not Room - it is a map.

@Dafaque  Ah yes I see. I will check it ASAP and fix it.

Hi @Dafaque,
I've checked your request and everything is OK. I've setted up some rooms in my Firebase.
https://firebasestorage.googleapis.com/v0/b/vovanella.appspot.com/o/rooms%2Frooms.json?alt=media&token=b1cdf8a9-6bd0-417f-9aea-6a9521a023f7
I see next possible problems.

You created client in wrong way. Possible you forgot to add $JsonSerializableConverter
final client = SomeSwagger.create(

ChopperClient(
baseUrl: 'https://imdb8.p.rapidapi.com/auto-complete',
converter: $JsonSerializableConverter(), // <- converter
interceptors: [FirebaseInterceptor()]),

- Your response is incorrect. Please make sure there is list (without additional brackets).

If problem is not solved - maybe we can make Discord call and see (room is in Readme).

Hello!
You are right, my converter was different from $JsonSerializableConverter
In my case, I need to manually specify the hostname, so the standard constructor of client didn't work for me.
Could you complement your example on pub.dev with a manual configuration case?
Thank you very much for helping me figure it out!


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.12.11",
  "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=555002a840ab88468e252b0eedf0b05e2ce7099c"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "555002a840ab88468e252b0eedf0b05e2ce7099c",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "bcache: avoid oversized read request in cache missing code path\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.12.11 by commit 555002a840ab88468e252b0eedf0b05e2ce7099c. For more details please see the references link."
}
--- UVI JSON ---

checking....

This issue has been assigned UVI-2021-1001026


Handle new spot data model server-side

Two big changes to the spot data model:

Allow multiple orientation measurements for a single Spot
Allow one rock unit for a Spot

The orientation fields are pulled from the KoBo forms TabularZoneOrienation, LinearOrienation and Planar Orientation with the EXCEPTION of the fields orientation_type. I have the app adding that in so we know what type of orientation measurement we have. The values for this field are linear_orientation, planar_orientation or tabular_zone_orientation.
You'll also note that each orientation measurement can have an associated orientation. Those measurements are in an array called associated_orientation.
@jasonash If you think this should be structured differently let me know. I am going to start integrating this into the map and after that I will work on the sync functionality.
Here is a capture of what the data model looks like:

And here is what the same spot looks like on the orientation page:

@jasonash I just went through the KoBo forms for each of the orientation measurement types and changed the field names. So for example before we had planar_strike and line_strike in their respective forms but now both field names are just strike. Since we're differentiating between the different orientation measurement types with the field orientation_type, as described in the post above, we do not need to differentiate in the other field names. This makes the coding less verbose.

@jessica-azgs I have altered the REST API to handle the new data model. I have attached my test JSON document. Of course, this document isn't comprehensive, but all of the new KoBo form fields should work fine. Please let me know when you are done with the app side, and I will test the server functionality further.
new_model_json.txt

@jasonash Did you see my message above, just before your last one, where I changed the field names? Your test json still has the old field names with planar_feature_type instead of feature_type and line_plunge instead of plunge as two examples. All the field names I'm using are in KoBo. If we have the field names correct they should download and show up in the app fine.

@jessica-azgs  Yes, I saw the message. Sorry, I sent my original document. The new names should work fine.

@jasonash Oh ok. Spots created in the app seem to be uploading and downloading fine. Not sure about if someone creates spots from a shapefile through your interface.
(Btw I never changed to the new dev db you set up .. still using http://strabospot.org/db/)

@jessica-azgs The shapefile parser will need some re-work to fit with the new data model. I will work on this next. No, I went ahead and kept the api at db since the app wasn't working with it any longer.


Need usage object in OpenAIChatCompletionRequestBody response model of OpenAI module

"usage": {     "completion_tokens" = 61;     "completion_tokens_details" =     {         "reasoning_tokens" = 0;     };     "prompt_tokens" = 94;     "total_tokens" = 155; }
Can we get the usage object in the response model please?

@fizz-viva this is now available on the main branch and in AIProxySwift release 0.24.0. Please see this PR for usage instructions: https://github.com/lzell/AIProxySwift/pull/45
Thanks for the feedback!

@lzell ah, great. Thanks a lot.
One more feedback: Can you use Semantic Versioning for releases so that we can use any specific version?

`public struct OpenAIChatUsage: Decodable {
/// Number of tokens in the generated completion.
let completionTokens: Int?
/// Number of tokens in the prompt.
let promptTokens: Int?

/// Total number of tokens used in the request (prompt + completion).
let totalTokens: Int?

/// Breakdown of tokens used in a completion.
let completionTokensDetails: Details?

private enum CodingKeys: String, CodingKey {
    case completionTokens = "completion_tokens"
    case promptTokens = "prompt_tokens"
    case totalTokens = "total_tokens"
    case completionTokensDetails = "completion_tokens_details"
}

}`
Hey @lzell did you forget to make properties public to access outside of the package? Please have a look and make them accessible publicly.

@fizz-viva whoops! Fixed now on main and version v0.24.1


bug(python): with openai embedding, it falls to long loop (or retry) if there are text field to be None

LanceDB version
No response
What happened?
When there are None's in the text data, the ingestion process does not finish.
Are there known steps to reproduce?

class TextModel(LanceModel):
    text: str = func.SourceField()
    vector: Vector(func.ndims()) = func.VectorField()

df = pandas.DataFrame({"text": [None, None, "abcd"]})
table = db.create_table(name, schema=LossCodeModel, mode="overwrite")
table.add(df)

the logging level was set to info so the retry msgs were not really showing up. https://github.com/lancedb/lancedb/pull/1267


[Android] Add skeleton for Compose support

Changes

Add a new library project, :library-compose, that exposes the editor as a Composable
Add a new example project, :example-compose, that shows how to integrate the new UI
Migrate to Gradle version catalogs now that we have 4 modules in the project
Add some basic functionality (bold, italic, setHtml)
Add an integration test

Breaking changes

EditorEditText is no longer a descendant of TextInputEditText as this was preventing use in non-AppCompat themes

Screenshots

Light
Dark

Future work

Bring Compose library to parity with the View based library
Publish the library for apps to consume

Context

Part of #315

Hey, I just wanted to add some info here, since there could be a possibility of creating a 100% Compose library using PlatformTextInputAdapter like this, wrapping our existing InputConnection: https://android-review.googlesource.com/c/platform/frameworks/support/+/2406439/38/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
I think this is what we should implement in the long term but if we're constrained by time, we can start with this view-based implementation and iterate on it once the API is more mature.

@jmartinesp great point but yes the reason for wrapping the legacy View library is indeed time constraints; it allows us to maintain both view and compose libraries in a single place.
But as this library and compose both mature, I suspect there come a time where view support is less important and 100% compose is able to give better flexibility in terms of layout and style than we currently have with TextView and Span. At that point it'd be great to move in that direction.


Extension in chrome store (unreasonably) requests access to "all data on all sites"

This extension unreasonably requires "god permissions" There is no reason this extension needs to have the permission to steal my banking and email password; it knows the urls for which it needs access to.

Even if the extension is not malicious, what if the keys are compromised? It's a risk that could easily be avoided. People should not install extensions that ask for more access than they actually need.

Thanks much @DanTup for pointing this out. I've restricted the permissions to just Stack Overflow/Exchange and published a new version to the Chrome Web Store.

Much better, GJ! 👍


Slow processing

I test this project once but it seems it is slower than other converters, to the best of my knowledge using Total Audio Converter is best because it can easily convert almost any audio to WAV, MP3, OGG, WMA, APE, FLAC, MP4, AAC, MPC. A convenient batch option is available.
For details go to link
https://www.coolutils.com/TotalAudioConverter

Hi, this tool is not a converter, it's just a script that calls a converter 🙂 (opusenc by default, but you could adjust it to use different converters if you need).
As a sidenote opusenc is free, while that other tool seems to be paid.
If you're interested in using different converters with this script feel free to create a PR.


Use gitdetective corpus

No corpuses for now. Don't see the benefit. Need a universal link to each function regardless of project or repo. Kythe corpus is the most universal.


Inject style mechanism for choosing child slots implicitly

This might not jive with #439 though

RowList is equivalent to a Coproduct, so it would probably work fine. You would be selecting the first component that matches instead of directing it by the label. Not sure what the inferences issues would be like.

One problem with this though will be the compiler evidence. While the lookup is easy enough, it will inevitably require an IsSymbol constraint to dispatch when one is found. That means every time the function is called, it will have to pass in all the IsSymbol constraints for the current component.

Oh, actually I take that back. The lookup doesn't require an IsSymbol constraint, only when it's found, so you should be able to do
queryInj
  :: forall s f g c m sym cs a
   . RowToList c cs
  => LookupQuery cs g sym
  => IsSymbol sym
  => g a
  => HalogenM s f c m (Maybe a)

Or something like that...

Closing this as I don't think it's that much better, and Coproducts are log gone.


Understand IRIS Cube

Hi,
i have a little question...
I load the data in a iris cube and i got with:
iris.FUTURE.netcdf_promote =  True
meteo_data=iris.fileformats.netcdf.load_cubes(filenames, callback=None)
cube = iris.load(filenames)
print(cube)
something like this:
0: mass concentration of PPM2.5 in humid air / (kg m-3) (time: 24; layer: 5; latitude: 152; longitude: 116)
1: mass concentration of PPM2.5 in humid air / (kg m-3) (time: 24; layer: 5; latitude: 152; longitude: 116)
2: mass concentration of sodium in humid air / (kg m-3) (time: 24; layer: 5; latitude: 152; longitude: 116)
but it seems, that there are no values inside the cubes, only time, layer, latitude and logitude.
In my netcdf files are the falues... how i can fix it, and how i can do now a crosssection plot...
coord = cube[0].coord('latitude')
cross_section = next(cubes[0].slices([coord,cube[0].long_name]))
Best

Hi @SamothKo. There is nothing wrong here, we just don't print all the values when you print your CubeList (this is actually a list of 3 cubes not a single cube).
The Iris User Guide has an introduction to cubes and coordinates and how to interpret them that might help you understand what you are seeing, and how to do useful things like plotting loaded cubes.
In addition you can ask questions about the best way to do your analysis (and anything else iris/cartopy related) on the iris discussion group.

Thanks :D


Reusing Focus turns it into a Black Focus

So, I  was trying to reuse an Advanced Focus but it turned into a black focus with no effects and sucked up the resources

The focus table is bugged in a lot of ways. I've had this same issue and the trick is to not leave the focus table while it's creating a focus or it'll bug out and try to apply a nothing-spell to the focus because it forgets the settings you selected despite consuming the mats.


DLT Africa corper's registration page - Tablet screen

Design the tablet screen size:
https://www.figma.com/design/UvuGOtKPQOUYlawTAjaqdW/Bootcamp-Website?node-id=3078-2829&t=visY4RfBg559BFZi-4
On successful registration, a modal with countdown of 40 seconds should pop up telling them about the registration completion and a mail will be sent to them

hello


Support HTTPS proxying

This will be a nice feature. Looking forward to using this in testing Salesforce REST API interactions.

I need to figure out how to pass the SSL credentials from the Betamax proxy to the target host. I have a test working with the client connecting to the proxy via HTTPS but in that case I'm just faking the certificate & skipping authentication.

OWASP webscarab-ng source code for proxying HTTPS : https://code.google.com/p/webscarab-ng/source/browse/trunk/src/main/java/org/owasp/webscarab/plugins/proxy/Proxy.java (Warning: GNU GPL v2 source code)

Older version of webscarab HTTP proxying: http://owasp.cvs.sourceforge.net/viewvc/owasp/webscarab/src/org/owasp/webscarab/plugin/proxy/ConnectionHandler.java?revision=HEAD&view=markup (GNU GPL v2 license)

You sure about the license? According to this page the project is CC licensed

The content of that media wiki page is CC licensed, the code looks to be licensed under gpl v2.

License of Webscarab-ng is mentioned here: https://code.google.com/p/webscarab-ng/ and also in the header of http://owasp.cvs.sourceforge.net/viewvc/owasp/webscarab/src/org/owasp/webscarab/plugin/proxy/ConnectionHandler.java?revision=HEAD&view=markup .
They have a licensing issue themselves as Apache HttpClient code is used in GPL code. I believe in "pure" GPL v2, all "linked" code has to be GPL .

I've been doing some experimenting using Jetty's ProxyServlet overridden to simply set a Via header on request & response (see https://github.com/robfletcher/betamax/commit/ad5d60c51f20a5c932692cc57d41a7f734528c75) but I can't get further than the proxy server rejecting the HTTPS request as it thinks it's plaintext. Not sure if my test is too naive but the same thing happens if I configure a browser to use the proxy & try to connect to an HTTPS URL.

https proxy protocol is decribed in this "ietf internet draft" document: Tunneling TCP based protocols through Web proxy servers .
Quote from document describing the data pipelining (example of proxy authentication):
 CLIENT -> SERVER                        SERVER -> CLIENT
 --------------------------------------  -----------------------------------
 CONNECT home.netscape.com:443 HTTP/1.0
 User-agent: Mozilla/4.0
 <<< empty line >>>
                                         HTTP/1.0 407 Proxy auth required
                                         Proxy-agent: Netscape-Proxy/1.1
                                         Proxy-authenticate: ...
                                         <<< empty line >>>
 CONNECT home.netscape.com:443 HTTP/1.0
 User-agent: Mozilla/4.0
 Proxy-authorization: ...
 <<< empty line >>>
                                         HTTP/1.0 200 Connection established
                                         Proxy-agent: Netscape-Proxy/1.1
                                         <<< empty line >>>
              <<< data tunneling to both directions begins >>>

RFC2817 mentions:
"The CONNECT method was originally described in a Work in Progress
titled, "Tunneling TCP based protocols through Web proxy servers",
[8] by Ari Luotonen of Netscape Communications Corporation.  It was
widely implemented by HTTP proxies, but was never made a part of any
IETF Standards Track document. The method name CONNECT was reserved,
but not defined in [1]."
"Since HTTP/1.1 [1] defines Upgrade as a hop-by-hop mechanism, this
memo also documents the HTTP CONNECT method for establishing end-to-
end tunnels across HTTP proxies."

Webscarab (links to source code in my previous comments) contains a working implementation of a https MITM proxying, only problem is that the code is GPL licensed.

Yeah, I was hoping to be able to implement this without rewriting the whole proxy layer. It's currently based on Jetty but it seems like the Jetty ProxyServlet may not handle CONNECT requests (several people seem to have got stuck at the same point as me).
If I do change the implementation to use a bespoke proxy I don't want to be too dependent on using Webscarab as an example because of the licensing issue.

Note to self: Peter Ledbrook has some example code attached to this bug report that might help ensure I'm doing the client connection correctly in the test: http://jira.codehaus.org/browse/GMOD-266

Betamax is a great product!
Supporting https handling becomes better than now.
I'm expecting implementing this feature.
Thanks.


[Port] hide convert to sdk-style from project context menu (#19002)

This PR fixes #19001. We still need some more time to finalize including system dacpacs in the Microsoft.Build.Sql SDK, so hiding in this release.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 42.351%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
27600

Relevant Lines:
60925

💛  - Coveralls


Add files via upload

Add tsinglan school

@GT3CHAN Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

@GT3CHAN You might miss my previous comment. Please react.

@GT3CHAN I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for your understanding!


Allow alias for alias ports

I can create an alias Test with different alias hosts inside.
But I cannot create an alias Test with all alias ports inside. When I start typing, I get the name of all alias ports I have created. But I cannot save this alias.
Is this is by design, you shouldn't show alias ports drop down.
If not, please allow to save it. It would make firewall rules much easier.

@Tragenit it's a bug, https://github.com/opnsense/core/commit/8d00e4885797c28aff8c1b55bdc0cc5161623860 should solve it

Very nice for the fast fixes. Thanks.


Tailwind plugin is declared but not used. Is it expected?

In tailwind starter, the apps/next/tailwind.config.js has a plugin variable (L1) that's not used. What does it supposed to do?
https://github.com/nandorojo/solito/blob/d9d5361acd7107c65f8ff409c4dbcf1f6dd3fa73/example-monorepos/with-tailwind/apps/next/tailwind.config.js#L1-L16

@marklawlor?

This is actually a small bug, fix is here https://github.com/nandorojo/solito/pull/149.The plugin adds some additional Tailwind features like Platform Variants. This isn't documented very well on the site, there's an open issue to track the documentation
If you do you not to use these features your safe to simply remove the plugin.


Drawing tool: enabled snapping (for v4.18)

The new snapping feature that's coming in 4.18 is disabled by default, setting it to true for the SketchViewModel in DrawingTool

@olga-knyazeva can you also bump the package version in this PR? I need that for publishing...

@olga-knyazeva can you also bump the package version in this PR? I need that for publishing...

@mvdbster updated :)

@olga-knyazeva can this be merged to master :)?

@olga-knyazeva can this be merged to master :)?

@olga-knyazeva can this be merged to master :)?

yessss, I was so sure I merged it, sorry 🙈

@olga-knyazeva can this be merged to master :)?

yessss, I was so sure I merged it, sorry 🙈


Fix NullpointerException in Element.isInlineable()

Regression, introduced in 3a9bf46eeb36196d841c3fa05597e40a13f51f43 .
parent() will be null for freshly cloned, created or removed Elements.

Oh, it's the identical issue to #1444

Thanks for this. Same change was included in 77fcaf4dcdc8fd185e2f5d8eb6aa9c425a38bc9b when adding nullability annotations.


Fix validation of standard container resources only for pod and container.

Fix validation of standard container resources only for pod and container when validating limit range Max.

So we would need to touch every call of validateContainerResourceName in this function...
https://github.com/kubernetes/kubernetes/blob/master/pkg/api/validation/validation.go#L2061
https://github.com/kubernetes/kubernetes/blob/master/pkg/api/validation/validation.go#L2066
https://github.com/kubernetes/kubernetes/blob/master/pkg/api/validation/validation.go#L2080
https://github.com/kubernetes/kubernetes/blob/master/pkg/api/validation/validation.go#L2085
https://github.com/kubernetes/kubernetes/blob/master/pkg/api/validation/validation.go#L2092
Ideally, we would have a validation function that takes the LimitType as an argument and call that instead and have that delegate to either call validateResourceName or validateContainerResourceName appropriately.
Once you have that create a unit test in validation_test for TestValidateLimitRange that passes a different LimitType in for example, "mythirdparty.com/something" and be sure it validates fine.

@derekwaynecarr updated this PR. PTAL.

@derekwaynecarr if you are ok, I can send it to kube upstream and we can continue discussion there, anything is fine.

just make those updates then we can open upstream.  I think we also want something that validates limit type is a valid qualified name if not standard to upstream.  similar to validateResourceName

cc me on the pr upstream, so I can review.

@derekwaynecarr sure. will open PR soon.


Review and publish thirdweb's smart contract documentation

### Tutorials
- [ ] Deploy a contract using thirdweb
- [ ] Create web3 applications using thirdweb SDKs
- [ ] Web3 tools & utilities

On hold until thirdweb RPC issue is fixed.

thirdweb requires several weeks to work on the known integration issue. on hold until this issue is fixed


Can we implement a gridview or a listview inside content ?

I am trying to add Flatlist inside header content but getting issues

I was doing something similar with Gridview having 2 items per row, what's odd is that when I select the different header to open the other items it seems to cause a redraw on the header and gridview items that doesn't have the styling applied.  This only happens when one item is open and I don't close it before opening the other item.
Not sure if I'm explaining this well but here is my code to see if it exposes any errors.

  _renderHeader(level) {
      return (
        <View alignSelf='center' justifyContent='center' alignItems='center' style={{backgroundColor:'rgba(255, 255, 255, 0.2)', marginRight:5, marginLeft:5, width:'90%', height:50, borderWidth:2, borderColor:colors.white}}>
            <Text style={{color:colors.white}}>{level.name}</Text>
        </View>
      )
  }

  _renderContent(level) {
      return (
        <View flexDirection='row' alignSelf='center' justifyContent='center' alignItems='center' style={{width:'90%'}}>
            <GridView
                data={level.rooms}
                itemsPerRow={2}
                renderItem={(room) => {
                    return (
                        <View flex={0.8} justifyContent='center' alignItems='center' style={{backgroundColor:'rgba(255, 255, 255, 0.2)', height:100, margin:5, borderWidth:2, borderColor:colors.white}}>
                            <Text style={{color:colors.white}}>{room.name}</Text>
                        </View>
                    )
                }}
            />
        </View>
      )
  }


Feature/remove beta

https://github.com/dockstore/dockstore/issues/2605

no longer has logged in homepage and my-services in beta mode
update of layout for logged in homepage (not final, still a work in progress)
requests shown on homepage as a widget

Note there are some places I commented out/files I did not delete yet. Waiting on approval of the format before I do so.

Screenshot looks nice!

Looks great! I'd prefer for news and updates to be in the main body, but could see it either-way.

@Ldcabansay I am open to the news and events being in the main body. As we complete more parts of the homepage we can move stuff around (ex. Denis suggested tools/workflows going in the middle and activity on the left.

@denis-yuen


chore: Update execute error message

Related:

https://github.com/nervosnetwork/godwoken-web3/pull/437

can we merge this pr? I don't have merge auth @ShookLyngs


nimsuggest shows an error with anyIt from sequtils

template anyIt*(s, pred: untyped): bool =
  var result = false
  for it {.inject.} in items(s):
    if pred:
      result = true
      break
  result

let path = "hello.backup"
if ["backup", "orig", "old2", "old", ".1"].anyIt(it in path): echo "wow"

❰dian❙~/Projects/nim-snippets(git:master)❱✔≻ nimsuggest --stdin a.nim
> chk a.nim
chk     skUnknown               Hint    ???     0       -1      "a [Processing]"        0
chk     skUnknown               Error   /home/dian/Projects/nim-snippets/a.nim  10      52      "type mismatch: got <string, string>\x0Abut expected one of: \x0Aproc contains[T](a: openArray[T]; item: T): bool\x0A  first type mismatch at position: 2\x0A  required type for item: T\x0A  but expression \'it\' is of type: string\x0A2 other mismatching symbols have been suppressed; compile with --showAllMismatches:on to see them\x0A\x0Aexpression: contains(path, it)"  0
chk     skUnknown               Error   /home/dian/Projects/nim-snippets/a.nim  10      52      "expression \'\' has no type (or is ambiguous)" 0

>

I don't think this is a bug, you're missing an import strutils at the top, as in is sugar for contains, and the particular implementation you're looking for is defined within the strutils module.


New Theme

title at top and subtitle were removed. make sure its clean and what we wanted
remove other k8s leftover theme files
consolidate css directories

cleaner split of custom vs copied code

list of custom files for reviewer
remove custom getting started html page

[ ] Sidebar entries with parenthesis aren't expanding correctly.

I think this looks much much better  - once passing semaphore and rebased on the latest code I'd be happy with this going in - and we can make further tweaks later on.
Does this work ok on mobile, did the old theme work ok on mobile?

Looks really good!!  Wanted to add a few things:
We should:

make the table header a dark color (like in the old theme)
alternate row in the table to be different color
when you clock on the hyperlinks they don't change color (usually it's blue to purple when the link is already visited)
Code block (like a yaml for example) looks different (not red) like in most markdowns

Everything else looks dope!


Error when enableCustomStyleProperties set to true.

Using polymer 0.8 preview.
Got a component, loading in some CSS via the new HTML-like import mechanism (i.e. inside the dom-module tag).
Also got enableCustomStyleProperties set to true on polymer element prototype.
The following CSS:
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

Yields the following error:
Uncaught SyntaxError: Failed to execute 'matches' on 'Element': 'button[style-scope=px-tables]::-moz-focus-inner, input[style-scope=px-tables]::-moz-focus-inner' is not a valid selector.Polymer.Base.addFeature.elementMatches @ shady.html:119Polymer.Base.addFeature._customPropertiesFromRule @ x-styling.html:86forEachStyleRule @ style-util.html:32forEachStyleRule @ style-util.html:40Polymer.Base.addFeature._customPropertiesFromStyles @ x-styling.html:74Polymer.Base.addFeature._computeOwnStyleProperties @ x-styling.html:60Polymer.Base.addFeature._computeStyleProperties @ x-styling.html:37Polymer.Base.addFeature._updateOwnStyles @ x-styling.html:30Polymer.Base.addFeature._beforeConfigure @ x-styling.html:25Polymer.Base.addFeature._configure @ configure.html:65Polymer.Base.addFeature._initializeContent @ ready.html:119Polymer.Base.addFeature._readyContent @ ready.html:105Polymer.Base.addFeature.initFeatures @ polymer.html:47Polymer.Base.createdCallback @ base.html:35
3x-styling.html:114 Uncaught SyntaxError: Failed to execute 'matches' on 'Element': 'button[style-scope=px-tables]::-moz-focus-inner, input[style-scope=px-tables]::-moz-focus-inner' is not a valid selector.

This seems to be fixed in Polymer 2: http://jsbin.com/cumuvezoxi/edit?html,console,output


Method to update manifest URI

A partner recently asked if there was a way to update the manifest URI for a piece of content at the application level without reloading the content.
There are a couple of workarounds possible with Shaka Player today, but none of them is very natural.  It should not be very difficult to add an explicit API for this on Player and pass the information to the manifest parser through the ManifestParser plugin API.
In the mean time, this could be worked around client-side using a request filter:
// Using a request filter:
player.getNetworkingEngine().registerRequestFilter(function(type, request) {
  if (type != shaka.net.NetworkingEngine.RequestType.MANIFEST) return;
  // Replace the manifest URI with an updated URI on every request before it goes out.
  request.uris = [ latestManifestUri ];
});

For DASH, this could also be managed server-side using a <Location> element in the manifest to point to a new manifest URI.

We are trying to do this and are having some problems. Is there a requirement that the manifest to which we redirect be identical to previous ones? What if the new manifest points to the same content, but presented differently in the manifest?
By "presented differently" I mean:

availabilityStartTime is different
timeShiftBufferDepth is different
Period@start is different
Segment times S@t are different, and there may be different amounts of segments per manifest
presentationTimeOffset is different

Both use SegmentTemplate + SegmentTimeline.
I haven't dug deeply into the player's behaviour yet, but on observation I see that playback stalls when I try to switch the manifest, and doesn't recover.
Either manifest on its own plays fine in Shaka, it's just the switching that doesn't work. This may be a loaded question, but would you expect this to work?
I will see if I can put together a demo. Thanks.

If you change everything about it, then I would expect you to have issues.  :-)
What happens when we update the manifest is that we merge the old information and the new.  If I recall correctly, as of v2.5, this happens first at the period level.  So if there's no relation between the periods of the original and the updated manifest, I would expect playback to fail in one way or another.
In v2.6, we plan to flatten periods into a list of segments in the DASH parser, so this would be less of an issue post v2.6.
As for the rest, availabilityStartTime is ignored by default for SegmentTimeline, and timeShiftBufferDepth can change at any time without causing any trouble.  Segment times are combined with presentationTimeOffset and period start, so I think those might be fine to change to some degree if the periods align.

Just to clarify, we are still using 2.4.0. Is availabilityStartTime ignored for that version?

No, that's starting in one of the v2.5 betas.  So changing AST would also be an issue for you, as that will affect our view of the availability window.

Theoretically, could the player construct a new PresentationTimeline on manifest change? Do you think playback could recover?
This is of some interest to us, because we have a variety of failover scenarios to support, and it would be nice to recover within the same playback session. We could potentially work on a PR if you thought it was possible.
The manifests we fail over to are the "same content", i.e. the same live stream, but different: ads versus no ads, longer timeShiftBufferDepth versus shorter. Some of the manifests are processed by an external vendor before being passed to the player. So, we aren't always certain that the timeline described in the manifest will be exactly the same.
There is another reason we want this -- we experience persistent playback problems on Tizen when a stream starts in clear content and switches to encrypted. Being able to start with a stream we knew was completely encrypted, then switch to a blended one, would be nice.

Is anyone interested in seeing this supported?