Invoking Azure Function results in timeout even with callback

AccountName: o365exchange.visualstudio.com
TeamProject: O365 Sandbox/SubstrateDevX
Agent - Hosted or Private:
Hosted agent 2017
I am trying to define a pipeline where as a part of agentless job, I invoke an Azure Function call. This used to work well for the first couple of days. This is a short running function and completes within 20 sec. Then for some reason, the function gave the below error:
Response Code: 0
Response: An error was encountered while processing request. Exception:
Exception Message: The request timed out after 20 seconds as no response was received. (type TimeoutException)
Changing the option to "Callback" instead of "ApiResponse" also resulted in the same error.
The actual function is triggered and has completed successfully.
This is the path to the failure: https://o365exchange.visualstudio.com/O365 Core/Substrate DevX/_releaseProgress?releaseId=71321&_a=release-environment-logs&environmentId=86096

@shkrishms can you please re-run your release after adding a variable System.Debug with value as true in your release and see whether you get more logs?

i am also encountering this, after a successful function app deploy using "Azure App Service Deploy" then invoking "Invoke Azure Function" to check a successful deployment.
Utility Name : Invoke Azure Function
Response Code: 0
Response: An error was encountered while processing request. Exception:
Exception Message: The request timed out after 20 seconds as no response was received. (type TimeoutException)
Also even if using "Invoke REST API" utility, the same error is encountered.
Utility Name : Invoke REST API
System Debug : True
Parsing expression: <TaskInputs[TaskInputs['connectedServiceNameSelector']]>
TaskInputs
[
..TaskInputs
..[
....'connectedServiceNameSelector'
..]
]
Evaluating: TaskInputs[TaskInputs['connectedServiceNameSelector']]
Evaluating indexer:
..Evaluating TaskInputs:
..=> Object
..Evaluating indexer:
....Evaluating TaskInputs:
....=> Object
....Evaluating String:
....=> 'connectedServiceNameSelector'
..=> 'connectedServiceName'
=> 'd9ad5ca1-ecea-4189-8053-6882b578ff4d'
Result: 'd9ad5ca1-ecea-4189-8053-6882b578ff4d'
Response Code: 0
Response: An error was encountered while processing request. Exception:
Exception Message: The request timed out after 20 seconds as no response was received. (type TimeoutException)

@canteboi and @shkrishms, can you please share where the 20 seconds is getting spent in your scenarios so that we can see what should be done to make your flows successful?

Hello, I am also encountering this with following error when calling a function using Invoke Azure Function task -
Response Code: 0
Response: An error was encountered while processing request. Exception:
Exception Message: The request timed out after 20 seconds as no response was received. (type TimeoutException)
Invoke Azure Function task doesn't throw above error if function returns with response in less than 20 sec.
Any help resolving above will be appreciated.

Hi there,
I'm having the same issue. I followed the proposed solution but the behavior hasn't changed as I am still getting the 20-second timeout
Thoughts?

@martins-vds can you please share the link to a failed release and also the code that you have written inside azure function to call back?

I've also noticed a different behavior.
I'm calling 2 azure functions as you can see bellow and the one that fails is the first on.

Build summary

Azure function step log

I am encountering the same issue.
I've created a Function which spins up a Container Instance (with a docker-buildagent) which takes about 90 seconds to complete. I've use the callback as Completion event and in my function I RaiseCompletion.
2 Questions concerning this:

as I've chosen for the Callback completion event, why does it still timeout? Is this a behaviour of Agentless tasks?
Is there any way to increase the timeout setting?

Thanks in advance!

I am encountering the same issue.
I've created a Function which spins up a Container Instance (with a docker-buildagent) which takes about 90 seconds to complete. I've use the callback as Completion event and in my function I RaiseCompletion.
2 Questions concerning this:

as I've chosen for the Callback completion event, why does it still timeout? Is this a behaviour of Agentless tasks?

Even if you select callback completion your function should return with in 20 secs. 'Callback' mode means task waits for completion event from external, and not wait till function completes. If your function has any time consuming tasks, you should handle that work to another thread and main function should return immediate, and newly created thread should complete work and raise task completed event at end. In your case container instance spin should handover to another thread. Please refer this AzureFunctionHandler example, in this example function creates another thread to do actual work and main azure function return immediately.

Is there any way to increase the timeout setting?

No

Thanks in advance!

Hi @bansalaseem ,
I'm actually using the azure function in a build definition to spin up an instance of a containerized build agent.
Here is the link to the failed build (I've added you to the team project):
https://vinima.visualstudio.com/My%20Work/_build/results?buildId=163
Here is the code in the azure function:
if(!EnsureAuthenticated(log))
            {
                return req.CreateErrorResponse(HttpStatusCode.InternalServerError, "Failed to execute function. Check logs for more details.");
            }
            var resourceGroup = await _azure.ResourceGroups.GetByNameAsync("vsts");
            var agentName = await GetNameAsync(req, "name");

            var azureDevOpsUrl = GetHeaderValue(req, "VSTS_AGENT_INPUT_URL");
            var azureDevPatToken =  GetHeaderValue(req,"VSTS_AGENT_INPUT_TOKEN");

            log.Info("Configuring environment variables");

            var env = new Dictionary<string, string>
            {
                { "VSTS_AGENT_INPUT_URL", azureDevOpsUrl },
                { "VSTS_AGENT_INPUT_AUTH", "pat" },
                { "VSTS_AGENT_INPUT_TOKEN", azureDevPatToken },
                { "VSTS_AGENT_INPUT_POOL", "AzureContainerInstance" },
                { "VSTS_AGENT_INPUT_AGENT", agentName }
            };

            log.Info("Environment variables configured");

            log.Info("Creating container instance");

            var privateContainerRegistry = Environment.GetEnvironmentVariable("ContainerRegistryUrl");
            var userName = Environment.GetEnvironmentVariable("ContainerRegistryUsername");
            var password = Environment.GetEnvironmentVariable("ContainerRegistryPassword");

            try
            {
                var containerGroup = await _azure.ContainerGroups.Define(agentName)
                        .WithRegion(resourceGroup.RegionName)
                        .WithExistingResourceGroup(resourceGroup)
                        .WithLinux()
                        .WithPrivateImageRegistry(privateContainerRegistry, userName, password)
                        .WithoutVolume()
                        .DefineContainerInstance(agentName)
                            .WithImage("contoso.azurecr.io/build-agent:latest")
                            .WithoutPorts()
                            .WithEnvironmentVariables(env)
                            .Attach()
                        .CreateAsync();

                log.Info("Container instance created");
            }
            catch (Exception e)
            {
                log.Error($"\nFailed to create container instance:\n{e.Message}", e);
                throw;
            }

            return req.CreateResponse(HttpStatusCode.OK, "Azure DevOps agent is running");

I think "await _azure.ContainerGroups.Define ..." call taking more time. You should handover this work to another thread and return from main function. Newly created thread should complete work and raise task completed event at end.  Please refer this AzureFunctionHandler example, in this example function creates another thread to do actual work and main azure function return immediately.

Hi @bansalaseem ,
I'm actually using the azure function in a build definition to spin up an instance of a containerized build agent.
Here is the link to the failed build (I've added you to the team project):
https://vinima.visualstudio.com/My%20Work/_build/results?buildId=163
Here is the code in the azure function:
if(!EnsureAuthenticated(log))
            {
                return req.CreateErrorResponse(HttpStatusCode.InternalServerError, "Failed to execute function. Check logs for more details.");
            }
            var resourceGroup = await _azure.ResourceGroups.GetByNameAsync("vsts");
            var agentName = await GetNameAsync(req, "name");

            var azureDevOpsUrl = GetHeaderValue(req, "VSTS_AGENT_INPUT_URL");
            var azureDevPatToken =  GetHeaderValue(req,"VSTS_AGENT_INPUT_TOKEN");

            log.Info("Configuring environment variables");

            var env = new Dictionary<string, string>
            {
                { "VSTS_AGENT_INPUT_URL", azureDevOpsUrl },
                { "VSTS_AGENT_INPUT_AUTH", "pat" },
                { "VSTS_AGENT_INPUT_TOKEN", azureDevPatToken },
                { "VSTS_AGENT_INPUT_POOL", "AzureContainerInstance" },
                { "VSTS_AGENT_INPUT_AGENT", agentName }
            };

            log.Info("Environment variables configured");

            log.Info("Creating container instance");

            var privateContainerRegistry = Environment.GetEnvironmentVariable("ContainerRegistryUrl");
            var userName = Environment.GetEnvironmentVariable("ContainerRegistryUsername");
            var password = Environment.GetEnvironmentVariable("ContainerRegistryPassword");

            try
            {
                var containerGroup = await _azure.ContainerGroups.Define(agentName)
                        .WithRegion(resourceGroup.RegionName)
                        .WithExistingResourceGroup(resourceGroup)
                        .WithLinux()
                        .WithPrivateImageRegistry(privateContainerRegistry, userName, password)
                        .WithoutVolume()
                        .DefineContainerInstance(agentName)
                            .WithImage("contoso.azurecr.io/build-agent:latest")
                            .WithoutPorts()
                            .WithEnvironmentVariables(env)
                            .Attach()
                        .CreateAsync();

                log.Info("Container instance created");
            }
            catch (Exception e)
            {
                log.Error($"\nFailed to create container instance:\n{e.Message}", e);
                throw;
            }

            return req.CreateResponse(HttpStatusCode.OK, "Azure DevOps agent is running");

I think "await _azure.ContainerGroups.Define ..." call taking more time. You should handover this work to another thread and return from main function. Newly created thread should complete work and raise task completed event at end. Please refer this AzureFunctionHandler example, in this example function creates another thread to do actual work and main azure function return immediately.

Since I'm spinning up a containerized build agent, I need to wait until the container is up and running (and therefore I have an operational build agent running on the container) before the build pipeline can continue. The reason why I tried to use "Callback" is because usually the Azure Function (with the "await _azure.ContainerGroups.Define ..." statement) takes 3-4 minutes to the complete and I assumed that task would wait for that long and wouldn't timeout.
As a workaround, I removed the "await" from the function code and added to the build definition the "Delay" task that holds the pipeline for 3-4 minutes hoping that after that time the build agent would already be up and running. The problem is that there are times when the container takes longer than 4 minutes to become operational and the build pipeline fails because there is not build agent available by the time the "Delay" task finishes.
If the intended behavior of the "Invoking Azure Function" task is to timeout after 20 seconds even when "Callback" is selected as a completion event, the documentation should reflect that. In fact, the documentation should reflect that the task will timeout after 20 seconds regardless of the completion event if this is the intended behavior.

@vithati Thanks for the answer. Although, I am still curious why this has been designed this way? Is is just a rule or is it maybe how agentless tasks are ran?
Personally I am not big fan of 'Oh lets shoot up a thread and let that thread handle it' as our devops team would love to see that the creation of a agent has failed within Azure Devops logs, without consulting a separate logging system. Okay one could say 'implement a notification system'  but that again would mean maintaining that system. So hens my curiosity. I agree with @martins-vds  concerning the Documentation. This is essential to people who are trying similar workflows in builds.
Just small FYI, our workarround is enabling 'continue on fail' in the task, which is even less ideal than the multi threading path.

We will update the Docs. Server tasks like 'Invoke Azure function' or 'Invoke Rest Api' should respond with in 20secs. In case of "Callback" you can send initial response like requested accepted and do other activity in async mode and send task completed event once work is done. Server task will be in progress state till it receives the task completed event from external.
I have written azure function sample  using ServerTaskHelper which create azure container instance. When this azure function invoked through 'Invoke Azure function' task with "Callback" mode, task stays in in-progress state till container created and moves to completed state once container created. If any errors occurs while creating container, task moves to failed state. Server not pickup another task execution until 'Invoke azure function' task execution completes.

@chris31389 These tasks are run on Azure Devops server and thus we don't want to hold a thread for longer time. In case you have time taking operations which cannot be done in an async manner as @vithati  mentioned above, you should use agent based task for it.

@bansalaseem  - I am hitting the exact same problem and I don't think this is an unreasonable ask. Azure Functions by default have a 5 minute timeout themselves and 20s is no where near that and its confusing to see this error message. I have an Azure Function that takes 12-15 sec at max, and it randomly timing out with the above error. May be its counting some additional bootstrap time and timing out. Regardless, the issue is that if the "tasks are run on azure devops server and cannot hold a thread for longer time", then the parity is lost between Azure Function and the task and probably the product itself should provide/suggest a solution by an option in the task.
Also, 20 seconds is way too less for it to be the max default for an azure function when the azure itself provides 5 min as default.
Another point - "Continue on Error" makes the pipeline Partially Succeeded and I don't want that. There should be an "Ignore Response" option. I don't understand the "Success Criteria" input and there are no good examples in docs.

I am also running into the described issue. I'm calling an azure function from an ADO gate which takes ~30 seconds but the gate times out even if I do a callback. We really need an option for timeout in ADO gates like we do in normal tasks.

As i mentioned in one of above comment, use 'callback' mode if azure funtion execution takes more than 20 secs. You can refer azure function sample which created using ServerTaskHelper.  You can also use ServerTaskHelper in your azure function and implement callback mode. When Azure function sample invoked through 'Invoke Azure function' task with "Callback" mode, task stays in in-progress state untill container created (~5mins) and moves to completed state once container created. If any errors occurs while creating container, task moves to failed state. Server not pickup another task execution until 'Invoke azure function' task execution completes.
'Success Criteria' which defines when to pass the task. No criteria means response content does not influence the result. You can parse output of azure function respone and define when to pass the task. Example:- If azure funtion response is {"status" : "successful"}, then success criteria expression eq(root['status'], 'successful') pass the task, if response is {"status" : "abort"} then the same expression fails the task, refer this for More information". You can also refer AzureMonitorV0 , AzureMonitorV1 and QueryWorkItemsV0 tasks suceess criteria.

I'm having a similar issue.
I'm using the Invoke Azure Function task to invoke my Azure function. The Azure Function takes a few minutes to run, which is does successfully. However, the agentless job times out after 20 sec., even if I changes the timeout in the Advanced section to 5 minutes.

I too am having this issue and agree @saikrishnav , once again, why does the task configurations state the options are in minutes?

I guess, ms forgets we are trying to provide business values and meet deadlines, so just saying "go implement threading" so it can take more time is a crazy thought process. So you are saying we won't give you but 12 to 15 seconds, but if you go and write more code, and implement threading, we'll give you more time. So instead of keeping things simple and easy to use, you once again make it difficult and require more time.  #fail

@bansalaseem  how can this be executed with "agent base job", we run our own agents on our own servers, But I don't see that "azure function task" available when I add an agent based job.
@vithati My apologies and with all due respect, but if that link is what you consider documentation for setting up this polling background thread monitoring, then whoever is in charge of "documentation" for Azure Devops (Azure functions) clearly needs help. This is a major failure point for Microsoft when it comes to documentation and devs trying to utilize this technology. Bit's and pieces spread out across all kind of git repos issues that span years and months.

Hello everybody.
I am another person on the list here who wants to see an improvement here.
Since PowerShell core is now in GA for function apps I am utilising this opportunity to use function apps to perform certain tasks on infrastructure on the azure platform.
Stop / start of VMs for example, build agents, dockerized  build agent containers and so forth.
My function app works perfectly as I’m staying well inside of the 5minute time to keep the function active and the function apps works really well for this.
But limiting the DevOps task to 20seconds? I cannot see how anyone is even able to use this in CI/CD. Doesn’t make sense to do threading because why should you, there is an allowed time span of 5minutes natively in the function app.
Please can this be made a configurable parameter. Or at least extend to the same minimum as what is native in the function app limitations.

I just dropped down into power shell to make the function call to work around this issue

@jwisener
Can you clarify what you mean?
Are you invoking the function app using PowerShell using invoke-restmethod?

@Pwd9000-ML yes, invoke-webrest
Just look at the ps snippet from (link below) on warming up server, except it will be calling ur azure function http trigger. Assuming it’s an http trigger based.
Link: https://www.finai.com/en/newsroom/how-to-deploy-warm-up-an-application-in-azure-using-vsts/

@Pwd9000-ML this article too:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-6

@jwisener
That’s a good method to get the app warmed up but I don’t think this is a suitable solution for a serverless Azure DevOps task. The task you’re running is on an already running agent.
I think my use case is similar but I’m needing to warm up the function from an Azure severless job to actually start the build agent I’m running other builds on.
Unless there’s a method/task available to invoke PowerShell code from a serverless DevOps agent as opposed to a powershell task on a self hosted agent that would be ideal.

@Pwd9000-ML i agree. That was just used as a guide on how i could put the power shell together to call our azure function via rest and get back the correct response.
I am not sure what your end goal is, but mine was run some operations to get data setup for specific purposes.
I do run self hosted agents, so I wasn’t constrained to be agent less.
My apologies that was no help to you.

So here's something that I thought should work, using Callback as the completion event, and using this documentation as a guide
import logging
import time
import threading

import azure.functions as func

def main(req: func.HttpRequest) -> func.HttpResponse:

    t = threading.Thread(target=do_work, args=(req,))
    t.start()

    return func.HttpResponse("Succeeded", status_code=200)

def do_work(req: func.HttpRequest):

    logging.info ("Starting asynchronous worker task")

    #time.sleep(21)

    try:
        planUrl = req.headers["PlanUrl"]
        projectId = req.headers["ProjectId"]
        hubName = req.headers["HubName"]
        planId = req.headers["PlanId"]
        taskInstanceId = req.headers["TaskInstanceId"]
        jobId = req.headers["JobId"]

        endpoint = f"{planUrl}/{projectId}/_apis/distributedtask/hubs/{hubName}/plans/{planId}/events?api-version=2.0-preview.1"
        body = {
            "name": "TaskCompleted",
            "taskId": taskInstanceId,
            "jobId": jobId,
            "result": "succeeded"
        }
        logging.info(endpoint)
        logging.info(body)
        requests.post(endpoint, data=body)

    except:
        pass

    finally:
        logging.info ("Completed asynchronous worker task")

The Invoke Azure Function task does not time out after 20 seconds, but now does not complete at all:
==============================================================================
Task         : Azure Function: https://tcegissandbox.azurewebsites.net/api/HttpTrigger
Description  : Invoke an Azure Function
Version      : 1.0.10
Author       : Microsoft Corporation
Help URL     : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/azure-function
==============================================================================
2019-11-20T19:57:34.9975845Z POST https://tcegissandbox.azurewebsites.net/api/HttpTrigger?code=None&
				Response Code: OK
				Response: Succeeded
Waiting for console output from the server...

where it's been stuck now for ~17 minutes.
If Microsoft could just go ahead and provide some correct documentation or guidance on this, yeah, that would be great.

Hello,
I'm in a similar situation. I have an agentless job triggering an azure function written in powershell that starts a VM. As it takes more than 20 seconds, the job times out. So I'm trying to start the VM in a separate thread but I can't get it to work.
I'm new to powershell so I may be doing something wrong.
When run synchronously, the azure function works and the VM starts as expected. To run on a separate thread, I tried using Start-Job but I get the following message : "'Start-Job' is not supported by design in scenarios where PowerShell is being hosted in other applications" and the message suggests to use Start-ThreadJob. And when using Start-ThreadJob it does nothing, looks like the thread is terminated when the azure function returns (so it does not have the time to do anything). If I pipe Wait-Job, it works since it's waiting for the thread to finish, but then again it takes more than 20 seconds.
Here's my azure function code:
using namespace System.Net

param($Request, $TriggerMetadata)

$requestBody = $Request.Body;

Write-Host "Starting VM $($requestBody.vmname) in resource group $($requestBody.resourcegroup)";
Start-ThreadJob -ScriptBlock {
    $prm = $using:requestBody;
    Start-AzVM -ResourceGroupName $prm.resourcegroup -Name $prm.vmname;
};
$status = [HttpStatusCode]::OK;
$body = "";

# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = $status
    Body = $body
});

So am I doing sth wrong or it just cannot be done using powershell ?

Hello,
Is there a way to pause an agent job and wait for callback. Currently I'm able to see this feature(wait for completion) only for server jobs. I would like to know if it is supported in agent jobs as well.

Closing stale issue. Feel free to reopen if the problem still persists.

I have set up this task and it is working as expected. Hiwver, the REST API task waits for a max of 60 minutes before it fails. How can we increase this time out?

I am still experiencing issues with this behavior. It seems that the timeout was increased to 60s. However, I still ran into timeouts. My workaround is to have several dummy (warm-up) calls, they do not have any success criteria, so they get 60s each to warm up the function and then I run my proper requests.

I'm quite late to this party but this threading workaround seems to work for me. If it didn't work for @JonathanBaileyTC in 2019 it's either because things have changed since then or he maybe he was missing the auth token in the POST headers:
 auth_token = headers["authtoken"]
 headers = {"Authorization": f"Bearer {auth_token}"}
 r = requests.post(endpoint, json=body, headers=headers)

Not ideal that the user has to code all the callback logic into their function, but it seems to work.


Downgrade hugo

Downgrade because of https://github.com/apache/parquet-site/issues/54
cc @wgtmac

Thanks! Let me merge this to see if the deploy is good.

It worked. Thanks @vinooganesh!


Add Etcd deb package for Ubuntu

Fixes #27

Rebased & added support to example Vagrantfile. @nevalla ping

Moved etcd from container to host.


KAFKA-14311: Connect Worker clean shutdown does not cleanly stop connectors/tasks

When the DistributedHerder::stop() method called, it triggers asynchronous shutdown of the background herder thread, and continues with synchronous shutdown of some other resources, including the stopAndStartExecutor.
This executor is responsible for cleanly stopping connectors and tasks, which it  the DistributedHerder::halt() method. There is a race condition between the halt() method asynchronously submitting these connector/task stop jobs and the stop() method terminating the executor. If the executor is terminated first, this exception appears:
[2022-10-17 16:29:23,396] ERROR [Worker clientId=connect-2, groupId=connect-integration-test-connect-cluster-1] Uncaught exception in herder work thread, exiting:  (org.apache.kafka.connect.runtime.distributed.DistributedHerder:366)
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@62878e25[Not completed, task = org.apache.kafka.connect.runtime.distributed.DistributedHerder$$Lambda$2285/0x00000008015046a8@58deade3] rejected from java.util.concurrent.ThreadPoolExecutor@10351ac3[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]
    at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2065)
    at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:833)
    at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1365)
    at java.base/java.util.concurrent.AbstractExecutorService.invokeAll(AbstractExecutorService.java:247)
    at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startAndStop(DistributedHerder.java:1667)
    at org.apache.kafka.connect.runtime.distributed.DistributedHerder.halt(DistributedHerder.java:765)
    at org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:361)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)

This PR aims to handle the above exception cleanly and log the error.

@C0urante , can you plz review this small-ish PR? Thanks!

@gharris1727 , i believe this ticket was created by you. Can you take a look at this PR?

@C0urante , bumping this one again. Can you plz take a look whenever you get the chance. Thanks!

hey @C0urante bumping this one. Plz review whenever you get the chance.


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1719 ms

Resolved: Bofrost.de performance has improved in 7dd8a73.


CudaException 77

Hey @takuya-takeuchi
Unfortunately error still exists. It happens when multiple threads try to do face recognition at the same time.
Stack trace:
info: People.Service[0]
      CUDA Error Lib:libDlibDotNet.Native.Dnn.so Code:77 D:10000 R:10000 M:Exception of type 'DlibDotNet.CudaException' was thrown..
fail: People.Service[0]
      Exception of type 'DlibDotNet.CudaException' was thrown.
DlibDotNet.CudaException: Exception of type 'DlibDotNet.CudaException' was thrown.
   at DlibDotNet.Dnn.Cuda.ThrowCudaException(ErrorType error)
   at DlibDotNet.Dnn.LossMmod.Operator[T](IEnumerable`1 images, UInt64 batchSize)
   at FaceRecognitionDotNet.Dlib.Python.CnnFaceDetectionModelV1.Detect(LossMmod net, Image image, Int32 upsampleNumTimes)
   at FaceRecognitionDotNet.FaceRecognition.RawFaceLocations(Image faceImage, Int32 numberOfTimesToUpsample, Model model)
   at FaceRecognitionDotNet.FaceRecognition.FaceLocations(Image image, Int32 numberOfTimesToUpsample, Model model)+MoveNext()
   at System.Collections.Generic.List`1.AddEnumerable(IEnumerable`1 enumerable)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

@turowicz do you mind sharing how you got it to work with the locks?

@atabora1
I've moved away from consuming the TF models in .NET and started using NVIDIA Triton Inference server. I now only make GRPC calls for inference.
If you want to keep hosting the model in .NET memory though, you can lock the process in the following way:
static SemaphoreSlim Lock = new SemaphoreSlim(1);

async Task Work(...)
{
    await Lock.WaitAsync();

   try
   {
        <inference code here>
   }
   finally
   {
      Lock.Release();
   }
}

Thanks @turowicz for the new ideas. I've been using 4 Threads instead of Tasks and I've noticing  a major performance improvement.


iOS 9 Support

Is it possible to allow the use of iOS 9 as a minimum deployment target?

Hey @IchordeDionysos,
Unfortauntely we use Apple's SFSpeechRecognizer from Apple which has a minimum deployment target of iOS 10. Else we can't do speech recognition. Sorry about this!

Would it be possible to annotate classes/functions which can be used with @available as done here: https://github.com/algolia/voice-overlay-ios/blob/c46882902e1e822640c38861c218aa4c26c82062/VoiceOverlay/Controllers/SpeechController.swift#L22
And then allow a lower deployment target as this would allow us, developers, to give users an incremental enhancement based on their iOS version.
E.g. users running on up to iOS 9.0, have no option for voice search, users with a rather proper iOS version get speech recognition.

I see what you mean. The thing is that we feel that the library will not really be useful without the speech recognition.
Can you tell us what use case you're thinking of for iOS 9 users? What would you use the library for?
Also, note that in a coming version of the library, we're thinking of abstracting away the SpeechController, so that anyone can inject any speech recognizer. This might help with supporting lower iOS target since you will be able to inject any kind of speech recognizer/

I would only allow the use of text search and would NOT use this library, but to give users a progressive enhancement based on their iOS Version, it's much simpler to set a lower library deployment target and annotate the available functions with the @available decorator.
Maybe there is a way with a deployment target of iOS 9.0 to include this library only when users have iOS 10.0 or higher, but I tried so many different stuff, like optional dependencies, but I couldn't find a working solution.

Okay I see what you're saying. I will mark all the classes as @available and reduce deployment target to 9.0. Re-opening this issue and will keep you updated about the progress


Initialize remote electron

Fixes #8.
The global variable initialized is fairly ugly but turns out initialization can be done only once.

Actually I just created #10, because the changes here would not pass the tests due to the use of CommonJS require().

Closing this PR in favor of #10


Incorrect Arduino IDE addition instructions

Hi! I just wanted to outline for others, the instructions to add the library to Arduino IDE are incorrect.

Download the ZIP file.
Extract to folder
Rename folder from "ESP-Mail-Client-master" to "ESP_Mail_Client"
Re-zip your new folder to "ESP_Mail_Client.zip". (NOTE: Folder should be in top directory, not files.)
Now you can import ZIP-library!

This because the srcs files that Arduino IDE looks for should match the ZIP/folder names.. And with -master or dashes it simply does not work!

Thanks

There is no need to do that.


Fix deleteW3cRange_ in enterhanderjs

Some behavior of deleteW3cRange_ is inadequate.
This behavior only happens using Chrome  or Safari.
concrete example
In the case of Editor Demo. | is the cursor.
https://google.github.io/closure-library/source/closure/goog/demos/editor/editor.html
a
|b|
c
d

type Enter...
a

|cd

Other
a
|b
c|c
d

type Enter...
a

|cd

Other
|a|
b
c
d

type Enter...
b
c
d
|

Fixes

Normalize range in isPartialEndW3c_ , Since the range object is different for each browser
Concatenate characters only when isPartialStart and isPartialEnd
When the selection starts from the beginning, the Caret position is at the beginning

Wow, that's really something!  Thanks so much for contributing this fix!

Oops - that was the wrong label to have our bot pick it up.  Fixed the label and deleted the broken one so we don't make that mistake again.

This is pulled in internally as cl/299996311

@toshi-toma Any updates here?

@12wrigja Sorry for late. I'll check the comments and fix them.

does it matter which order you make the selections in? I'm sometimes unable to reproduce your examples, and I'm wondering if part of that is because of the order I'm making the selection.

Probably not...
it happens every time in my environment.

Ah - thanks for clarifying :) It does indeed reproduce now. Thanks. I'll take another look over your changes now that I can repro this and see if there's anything else I have to comment on.

Hi @toshi-toma,
We'd really like to see this get merged in before next week. Is there any help I can give you to move you forward? I don't have any further comments for your code that is currently on Github.

@12wrigja
Thanks for the review. and Sorry for couldn't fix your comments.
Now, I'll fix

add test
replaced with a call to "goog.editor.range.normalize"? (might not be)
rename isStartFromBeginning_

Is this understanding of mine correct?

Yep! If you only have a limited amount of time to work on this, the thing we need is tests before we can try and merge this :)

I don't know how to run unit-tests in local.
Where should I look?

Ah sorry - I was mislead thinking that there was a workflow for this externally. Seems there isn't really one (you have to generate various files by hand and then manually execute the HTML in a browser, nothing nice like npm test :( ).
What we can do is once you've finished with your commits I can import them internally, write the unit tests for this code, submit it, and sync this change back out. I've been told that you will correctly get attribution for all the commits you've done, and all the test code will be attributed to me. Sound reasonable?

Yep! It sounds like a good idea :)
So, Is there something missing for me?

I don't think so! Thanks. I'll try and merge this in by the end of this week.

Thanks!!

Hi @toshi-toma ,
I figured out how to generate the test pages (HTML pages) and added in an npm script to both generate the html and another to serve it from the right directory on a personal fork: https://github.com/12wrigja/closure-library/tree/enterhandler_with_tests (see package.json and the commit description). I'll try and get these upstreamed into the library proper, but that commit can serve  as a stopgap. I also spent some time creating some unit tests based on your examples and put them in the right file.
Unfortunately, based on the examples and the test I wrote, I can't seem to get the tests to pass without changing your code to account for more complex cases (e.g. does the selected range being replaced with a newline encompass multiple "lines" in the editor?). I don't have time to work on solving these cases myself (I'm actually quite unfamiliar with the Editor package) - are you interested in taking some time to fix up your code?
How did you test your changes in the first place? By running the demos somehow?

Thanks!!
I'm trying to test with your repo.

How did you test your changes in the first place? By running the demos somehow?

I checked by running the demos!

Unfortunately, based on the examples and the test I wrote, I can't seem to get the tests to pass without changing your code to account for more complex cases

deleteW3cRange_ doesn't perform to insert a new line.

testDeleteW3CRemoveEntireFirstLineWithShiftDown

I think it expect
b

c

d
 at deleteW3cRange_
It seems insert  at later.

testDeleteW3CRemoveEntireLineWithPartialSecondLine

I think It expect
a

c

d

testDeleteW3CRemoveEntireLineWithShiftDown

I think it expect
a

c

d

It seems insert  at later.

It does sometimes which is what confused me. Turns out the missing newline is probably from the browser itself (Chrome will add  when enter is pressed on a contenteditable div by default). I don't see a great way to trigger this behavior from the unit tests, so for the moment it makes sense to me to:

add some comments to each test indicating what is seen in an actual editor in Chrome (with the extra br's)
adjust the unit tests to match what the test is expecting.

If you make those small changes, then I think this is good to be merged. Sorry this has been so hard, and thank you for your patience.

so for the moment it makes sense to me to:

I'm with you. Thanks!!
Is there something missing for me?

If the tests pass for you, then you should add them into your PR and add the relevant comments (as discussed above). I think that's it - thanks for resolving the other comment.

@toshi-toma Any updates here? Also, I thought you had signed the CLA?

Could I add the tests from your branch??

Yes you can add those, although you'll need to change them to pass (as I haven't changed them since I first wrote them and they were failing then).

@googlebot I fixed it.

@12wrigja
I added some tests and update CLA!!
But Now, CI failed by format...
I install clang and ran format scripts. but It doesn't work properly...

Don't worry about the formatting - I'll fix it internally. I think this looks good otherwise - I've sent it for review internally.

Thanks for the patience and hard work, @toshi-toma! This is now merged.

@12wrigja
Thank you so much!!


HHH-16347 The ORDER BY clause in a Window Function doesn't work when using multiple columns

https://hibernate.atlassian.net/browse/HHH-16347

The problematic query is much simple: select id as id, dense_rank() over (order by id) from EntityA a
The problem is that we interpret the text id in SemanticQueryBuilder#resolveOrderByOrGroupByExpression as alias, which is wrong and problematic. In fact, even the query select id as id, dense_rank() over (order by 1) from EntityA a would result in the same problematic interpretation.
The reason why I think this is problematic is that there is no way to do forward references like e.g. select dense_rank() over (order by id), id as id from EntityA a
The order by in the dense_rank of this query would refer to the attribute id of a, whereas the previous query would refer to the select item named id.
IMO we should simply skip the resolving of the terminal text in SemanticQueryBuilder#resolveOrderByOrGroupByExpression when we are in the OVER clause. If you look into how we handle the partition by clause (the group by equivalent for window functions) right now, you'll see that we don't support aliases there. The "support" of aliases in the order by clause of a window function and ordered-set aggregate function is just wrong.
I guess it's best to move the logic of visitOrderByClause into a new overloaded method that additionally receives a flag allowPositionalOrAliases, which passes this flag through to a new overloaded method visitSortSpecification. In visitSortSpecification, based on the flag, you call visitSortExpression or ctx.getChild( 0 ).accept( this ) directly.


Speech Recognition string does not match a (hard coded) string

I assign the speech recognition string to a @State var speechRecogText and I check if the other hardcoded string private var text contains the string from the speech recognition. This works properly and prints contains... in English. But with the Arabic Language, it does not work.
@State var speechRecogText: String = ""
private var text: String = "قل"

if textFieldText.contains(speechRecogText) {
            print("contaions voice text")
        } else {
            print("doesn't contain voice text")
        }

Console
// doesn't contain voice text

However when I try to swap the variables like this:
if speechRecogText.contains(textFieldText) {
            print("contains text")
        } else {
            print("doesnt contain text")
        }

Console
// contains text

What might be the reason for this? Does it have to do anything with the Language or how Strings actually behave?

You might want to write some tests to figure out how Swift is handling the Arabic language. I don't think this issue is related to SwiftSpeech.


catching up with infrastructural debt

review @olafurpg

@olafurpg It's green, so I'm merging to unblock further work down the line. Please let me know if you have comments about this PR, and we'll fix them in subsequent submissions.

LGTM, code health PRs like this are unrewarding but pay off big time. Thanks for adding me to developers :)
At some point, I would like to reformat everything with scalafmt. But it's not urgent at all.


TileSticher

Hi Loic,
as mentioned before. The tileStitcher as postprocessing tool to fix normals and gaps on the border of terrain tiles.

Coverage decreased (-5.06%) to 86.51% when pulling ce40523379a5f3c32796e6e14f75bb7d6d78a9b3 on thiloSchlemmer:master into 31a0560ace0b8a611cb316e9f9c4bc101ad5848b on loicgasser:master.

Cause the test coverage falls and some changes  are missing i close this pull request... later on i will retry it with better coverage

Hi, yes I saw that. it seems that you should also reset your branch to the current master.

Until now i reached 91% coverage, many of my test-data is reduntant and too big, i guess.
So I try to find a more general solution.


Fix the ordering of |= to determine config.include_mermaid

Need to assign the value from adr.includes_mermaid to config.include_mermaid for any adr in the list.

This will resolve my question in https://github.com/mrwilson/adr-viewer/issues/36

Thanks for this, I have addressed this in e5638c6e288867 and added some tests to make sure this doesn't regress.

Closing as resolved by the mentioned commit.


Updates validate_* functions to validate_legacy.

Fixes ajcrowe/puppet-supervisord#118

ping @ajcrowe – and please also tag a release afterwards.
Thanks! 🍻

Can I get some background on this change. Is this a Puppet 4/5 change?

@jtreminio If you can deal with the failing tests and look at rebasing to upstream we can review this and get it merged :smile:

any plans to fix it soon?

@jtreminio Any update on this? :)


Snippets should have description tooltips

Some don't display any (ggplot for example)

In the completion list that is


Android Studio import fails

When I try importing the project into Android Studio, it says I have an incompatible JVM and Gradle Version. Upon updating to A compatible version, I always get the following error:
Multiple build operations failed.
    Could not create task ':FtcRobotController:generateDebugRFile'.
    Could not create task ':TeamCode:processDebugResources'.
Could not create task ':FtcRobotController:generateDebugRFile'.
Cannot use @TaskAction annotation on method IncrementalTask.taskAction$gradle_core() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method.
My Host is Arch Linux and everything is fully updated.
Here is my full compilation log

This is a clean build by the way—straight from this tree.

This smells like an incompatibility between gradle and java, or some mutation thereof.
What are the contents of your gradle/wrapper/gradle-wrapper.properties file?
What is your JAVA_HOME set to?

@cmacfarl
My gradle/wrapper/gradle-wrapper.properties file is the following:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
My JAVA_HOME is not set (or an empty string).
On opening Android Studio, I get this warning:
Multiple Gradle daemons might be spawned because the Gradle JDK and JAVA_HOME locations are different. Project 'FtcRobotController' is using the following JDK location when running Gradle: '/usr/lib/jvm/java-21-openjdk' The system environment variable JAVA_HOME is: '/home/jacoblightning3/.local/share/JetBrains/Toolbox/apps/android-studio/jbr' If you dont need to use different paths (or if JAVA_HOME is undefined), you can avoid spawning multiple daemons by setting JAVA_HOME and the JDK location to the same path.
Also, I'm Using the latest nightly version of AS (Ladybug Feature Drop 2024.2.2 Nightly)

Also, on first load. I get this warning:
Undefined java.home on the project gradle/config.properties file when using the gradleJvm #GRADLE_LOCAL_JAVA_HOME macro. To mitigate the issue, this was changed to use the Embedded JDK (JetBrains Runtime 21.0.3).
and the initial build and sync fails with the following (I have tried both and the latest version and none work):
Your build is currently configured to use incompatible Java 21.0.3 and Gradle 7.4.2. Cannot sync the project.
We recommend upgrading to Gradle version 8.9.
The minimum compatible Gradle version is 8.5.
The maximum compatible Gradle JVM version is 17.
Possible solutions:

Upgrade to Gradle 8.9 and re-sync
Upgrade to Gradle 8.5 and re-sync

Nevermind, I just had to downgrade my Java to Java 8.

Nevermind, I just had to downgrade my Java to Java 8.

That's what I was going to suggest, or at least some java less than or equal to 17.


[$80] Additional Payments

Background
At the moment we can only process payments to the resource bookings for some amount of days worked via UI https://monosnap.com/file/HOmkcBnEVYmz3j0n32CcQ25TFQmQT5.
Sometimes managers would like to process additional payments which would not be counted for days. For this purpose we would like to introduce another way to process additional payments.
Task

Add Actions dropdown menu to each of the row in the table with 1 option: Additional Payment

The actions dropdown is already implemented in https://github.com/topcoder-platform/taas-app see demo page https://platform.topcoder-dev.com/taas/myteams/18102. Please, port it from there.  Or reuse it if it was already ported during another task https://github.com/topcoder-platform/micro-frontends-taas-admin-app/issues/80.

When we click Additional Payment show a modal:

If we click Cancel or X just close the modal.

if we click Process Payment show a loading indicator inside the modal or disable the field and all the buttons while sending request to the server.

if request was successful, show a successful green toastr and close the modal which says, Additional payment scheduled for resource:

in case of error show error red toastr with error message from the server, but keep the modal open so user can try processing payment again

we don't have a design for this modal, please use styles of the existent modal, it can be seen like shown on this screenshot https://monosnap.com/file/vtLasCWUEocTs3CVPg4typTRYbfjVU.

for the field use styles like in https://github.com/topcoder-platform/taas-app, see example page with such a field https://platform.topcoder-dev.com/taas/myteams/18102/rb/ac7e4dae-8a0b-468c-bb53-1b93f13cd825/edit

API

we've updated API to support additional payments https://github.com/topcoder-platform/taas-apis/issues/430
to create additional payment use endpoint POST /work-period-payments passing in the body:{
 "workPeriodId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // work period id
 "days": 0, // we should ALWAYS pass 0 to indicate that this is an additional payment, not for days
 "amount": 200 // amount entered in the form
}

Sum up:

Disable "Additional Payment" option for future work periods and show tooltip when we put mouse on it: Not allowed processing payments for the future weeks.

will be fixed server-side

will be fixed server-side

Need to fix validation.

Can we make the default value empty instead of 0?

let's disable the "additional payment" option if there is no BA assigned to the corresponding Resource Booking and when we put mouse on it show tooltip: Billing Account is not set for the Resource Booking.

Need to fix.

@MadOPcode feel free to pick up this issue as per this comment.

Issue points 2 and 3 are not yet fixed.
Other issues are fixed and working fine.

Not able to process Additional payments for future week.

Able to enter only two digits after the decimal point.

Textbox is now empty.

Additional payment option disabled if no BA assigned and tooltip is displayed.

Text displayed correctly in the modal.

@sandhiyakavi Issue points 2 and 3 should be fixed now.

@maxceem If we do Additional payment for the WP which is in 'pending' status, it is still changing into 'partially completed' status.

If 'No days' status and we process Additional payment, the status changing correctly into 'in progress' status.

@sandhiyakavi this WP has 1 working days, but 0 working days were paid. As some payment was done (additional one), we indicate it as partially completed status.

Challenge https://www.topcoder.com/challenges/add1a560-96ce-4330-933d-20f0b50fd46d has been created for this ticket.This is an automated message for maxceem via Topcoder X

Challenge https://www.topcoder.com/challenges/add1a560-96ce-4330-933d-20f0b50fd46d has been assigned to madopcode.This is an automated message for maxceem via Topcoder X

Payment task has been updated: https://www.topcoder.com/challenges/add1a560-96ce-4330-933d-20f0b50fd46d
Payments Complete
Winner: madopcode
Copilot: maxceem
Challenge add1a560-96ce-4330-933d-20f0b50fd46d has been paid and closed.This is an automated message for maxceem via Topcoder X

Verified on Prod Env. Working as expected.
cc: @nkumar-topcoder


Update clang-format.yml

"Hi, I am  kura akhilesh a contributor to OpenForce 2022. I would like to work on this issue. I would be making a PR as soon as I am done with resolving the issue. Thank you"
Description
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Fixes #(issue_no)

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation update

Checklist:

[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] I have added tests/screenshots (if any) that prove my fix is effective or that my feature works.
[ ] I have tested the tests implicated (if any) by my own code and they pass (make test or ctest -VV -R <test-name>).
[ ] If my change is significant or breaking, I have passed all tests with ./docker-compose.sh build &> output and attached the output.
[ ] I have tested my code with OPTION_BUILD_SANITIZER or ./docker-compose.sh test &> output and OPTION_TEST_MEMORYCHECK.
[ ] I have tested with Helgrind in case my code works with threading.
[ ] I have run make clang-format in order to format my code and my code follows the style guidelines.

If you are unclear about any of the above checks, have a look at our documentation here.

"Hi, I am kura akhilesh, a contributor to OpenForce 2022. I would like to work on this issue. I would be making a PR as soon as I am done with resolving the issue. Thank you"

Please review it and mark as approved https://github.com/kuraakhilesh8230/core/pull/1


v1 Release Candidate

Release Candidate for v1. Check out the Migration Guide.
Release date: Between 2023-05-05 and 2023-05-12.

[x] BigNumber has been removed in favor of browser-native BigInt.

[x] Note that BigInt is not serializable (use serialize/deserialize).

[x] gasLimit is now gas.
[x] Ethers v5 "Provider" & "Signer" terminology is now known as viem's "Public Client" & "Wallet Client" terminology.
[x] Removed global type declaration for window.ethereum.
[x] Renamed Ethereum type to WindowProvider.

[x] Actions/Hooks

[x] connect/useConnect @tmm
[x] fetchBalance / useBalance @tmm
[x] fetchBlockNumber / useBlockNumber @tmm
[x] fetchEnsAvatar / useEnsAvatar @tmm
[x] fetchFeeData / useFeeData @tmm
[x] fetchSigner / useSigner / watchSigner @tmm
[x] fetchToken / useToken @tmm
[x] fetchTransaction / useTransaction @tmm
[x] useContract / getContract @tmm
[x] getProvider / useProvider / watchProvider @tmm
[x] getWebSocketProvider / useWebSocketProvider / watchWebSocketProvider @tmm
[x] multicall
[x] prepareSendTransaction / usePrepareSendTransaction
[x] prepareWriteContract / usePrepareContractWrite
[x] readContract / useContractRead
[x] readContracts / useContractReads / useContractInfiniteReads
[x] signMessage / useSignMessage
[x] signTypedData / useSignTypedData
[x] waitForTransaction/useWaitForTransaction
[x] watchPendingTransactions / useWatchPendingTransactions
[x] writeContract / useContractWrite
[x] watchContractEvent / useContractEvent

[x] configureChains
[x] Connectors

[x] getSigner now returns a viem WalletClient instead of an Ethers Signer.
[x] Removed Signer generic.

[x] Errors

[x] Removed ChainDoesNotSupportMulticallError, ContractMethodDoesNotExistError, ContractMethodNoResultError, ContractMethodRevertedError, ContractResultDecodeError, ProviderRpcError, ResourceUnavailableError

Build

[x] Resolve pnpm build issues

can you clarify the nomenclature "next" in the version name? does this intend to convey that we should be using next with the project, or unrelated? thanks.

can I ask about the nomenclature "next" in the version name? does this intend to convey that we should be using Next.js with the project, or unrelated? thanks.

next is a tag that can be used to offer a different stream of development for developers. It allows folks to test the package in different environments.
npm has documentation on tags if you're wanting to learn more about how they work and what their purpose is.
Hope that answers your question :)

can I ask about the nomenclature "next" in the version name? does this intend to convey that we should be using Next.js with the project, or unrelated? thanks.

@firnprotocol next is a tag that can be used to offer a different stream of development for developers. It allows folks to test the package in different environments.
npm has documentation on tags if you're wanting to learn more about how they work and what their purpose is.
Hope that answers your question :)

Guys seems like you left docs for useWalletClient 🙇🏼
https://next.wagmi.sh/react/hooks/useWalletClient


Start page is not being disabled on codespaces

Environment data

VS Code version: 1.54.0-insider
Extension version (available under the Extensions sidebar): 2021.2.582707922
OS and version: Windows 10
Relevant/affected Python-related VS Code extensions and their versions: Jupyter extension 2021.2.576440691

[NOTE: If you suspect that your issue is related to the Microsoft Python Language Server (python.languageServer: 'Microsoft'), please download our new language server Pylance from the VS Code marketplace to see if that fixes your issue]
Expected behaviour
Start page should not be displayed in codespaces anymore
Actual behaviour
It's still showing up 😭
Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

Create a Python related codespace (e.g. https://github.com/luabud/pvscc-logo)
Open a Python file to activate the Python extension
Watch the start page open

Closing as we are not able to reproduce this anymore.


Separate exatn:: API from exatn_service:: API

We need a separate API for retrieving services from CppMicroServices

Now exatn.hpp contains exatn_service.hpp (CppMicorServices API and initialization) and exatn_numerics.hpp (Numerical Server). exatn_service.hpp can also be used standalone. Pushed into branch devel.

I haven’t finished this one yet 😀😎

Just saw you did it


Add name and path fields to the files index

This will allow Jonathan to exclude metadata files from reporting.
The S3 key isn't sufficient because the filtering is based on the name within the bag (e.g. "ignore a file named METS.xml at the top level of a digitised bag)

This change is deployed, and we've fully reindexed in both staging and prod.
Follow up is in a separate ticket: https://github.com/wellcomecollection/platform/issues/4868


Stats APIs for C++

While doing https://github.com/envoyproxy/envoy-mobile/issues/2303 we uncovered a bunch of gaps between the C APIs and C++.
I'm fixing those but as discussed at this week's meeting we're going to punt on stats and leave pulseClient a TODO so filing as API tech debt bug.

Just for clarification, there are two different concepts here in the Envoy Mobile world:
(1) The PulseClient is for creating and updating stats (counters, gauges, timers, distributions) for the mobile client only.  The stats generated by the PulseClient use a mobile. prefix.  They are specifically meant to create stats on the mobile client, not for interacting with Envoy Engine/Server stats.
(2) An ability to get stats (counters, etc) from the Envoy Engine.  The primary use case for this is integration tests.  Otherwise, to export stats, one must use a stats sink.
Previously, the only way to do (2) was to use the admin interface.  However, we recently added the ability to get counters and wait on counter values in integration tests: https://github.com/envoyproxy/envoy/blob/main/mobile/test/common/integration/base_client_integration_test.h#L65-L68.  Hence, we don't need the admin interface for (2) and can run the mobile integration tests with the admin interface compiled out.  So our needs for (2) are taken care of.
For (1), the PulseClient probably needs some rethinking.  In discussing with @Augustyniak, the only PulseClient API used and worth keeping are for counters.  Hence, we got rid of the gauges, timers, and distribution APIs in https://github.com/envoyproxy/envoy/pull/24648 and https://github.com/envoyproxy/envoy/pull/24645.  However, there are more inconsistencies with the PulseClient:

It only exists for Kotlin and Swift.  The Java and Obj-C APIs do not have a PulseClient.  Instead, we use functions like: https://github.com/envoyproxy/envoy/blob/357bf0016ffa0102ed1fc3c51687eb23b9d2305d/mobile/library/java/io/envoyproxy/envoymobile/engine/EnvoyEngine.java#L47-L105
C++ APIs do not have any PulseClient support at all, not through PulseClient nor through Engine APIs like Java and Obj-C.

So the next steps for this bug are:

Remove the "recordGauge", "recordTimer", "recordHistogram" functions from the Java and Obj-C APIs, keeping only the counter related functions.
Move the Java and Obj-C APIs "recordCounterInc" API to a new PulseClient class, so we have consistent APIs between Java, Obj-C, Swift, and Kotlin.
Add a PulseClient for the C++ APIs.  The class already exists, but it does nothing: https://github.com/envoyproxy/envoy/blob/main/mobile/library/cc/pulse_client.h.  All we need to do is add the counter function to the C++ PulseClient.

Note: since we have some other higher priorities and we've unblocked getting counters/gauges in integration tests without relying on the admin interface, I (abeyad) am putting work on this on hold for the time being.

It only exists for Kotlin and Swift.  The Java and Obj-C APIs do not have a PulseClient.

I think that the idea is that that you can use existing Swift APIs from within objective-c and existing Kotlin APIs from within Java. That's why we do not need to have separate objective-c and Java implementations. That being said, we do miss c++ Pulse APIs (as you have mentioned).

Instead, we use functions like: https://github.com/envoyproxy/envoy/blob/357bf0016ffa0102ed1fc3c51687eb23b9d2305d/mobile/library/java/io/envoyproxy/envoymobile/engine/EnvoyEngine.java#L47-L105

The referenced methods are not supposed to be called by external clients (from outside of the Envoy Mobile library). They are used by the implementation of Kotlin Pulse APIs to move from Kotlin context to shared c++ context:
https://github.com/envoyproxy/envoy/blob/f99dd64a016a92180bb74b33c0e4940ca190bb08/mobile/library/common/engine.cc#L186-L196

I think that the idea is that that you can use existing Swift APIs from within objective-c and existing Kotlin APIs from within Java. That's why we do not need to have separate objective-c and Java implementations.

Is that the convention we use for all APIs (i.e. just create Swift/Kotlin ones and the Java/Obj-C implementations can just invoke the Swift/Kotlin ones)?


Add link to datasets audio processing docs

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


errors on this pages

Hello Ryan,
I was occupied doing other things these days and now I'm reading the ebook again.
I'm in the page 67.
And just for help you in the revision the error on this page presents this:
Failure/Error: visit links_in_email(email).first
ActionController::RoutingError:
  No route matches [GET] "/invitations/1/accept"

and in my terminal was complained this:
Failure/Error: visit accept_link

     ActionController::RoutingError:
       No route matches [GET] "/invitations/1/accept"

A gramatic error at page 77 .
Accounts::InvitationsControler
needs to put Controller

page 71.
the error shows different.
ebook has:
Failure/Error: click_button "Accept Invitation"
ActionView::Template::Error: undefined method `accepted_invitation_path' ...

terminal:
Failure/Error: <%= simple_form_for [:accepted, @invitation], as: :user do |f| %>

     ActionView::Template::Error:
       undefined method `accepted_invitation_path' ...

page 72.
show different error.
ebook:
 Failure/Error: click_button "Accept Invitation"
   NoMethodError:
     undefined method `users' for #<Account:...>

terminal:
Failure/Error: current_account.users << user

     NoMethodError:
       undefined method `users' for #<Account..>

The another error persists when create a new model on the database.
So on the page 73 after create the model membership and run rake db:migrate. I try to test and that error persists.
 rspec spec/features/accounts/accepting_invitations_spec.rb
rails aborted!
ActiveRecord::NoEnvironmentInSchemaError:

Environment data not found in the schema. To resolve this issue, run:

        bin/rails db:environment:set RAILS_ENV=test

So when I ran that command who was complained. Everything work's!
bin/rails db:environment:set RAILS_ENV=test
➜  twist git:(master) ✗ rspec spec/features/accounts/accepting_invitations_spec.rb
.

Finished in 1.54 seconds (files took 9.54 se

page 74.
book has:
Failure/Error: expect(invitation.token).not_to be_blank
NoMethodError:
undefined method `token' for #<Invitation:...>

terminal:
Failure/Error: expect(invitation.token).to be_present

     NoMethodError:
       undefined method `token' for #<Invitation...>

page 75.
Change the inheritance of the model invitation for ApplicationRecord.
app/models/invitation.rb
class Invitation < ActiveRecord::Base
for this:
class Invitation < ApplicationRecord

pag 82.
ebook:
Failure/Error: expect(page.current_url).to eq(invitation_url)
  expected: "http://test2.example.com/invitations/<token>/accept"
       got: "http://test2.example.com/"

terminal:
 Failure/Error: expect(page.current_url).to eq(invitation_url)

       expected: "http://test2.lvh.me/invitations/<token>/accept"
            got: "http://test2.lvh.me/"

I notice a bit modification on the page 82. On the file: app/views/accounts/invitations/accept.html.erb has this on the ebook:

You are accepting an invitation to join the <%= current_account.name %> ac\
count.

And before was used with  <%= @invitation.account.name %>:

        You are accepting an invitation to join the <%= @invitation.account.name %> account.

Hi again :) I too have been off working on another project.
Could you please tell me the published date listed on the 2nd page of your PDF?

Regarding:
Environment data not found in the schema. To resolve this issue, run:

Please make sure that you've got this commit from Twist on your own repository.

I've just published a new edition which should fix all these issues. Thank you very much for telling me about them.
Could you please file each different one as a separate issue? This just makes it easier for me to manage when they're fixed. Thanks!

the version of the date is 2016-11-24.
And yes this have in the rails_helper.rb
config.before(:suite) do
    DatabaseCleaner.strategy = :truncation
    DatabaseCleaner.clean_with :truncation, except: %w(ar_internal_metadata)
  end

And I'm sorry for put this lot of error in just one issue. I put this here because I think it was a fool errors. So when I see a more important error I put in another issue. Like the other error I post.
I download the new version and I will see these days. Thank's for reply, have a nice day!!

Thanks :) I hope you have a good day to.


[BUG]: DownloadSecureFile - Object reference not set to an instance of an object

New issue checklist

[X] I searched for existing GitHub issues
[X] I read pipeline troubleshooting guide
[X] I checked how to collect logs

Task name
No response
Task version
No response
Issue Description
Good afternoon,
Today we got the surprise that no YAML pipeline can download “tasks”.
I show you that the same tasks were downloading this Saturday and now they are not.
Saturday:

Today:

I found a similar ticket:
https://github.com/microsoft/azure-pipelines-tasks/issues/20356
Environment type (Please select at least one enviroment where you face this issue)

[ ] Self-Hosted
[X] Microsoft Hosted
[ ] VMSS Pool
[ ] Container

Azure DevOps Server type
dev.azure.com (formerly visualstudio.com)
Azure DevOps Server Version (if applicable)
No response
Operation system
Ubuntu 22.04
Relevant log output
Agent name: 'Hosted Agent'
Agent machine name: 'fv-az406-635'
Current agent version: '3.243.1'
Operating System
Ubuntu
22.04.4
LTS
Runner Image
Image: ubuntu-22.04
Version: 20240818.1.0
Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20240818.1/images/ubuntu/Ubuntu2204-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20240818.1
Runner Image Provisioner
2.0.382.1
Current image version: '20240818.1.0'
Agent running as: 'vsts'
##[debug]Triggering repository: xxxx. repository type: Bitbucket
Prepare build directory.
##[debug]Creating build directory: '/home/vsts/work/1'
##[debug]Delete existing artifacts directory: '/home/vsts/work/1/a'
##[debug]Creating artifacts directory: '/home/vsts/work/1/a'
##[debug]Delete existing test results directory: '/home/vsts/work/1/TestResults'
##[debug]Creating test results directory: '/home/vsts/work/1/TestResults'
##[debug]Creating binaries directory: '/home/vsts/work/1/b'
##[debug]Creating source directory: '/home/vsts/work/1/s'
Set build variables.
Download all required tasks.
Downloading task: DownloadSecureFile (1.244.1)
##[debug]Task 'DownloadSecureFile' has been downloaded into '/home/vsts/work/_tasks/DownloadSecureFile_2a6ca863-f2ce-4f4d-8bcb-15e64608ec4b/1.244.1'.
##[error]Object reference not set to an instance of an object.
##[debug]System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.Services.Agent.Worker.TaskManager.CheckIfTaskNodeRunnerIsDeprecated(IExecutionContext executionContext, TaskStepDefinitionReference task) in /mnt/vss/_work/1/s/src/Agent.Worker/TaskManager.cs:line 382
   at Microsoft.VisualStudio.Services.Agent.Worker.TaskManager.DownloadAsync(IExecutionContext executionContext, IEnumerable`1 steps) in /mnt/vss/_work/1/s/src/Agent.Worker/TaskManager.cs:line 100
   at Microsoft.VisualStudio.Services.Agent.Worker.JobExtension.InitializeJob(IExecutionContext jobContext, AgentJobRequestMessage message) in /mnt/vss/_work/1/s/src/Agent.Worker/JobExtension.cs:line 140

Full task logs with system.debug enabled

 [REPLACE THIS WITH YOUR INFORMATION]

Repro steps
parameters:
- name: taskName
  default: ''
- name: secureFile
  default: ''

steps:
  - task: DownloadSecureFile@1
    name: ${{ parameters.taskName }}
    displayName: 'Downloading ${{ parameters.taskName }}'
    inputs:
      secureFile: '${{ parameters.secureFile }}'

It seems this PR solves it.


⚠ Cioos Pacific CKAN Sitemap has degraded performance

In 3208d3a, Cioos Pacific CKAN Sitemap (https://catalogue.cioospacific.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 12991 ms

Resolved: Cioos Pacific CKAN Sitemap performance has improved in 91e4fe2 after 7 minutes.


feat: enable request bodies decompression

Description
enable request bodies decompression
How was this PR tested?
this setting hasn't been tested
Related issue
https://github.com/quickwit-oss/quickwit/issues/3990

Would you be able to test this? You could follow our getting started tuto and tweak the cURL command:
https://quickwit.io/docs/main-branch/get-started/quickstart.

Currently  warp (web framework) does not handle compressed bodies out of the box.
https://github.com/seanmonstar/warp/issues/1035

Yes, my bad. I assumed that warp is compatible with most tower-http layers, but that's no the case. Thanks for doing the discovery work.

@unpervertedkid, the best way to go about this is adding support in warp. I've looked into it, it's not too hard.


Errors in generic component method blocks

Generic Clock.addDays (and similar) blocks turn into Clock.addnull when dragged into the workspace, and throw an error that says "This block is not defined. Delete this block!".
Additionally, several other generic blocks, including Canvas.DrawCircle and Clock.FormatDate, have a default-empty dropdown where the component type should be. These throw an error that says "Component does not exist" regardless of whether a component is selected from the dropdown.

Closed by #895


Reflect Brave wallet support in menu

We've had someone who got a bit confused when trying to use Onboard using the Metamask wallet integrated into Brave. They didn't understand that they could connect using the Metamask button as they were looking for a "Brave button"
In order to reduce any possible confusion, would it be possible to generalise the metamask button for injected wallets? By default it remains as currently but if another injected wallet is found then it's styled appropriately?
This is a rather low priority feature so make of it as you will.

Yeah we have been discussing a solution for injected providers and how to label it for a little while now. I will drop updates here once we have worked out a good way to solve this 👍

Closing due to inactivity


Protobuf incompatibility errors

I am encountering challenging errors regarding protobuf incompatibility on my laptop. ( Apex 15 Aftershock ).
Thus during build, I encounter a build warning
Protobuf compiler version does 3.4.0 does not match library version 3.0.0.
Additionally, during running of the demo I get errors as well:
[gzserver-7] [libprotobuf FATAL google/protobuf/stubs/common.cc:67] This program requires version 3.4.0 of the Protocol Buffer runtime library, but the installed version is 3.0.0.  Please update your library.  If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library.  (Version verification failed in "/home/bhan/dev/cartographer_ws/protobuf/src/google/protobuf/descriptor.pb.cc".)
the output of /usr/bin/protoc --version is 3.0.0 while /lusr/local/bin/protoc --version is 3.4.0.  It seems that somehow the build process "finds" the old version first.
What might be the best way to avoid this?

To add on, i think this is more of a gazebo issue rather than a rmf_demos issue.

Yes, this is related to conflicting version of protobuf on your machine. Seems like google-cartographer requires the install of a newer version of protobuf as reported in a similar issue here. Could you try uninstalling/purging the newer version?

What might be the best way to do so? I have tried "sudo apt remove libprotoc-dev" however this also removes ros-eloquent-gazebo-* packages. Also, I think that command removes the older "3.0" versions.
I could try sudo rm-ing the newer version in /use/local/bin and see how that goes.

Good news! sudo rm /usr/local/bin/protoc seems to fix this issue. However, i can do this only because I have no dependencies on the alternate protobuf 3.4. Perhaps there is a way to ensure that the correct version is found?
Thank you, closing for now.


Ruby: Refactor entry points

What
This PR has three goals.

Expose a top level method for creating a client
Expose a version level method for creating a client
Use 1. and 2. in samples and unit tests and to make sure that the new surface works.

I generated Monitoring with this change and all the tests pass! 🙌
Example Usage
Top Level
If api has a single service
require 'google/cloud/example'
client = Google::Cloud::Example.new(version: v1)

If api has multiple services
require 'google/cloud/example'
incrementer = Google::Cloud::Example::Incrementer.new(version: v1)
decrementer = Google::Cloud::Example::Decrementer.new(version: v1)

Version Level
If api has a single service
require 'google/cloud/example/v1'
client = Google::Cloud::Example::V1.new

If api has multiple services
require 'google/cloud/example/v1'
incrementer = Google::Cloud::Example::V1::Incrementer.new
decrementer = Google::Cloud::Example::V1::Decrementer.new

@remi PTAL at the new generated surface (generally this is version_index.baseline files).

Codecov Report

Merging #1405 into master will increase coverage by 0.16%.
The diff coverage is 98.43%.

@@             Coverage Diff              @@
##             master    #1405      +/-   ##
============================================
+ Coverage     86.58%   86.75%   +0.16%
- Complexity     3974     4009      +35
============================================
  Files           387      388       +1
  Lines         16001    16099      +98
  Branches       1778     1786       +8
============================================
+ Hits          13855    13967     +112
+ Misses         1669     1662       -7
+ Partials        477      470       -7

Impacted Files
Coverage Δ
Complexity Δ

...api/codegen/viewmodel/OptionalArrayMethodView.java
100% <ø> (ø)
9 <0> (ø)
:arrow_down:

...com/google/api/codegen/viewmodel/InitCodeView.java
100% <ø> (ø)
2 <0> (ø)
:arrow_down:

...m/google/api/codegen/transformer/SurfaceNamer.java
79.12% <100%> (+0.21%)
176 <3> (+3)
:arrow_up:

...i/codegen/viewmodel/metadata/VersionIndexView.java
100% <100%> (ø)
5 <1> (ø)
:arrow_down:

...i/codegen/viewmodel/metadata/VersionIndexType.java
100% <100%> (ø)
1 <1> (?)

...n/transformer/DynamicLangApiMethodTransformer.java
99.25% <100%> (+0.03%)
27 <0> (ø)
:arrow_down:

...e/api/codegen/transformer/InitCodeTransformer.java
94.68% <100%> (+0.01%)
72 <0> (ø)
:arrow_down:

.../transformer/ruby/RubyGapicSurfaceTransformer.java
100% <100%> (+1.57%)
26 <16> (+14)
:arrow_up:

...api/codegen/transformer/ruby/RubySurfaceNamer.java
94.69% <85.71%> (-1.27%)
50 <6> (+6)

... and 4 more

Continue to review full report at Codecov.

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

@eoogbe this is ready for another look!

Hey @landrito, does this implementation meet the following acceptance criteria?

[ ] 1. User implicitly gets version of API with 1 version
[ ] 2. User can explicitly request version of API with 1 version
[ ] 3. User implicitly gets latest stable version of API with multiple versions
[ ] 4. User can explicitly request version of API with multiple versions
[ ] 5. If user explicitly requests version of API that is not available in the library, exception is thrown with clear message

1. User implicitly gets version of API with 1 version
Given: API "ProductName" exists with 1 version "v1"
require "google/cloud/product_name"

# This instantiates a client for version "v1"
product_client = Google::Cloud::ProductName.new

2. User can explicitly request version of API with 1 version
Given: API "ProductName" exists with 1 version "v1"
require "google/cloud/product_name"

# This instantiates a client for version "v1"
product_client = Google::Cloud::ProductName.new version: "v1"

3. User implicitly gets latest stable version of API with multiple versions
Given: API "ProductName" exists with 2 versions "v1" and "v2beta1"
require "google/cloud/product_name"

# This instantiates a client for version "v1"
product_client = Google::Cloud::ProductName.new

4. User can explicitly request version of API with multiple versions
Given: API "ProductName" exists with 2 versions "v1" and "v2beta1"
require "google/cloud/product_name"

# This instantiates a client for version "v2beta1"
product_client = Google::Cloud::ProductName.new version: "v2beta1"

# This instantiates a client for version "v1"
v1_client = Google::Cloud::ProductName.new version: "v1"

5. If user explicitly requests version of API that is not available in the library, exception is thrown with clear message
Given: API "ProductName" exists with 1 version "v1"
require "google/cloud/product_name"

# This raises an exception
product_client = Google::Cloud::ProductName.new version: "v3beta4"

[ ] Exception class is well named and namespaced under Google::Cloud
[ ] Exception message describes that the provided version is not supported by the library
[ ] Exception message lists available version numbers for the API

User implicitly gets latest stable version of API with multiple versions

With multiple versions each version will need to be hand edited into the google/cloud/<service>.rb file.

Exception class is well named and namespaced under Google::Cloud

I simply raise an ArgumentError. Do you think a custom exception class is necessary?

With multiple versions each version will need to be hand edited into the google/cloud/<service>.rb file.

For my info: is <service>.rb a file that is hand created for each library? If it is autogen'd, is hand editing supported to not overwrite changes?
It would be useful to code review what <service>.rb looks like. When creating a <service>.rb file, would that be a PR against google-cloud-ruby? Do/will they follow a template? I'd like to better understand what code is autogen'd (this PR) and what code is hand written to support these acceptance criteria.

But since toolkit only ever knows about one version, I think I can mark this as done.

I don't fully understand this

I simply raise an ArgumentError. Do you think a custom exception class is necessary?

ArgumentError is okay 👌 😄
I don't foresee catching this exception in application code. As a general rule, if a library/application would ever want to catch an exception then it should be custom. Else it's cool to use a standard library exception. tl;dr Argument Error is OK (I'll update my comment above)

Simplified question:
How/where is this AC implemented?
3. User implicitly gets latest stable version of API with multiple versions
Given: API "ProductName" exists with 2 versions "v1" and "v2beta1"
require "google/cloud/product_name"

# This instantiates a client for version "v1"
product_client = Google::Cloud::ProductName.new

So the flow of how this will work (not entirely implemented yet) is as such:

Initial version is implemented. All files are copied to the google-cloud-ruby repo.
Next version is introduced.
In the config file of the new version, the 'google/cloud/product.rb' file is marked to not copy over current stable releases version file.
Next version files are added to the google-cloud-ruby repo adding the version to that switch statement and updating the docs manually.


Detect GitHub file links.

Detect GitHub link and fetch the raw file through the GitHub API. This is because in some cases GitHub blocks fetching files through the raw.github.com feature.
Usage

I think this is now handled by the JSONP plugin.


Download error

OkDownload Version
v1.0.3
Problem Describe
I occur some problem, I also search on issues and wiki, I even checked the source code, but it can't help, so my real problem is:...
Log
There is the whole log from LogCat when I occur the problem(I know we can use this tool to let log more readable):
W/DownloadActivity: com.liulishuo.okdownload.core.exception.ServerCanceledException: Response code can't handled on internal 200 with current offset 7994446
        at com.liulishuo.okdownload.core.download.BreakpointRemoteCheck.check(BreakpointRemoteCheck.java:133)
        at com.liulishuo.okdownload.core.download.DownloadCall.execute(DownloadCall.java:170)
        at com.liulishuo.okdownload.core.NamedRunnable.run(NamedRunnable.java:32)
        at com.liulishuo.okdownload.core.dispatcher.DownloadDispatcher.syncRunCall(DownloadDispatcher.java:362)
        at com.liulishuo.okdownload.core.dispatcher.DownloadDispatcher.execute(DownloadDispatcher.java:177)
        at com.liulishuo.okdownload.DownloadTask.execute(DownloadTask.java:516)
        at com.liulishuo.okdownload.DownloadContext$1.run(DownloadContext.java:124)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:784)

You can check the log(there are require header and response header on the logcat).
This problem is expected because we required content with range, and this resource has been downloaded with the process(7994446bytes) and paused, now we request expected response code must be not 200, it can be 206.
Reference code: DownloadStrategy#isServerCanceled

什么 意思啊，怎么解决这个问题


v2.2.2 release

Ticket
N/A
Summary
What does this PR do/solve?
N/A
Test Plan
N/A

Codecov Report

Merging #179 (890d348) into master (fab59c1) will decrease coverage by 0.42%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #179      +/-   ##
==========================================
- Coverage   79.79%   79.36%   -0.43%
==========================================
  Files          33       34       +1
  Lines         861      882      +21
  Branches      282      292      +10
==========================================
+ Hits          687      700      +13
- Misses        171      179       +8
  Partials        3        3

Flag
Coverage Δ

unittest
79.36% <66.66%> (-0.43%)
:arrow_down:

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

Impacted Files
Coverage Δ

content-types/comment.ts
100.00% <ø> (ø)

...c/custom-fields/comments/components/input/utils.ts
90.90% <42.85%> (-9.10%)
:arrow_down:

server/services/client.ts
85.51% <66.66%> (-0.50%)
:arrow_down:

server/services/admin.ts
76.59% <75.00%> (-0.20%)
:arrow_down:

server/services/utils/functions.ts
82.05% <80.00%> (-0.15%)
:arrow_down:

.../custom-fields/comments/components/input/consts.ts
100.00% <100.00%> (ø)

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


--name?

the .run() method in this module is not very much like the docker run command.  I have a command like this:
docker run -d -p 7474:7474 --name AppStore --env NEO4J_NO_AUTH=true --volume ~/db:/data neo4j:2.3
how do I express that in this module?

https://github.com/apocas/dockerode/issues/103
Just specify the name in the createOptions of run, since Docker's RAPI accepts name in container creation.


Added instances for Yoneda, Coyoneda and Ran

I think these are correct. If so, it comes down to whether or not they are too strange and whether you want to depend kan-extensions.
These are all specifically natural transformations from a reader functor (or, in the case of Ran, reader-like functor).

Looks good to me. GHC 7.6 won't accept the type signature of your Coyoneda instance due to an unfortunate GHC bug, so I'd just opt for not using InstanceSigs altogether.
The GHC HEAD error should be fixed on the master branch now, if you want to pull that.

I'm wanting to pull this into its own repo (/ different repo somewhere) rather than include these instances here. I like the code, but a key property of the package it its depends on almost nothing. Further, we should think about what should be an instance of Transformation; there may be others.
Thoughts?
(Nice find with the instances, by the way!)

Would we run into problems with orphan instances if we did that? Other than that, that sounds good to me. It makes sense that this package should have a bare minimum of dependencies.

Would we run into problems with orphan instances if we did that?

We would, but it's unlikely that @ekmett would want to put these instances into kan-extensions itself, so an orphan instance package is just about the only option.
As long as the package (natural-transformation-instances?) clearly indicates that it exports orphans (à la base-orphans, transformers-compat, vector-instances, etc.), it should be okay.

An orphan instance package sounds like a good way to go about it. I also added instances for Codensity and Density (which are to Monad and Comonad what Yoneda and Coyoneda are to Functors) and put that in the kan branch for the time being.
Incidentally, all those data types (as I understand them) perform a sort of optimization of the underlying Functor/Monad/Comonad, so I feel like there is probably some kind of practical motivation to have these instances (although, I'm not totally sure what it would be at the moment). I think the optimization is similar to the Hughes list/difference list optimization.

http://arxiv.org/abs/1406.4823 explains the difference list connection in depth.

I'm going to revert this, and encourage @roboguy13 to have a new package that has the orphans. It allows the natural transformation package depend on nothing else.


chore(docs): organize installation doc

group guides together
present summary of installation methods
shorter operator doc

@brian-armory @aimeeu

add alias entry in front matter for pages that have been moved or renamed
add redirects to netlify.toml for deleted pages

@aimeeu I've added redirects to the toml as best I could. What would be the point of aliases if we have redirects? Is this something you can help with?

@aimeeu I've added redirects to the toml as best I could. What would be the point of aliases if we have redirects? Is this something you can help with?

@ncknt Thanks! I expected myself or Brian to take care of redirects.
The front matter tag aliases is for page-level redirects (redirect_from in Jekyll ). If you move an entire section from one directory to another, configuring a section-level redirect in netlify.toml is better than adding aliases to each page.
I moved the armory-halyard -> armory-halyard-reference redirect out of netlify.toml and added an alias to armory-halyard-reference instead since it's only one page.
Same with operator.md -> added  the - /docs/spinnaker/operator/ alias since the single file moved to a new directory.
For the deleted file /docs/spinnaker/install.md, I added a /docs/spinnaker/install/ alias to /docs/installation/_index.md
I'll add a section to the docs team's Hugo page on when to add an alias vs when to put a redirect in netlify.toml.

@brian-armory
Page redirects tested:

/docs/spinnaker/install/ -> redirects to docs/installation/
/docs/spinnaker/operator/ -> redirects to docs/installation/operator/
/docs/spinnaker/armory_halyard/ -> redirects to docs/installation/armory-halyard-reference/

Section redirects tested:

/docs/spinnaker-install-admin-guides/installation/ -> redirects to docs/installation/guide/
/docs/spinnaker-install-admin-guides/installation/air-gapped/ -> redirects to docs/installation/guide/air-gapped/
/docs/operator-reference/ -> redirects to docs/installation/operator-reference/
/docs/operator-reference/armory/ -> redirects to docs/installation/operator-reference/armory/

So LGTM

Thanks again for all your work on this @ncknt! I'm going to run a link checker to verify the links are good and get this merged today.


Xcode messes up in Launchpad

I've installed multiple versions of Xcode but only kept one version(latest) for a specific version, e.g, 16.1 beta, however it still makes Launchpad messy:

Actually there's only Xcode 15.4 and 16.1 beta 3 installed on my mac. How to clean up the Launchpad? Thanks!

killall Dock resolves my problem, it refreshed Launchpad and removed duplicate icons.


Refactor PageView::getStylesheet()

As mentioned in #3946 the current solution isn't very cache friendly. But I think the entire method could use an overhaul.

It needs to support caching a static CSS file for site-level CSS modifications, with as little overhead as possible.
It needs to support caching a static CSS file for page-level CSS modifications, with as little overhead as possible.
For users viewing an unapproved version of a page, it should pass through to that dynamic CSS route, passing the page and then the version ID as well.
For users doing a style preview (i.e., the most dynamic action of all) against a page and then potentially discarding those, it needs to be extremely dynamic.

This has been done. Well, it's been done by moving onto something better. For older themes that use the legacy customizer getStylesheet will continue to work, but the new custom skin option in the new customizer is a much better, more performant option.


Please add a license file

I'd like to add this to awesome-zsh-plugins, but it doesn't have a license file.
Please add a license file - if you don't have one in mind,  I recommend using choosealicense.com to help choose an appropriate one.
Thanks!

@unixorn My bad, will do. And thank you, happy to make the list =]

@unixorn I added the LICENCE file and improved the documentation of the project if you want to have another look =]

Adding in https://github.com/unixorn/awesome-zsh-plugins/pull/1685


some question about the paper

Dr Lin, thanks for your excellent work, but there is something I can't understand. May I ask for some favors?
As I interpreted, This paper introduced a net structure to improve performance for detecting lines, which could be used in any net-work as a beside branch.
for first step, this branch take feature map extracted by net into hough-transform, and then conduct conv and inverse hough transform. at last , we get the feature map and cat it on the main branch.
but I noticed that the function hough-transform didn't take the image as a input, and in training progress, vote_index is calculated by hough-transform, dose that mean vote_index won't different from the input feature map.
And I try to use this architecture in my work to detect the line segment which is a lightweight net, I wonder would you mind giving me some advice.

thank you for your reply，I will try to interprete…
On Tue, Jun 7, 2022, 5:44 PM CVisioner @.***> wrote:

HT module takes as input a feature map of size [B, C, H, W], and outputs
another feature map of the same dimensions. In the paper, H = 128, W=128.
As long as the feature size is the same, you do not need to change the
vote_index.
To run the HT module on a new dataset with a different size, you need to
re-calculate the vote_index matrix.
—
Reply to this email directly, view it on GitHub
https://github.com/yanconglin/Deep-Hough-Transform-Line-Priors/issues/10#issuecomment-1148443069,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFOK4IT2IYFSLB4F2J7XMXTVN4KY7ANCNFSM5XU4SXTQ
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

Does the size of the vote index matrix depend on the feature map size or the input image size? If we are using the HT-IHT module at different depths in the network with different sizes, do we need to calculate vote_index matrices for all of them?

it depends on the feature map size and yes with different channel size, different ht-iht layer should be applied

Thanks. I thought the vote_index calculation only requires the height and width of the feature map (and not the channel depth/size)?
Also, I didn't understand the usage of the vote_index in the calculation of hough transform (and then doing the dot product of the relu(feature map) with it.
In the paper, it is mentioned that the Hough transform is done on greyscale feature maps instead of binary feature maps akin to Radon transform. Is there any special modifications w.r.t this?
In the paper, there is a binary mask which defines the relationship between feature pixels and hough transform array. can you point me to where that is in the code?

yes. it didn't calculate the channel depth, I mean different channel come
with different feature map size, which results in different ht-iht
dot product, as I interpreted, was used to calculate vote score for every
pixel in feature map
I have no clues about Radon Transform
In ht.py
I hope this could be helpful, And I'm not sure I interpret this paper
correctly.
toshi2k2 @.***> 于2022年7月21日周四 11:47写道：

Thanks. I thought the vote_index calculation only requires the height and
width of the feature map (and not the channel depth/size)?
Also, I didn't understand the usage of the vote_index in the calculation
of hough transform (and then doing the dot product of the relu(feature map)
with it.
In the paper, it is mentioned that the Hough transform is done on
greyscale feature maps instead of binary feature maps akin to Radon
transform. Is there any special modifications w.r.t this?
In the paper, there is a binary mask which defines the relationship
between feature pixels and hough transform array. can you point me to where
that is in the code?
—
Reply to this email directly, view it on GitHub
https://github.com/yanconglin/Deep-Hough-Transform-Line-Priors/issues/10#issuecomment-1191005442,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFOK4IWCG5G5KXSJZEUJXNDVVDB3ZANCNFSM5XU4SXTQ
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

thank you for the explanation. You might want to check this paper which highlights the relation between the two transforms. Actually, the idea of initialization comes from the Radon Transform.
"van Ginkel, Michael, CL Luengo Hendriks, and Lucas J. van Vliet. "A short introduction to the Radon and Hough transforms and how they relate to each other." Delft University of Technology (2004)."


Merge 'develop' into 'feature/issue-#737-pluggable-route-variables'

Issues

#737
#1903

@philproctor Welcome!
Better to rebase feature branch onto develop and close this PR❕

The feature branch will be deleted.
The author doesn't develop anymore.


#2188 Twitter sharing bugs

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[x] Bugfix
[ ] Feature
[ ] Refactoring

What's new?

[x] PR closes #2188
[ ]

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[ ] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address:
Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

Seems doesn't work for me :|

@yangwao is there any error on console?

@yangwao is there any error on console?

That's the trick, no error 😄

@yangwao on local it seems to work fine, I'll try to debug more

@yangwao also in the preview url here, I don't see twitter identity, maybe thats the issue?
https://deploy-preview-2190--koda-nuxt.netlify.app/rmrk/gallery/11062915-8000262b13545ea72d-KPIZZA-LASER_PIZZA-0000000000000010

@yangwao also in the preview url here, I don't see twitter identity, maybe thats the issue?
deploy-preview-2190--koda-nuxt.netlify.app/rmrk/gallery/11062915-8000262b13545ea72d-KPIZZA-LASER_PIZZA-0000000000000010

yes, I guess so, not everyone artists has twitter

@yangwao yeah so thats why I think you aren't able to see the 'made by' text here
https://deploy-preview-2190--koda-nuxt.netlify.app/rmrk/gallery/11101946-7294d22dea11a96c3f-ZEUE1-LAZY_KITTEN_061-0000000000000061
this is owned by you right but I cant see your twitter here in preview url
I would suggest that we merge this and then check whether its working fine or not in kodadot.xyz

Just tried on this one, has both twitters but did not displayed handle :|
https://deploy-preview-2190--koda-nuxt.netlify.app/rmrk/detail/11218135-160a6f4320f11acb25-LCKWV-PIXEL_BABE_037-0000000000000037

I would suggest that we merge this and then check whether its working fine or not in kodadot.xyz

yup, we can test it at https://beta.kodadot.xyz tho

pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 159.38 USD/KSM ~ 0.314 $KSM
🧗 EzGc4s9PgCPx1YnF3fqzhLzVHpHMTL4LWPScwpDrR8JKgSU
🔗 0x2e8a7782037ffe62634ac07dd7b318f13e6f77ed0bfad12dd397459823792e9d
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues