AttributeError: '_thread._local' object has no attribute 'wsgi_tb'

I use django-cookies create the project. And this is Debug=True will raises this error.
django_1        | Traceback (most recent call last):
django_1        |   File "/usr/local/lib/python3.6/site-packages/django/contrib/staticfiles/handlers.py", line 66, in __call__
django_1        |     return self.application(environ, start_response)
django_1        |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 146, in __call__
django_1        |     response = self.get_response(request)
django_1        |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 81, in get_response
django_1        |     response = self._middleware_chain(request)
django_1        |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner
django_1        |     response = response_for_exception(request, exc)
django_1        |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception
django_1        |     response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
django_1        |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception
django_1        |     return debug.technical_500_response(request, *exc_info)
django_1        |   File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 31, in null_technical_500_response
django_1        |     elif tld.wsgi_tb:
django_1        | AttributeError: '_thread._local' object has no attribute 'wsgi_tb'

Is it related to django-extensions?

Yes it regretfully is :(
Related to https://github.com/django-extensions/django-extensions/pull/1228
I added patch in c03f3abd1d40ae54ea903834694bf20a198b5fdd
@elcolie does the above patch work for you ?
@jhselvik could you take a look why this is happening ? and if the patch is good

I works. Thank you very much
-e git+git@github.com:django-extensions/django-extensions.git@master#egg=django-extensions

Uhg, silly bug to get through. I believe initializing the attribute wsgi_tb to None on the threading.local() will also fix this if you do not want to catch AttributeError as in your patch.
tld = threading.local()
tld.wsgi_tb = None

Should work, but I haven't tested it. @trbs I can take a look on Monday though if you'd like an alternative to the patch that closed this issue?

Added your initialization patch as well a7ecc7c2d58cfbf9115877daecc507a30778e07b
I am thinking of keeping both :-) it's not unreasonable that something might happen in walking the tb frames or with the thread local (even though it shouldn't) and raising an error for the fix is probably more confusing then at that point just letting the old situation exist...

Yeah, both is not a bad idea since walking the tb frames is really variable. Thanks for patching it.


Example data for line chart is out of date

http://esbullington.github.io/react-d3/ has example data for the line chart, but this data causes an error. Uncaught TypeError: Cannot read property 'forEach' of undefined. This appears to be because the data input format has changed.

Thanks @jakepusateri That's a link to the old documentation site -- I need to just take it down.  It's updated with the new site at the top of the Github site, but the NPM site still has it up because I've not yet published a new release since I updated the website in the package.json (this has all been the past 3-4 days).
Anyway, I'll leave this up until I have the old site closed down and a patch NPM version released to update the website on the NPM site.

OK, I think I have everything updated now, and the old gh-pages branch on this repo is deleted.  Thanks for the issue!   Please feel free to open another if you find anything.


Use precompiled headers to improve build times.

Use precompiled headers to improve build times.
Initial numbers look very promising with Windows showing
over 70% improvement on build times.
Gotcha - Certain files have different optimization flags at
the moment and those differ from the ones the precompiled header
is built with. This shows up as an issue with clang on MacOS but
none of the other platforms. Resolution is to disable use of
precompiled headers for those certain files (unfortunately, those
are the ones that can benefit the most with use of precompiled
header).

Baseline:
TOTAL ELAPSED | 0s       | 933s     |
After this 2 PR:
|TOTAL ELAPSED | 0s       | 1017s    |
You made the runtime 10% slower with one or both of these changes (That is not going the right direction for the users),
Please systematically make runtime analysis of your changes and report them in the PR.


Use sync (with !) meilisearch-ruby method

https://github.com/meilisearch/meilisearch-ruby/releases
At least v0.15.1

duplication of #12


Support for optionally serving /_status endpoint

r: @alokmenghrajani @mcpherrinm @sqshh
Support for optionally serving /_status endpoint. Closes #23.
Example response from status handler:
{"ok":false,"status":"critical","backend_ok":false,"backend_status":"critical","backend_error":"dial tcp4 <IP_ADDRESS>:8080: getsockopt: connection refused",message:"listening","time":"2015-12-15T19:52:17.050538029-08:00","hostname":"cs.local"}

checks are failing, otherwise lgtm.

Looks like pprof.Trace does not exist in older versions of Go. We should just require Go 1.5+ for building this, so I removed the old versions from the travis-ci config.


ImportError: No module named GPUtil

After installing via pip, I keep getting this error

@fiorano10 Could you provide some more information?
Operating system? Python version? Do you have multiple versions of Python installed?

@anderskm Tried on 16.04 and 18.04, Python 2.7 and 3.5 are both installed

Could reproduce the same on v1.4.0 on Py3.7.7
Tried to run it on Google Colab and was hit by the ModuleNotFound exception.

I solved by installing pip3 install gputil  (NOT sudo pip3 install gputil). No "sudo"


BCContainerHelper module fails to load; requires deleting local Modules folder

Issue:  Build pipeline periodically fails to find/install BCContainerHelper module
Scripts used to create container and cause the issue
    - task: PowerShell@2
      displayName: Install BCContainerHelper module
      inputs:
        targetType: inline
        script: >
          Install-Module -Name BCContainerHelper  -force

Full output of scripts
 ##[section]Starting: Install BCContainerHelper module
 ==============================================================================
 Task         : PowerShell
 Description  : Run a PowerShell script on Linux, macOS, or Windows
 Version      : 2.200.0
 Author       : Microsoft Corporation
 Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
 ==============================================================================
 Generating script.
 ========================== Starting Command Output ===========================
 ##[command]"C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'C:\agent\_work\_temp\3dc857f7-d7f9-4445-8181-fe0b572cfb19.ps1'"
 PackageManagement\Install-Package : Unable to find module providers (PowerShellGet).
 At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\<IP_ADDRESS>\PSModule.psm1:1809 char:21
 + ...          $null = PackageManagement\Install-Package @PSBoundParameters
 +                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : InvalidArgument: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], E
    xception
     + FullyQualifiedErrorId : UnknownProviders,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

 ##[error]PowerShell exited with code '1'.
 ##[section]Finishing: Install BCContainerHelper module
...

Additional context
I am running my build agent for now on my local laptop, and starting manually as needed. The first time a pipeline is run against a newly-started agent, the build fails because the BCContainerHelper module fails to load.
The solution is to delete the "Modules" folder located in C:\Documents\Windows PowerShell, as described here:
https://docs.microsoft.com/en-us/answers/questions/257840/powershell-unable-to-find-module-providers-powersh.html
My Documents folder is included in my OneDrive scope, as described in the forum post.
Is there a way to eliminate the need to manually delete this folder? Thanks.

When setting up new VMs with https://aka.ms/getbc, I typically run this code to ensure the right PowerShellGet module is loaded.
if (!(Get-PackageProvider -Name NuGet -ListAvailable -ErrorAction Ignore)) {
    AddToStatus "Installing NuGet Package Provider"
    Install-PackageProvider -Name NuGet -MinimumVersion <IP_ADDRESS> -Force -WarningAction Ignore | Out-Null
}
if (!(Get-Module powershellget | Where-Object { $_.Version -ge [version]"2.2.5" })) {
    AddToStatus "Installing PowerShellGet 2.2.5"
    Install-Module powershellget -RequiredVersion 2.2.5 -force
    Import-Module powershellget -RequiredVersion 2.2.5
}

Thank you. I would love to know why it is that the presence of a Modules folder, which gets re-created anyway, prevents the importing of the PS module. I will see if I can re-create the error so I can conclusively demonstrate that this gets around it.
From: Freddy Kristiansen @.>
Sent: Tuesday, April 12, 2022 4:44 PM
To: microsoft/navcontainerhelper @.>
Cc: David Baldwin @.>; Author @.>
Subject: Re: [microsoft/navcontainerhelper] BCContainerHelper module fails to load; requires deleting local Modules folder (Issue #2409)
**CAUTION: This email originated from outside of CAI Software, LLC. Do not click links or open attachments unless you recognize the sender and are expecting the attachment or link.
When setting up new VMs with https://aka.ms/getbc, I typically run this code to ensure the right PowerShellGet module is loaded.
if (!(Get-PackageProvider -Name NuGet -ListAvailable -ErrorAction Ignore)) {
AddToStatus "Installing NuGet Package Provider"

Install-PackageProvider -Name NuGet -MinimumVersion <IP_ADDRESS> -Force -WarningAction Ignore | Out-Null

}
if (!(Get-Module powershellget | Where-Object { $_.Version -ge [version]"2.2.5" })) {
AddToStatus "Installing PowerShellGet 2.2.5"

Install-Module powershellget -RequiredVersion 2.2.5 -force

Import-Module powershellget -RequiredVersion 2.2.5

}
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/navcontainerhelper/issues/2409#issuecomment-1097198574, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJTBZITJEDQE3YKNF6ZMJ7TVEXOAZANCNFSM5THXBL6Q.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

What OS are you using where you see this problem?
I seem to recall having seen this - but haven't run into this lately

The laptop running the agent is Windows 10 Pro.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Freddy Kristiansen @.>
Sent: Thursday, April 14, 2022 12:18:58 AM
To: microsoft/navcontainerhelper @.>
Cc: David Baldwin @.>; Author @.>
Subject: Re: [microsoft/navcontainerhelper] BCContainerHelper module fails to load; requires deleting local Modules folder (Issue #2409)
**CAUTION: This email originated from outside of CAI Software, LLC. Do not click links or open attachments unless you recognize the sender and are expecting the attachment or link.
What OS are you using where you see this problem?
I seem to recall having seen this - but haven't run into this lately
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/navcontainerhelper/issues/2409#issuecomment-1098693918, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJTBZIRCESJ7OLCIBMMKSHLVE6MDFANCNFSM5THXBL6Q.
You are receiving this because you authored the thread.Message ID: @.***>

So I had to re-install Docker locally (seems to happen frequently now), and re-started my local agent. Build pipeline failed with previously cited error. I inserted your code below, just before the call to install BCContainerHelper, and got this:
##[section]Starting: Install BCContainerHelper module
Task         : PowerShell
Description  : Run a PowerShell script on Linux, macOS, or Windows
Version      : 2.200.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
Generating script.
========================== Starting Command Output ===========================
##[command]"C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'C:\agent_work_temp\47945313-bc16-491c-9eb6-abd15be3b214.ps1'"
AddToStatus : The term 'AddToStatus' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\agent_work_temp\47945313-bc16-491c-9eb6-abd15be3b214.ps1:7 char:3

AddToStatus "Installing PowerShellGet 2.2.5"

+ CategoryInfo          : ObjectNotFound: (AddToStatus:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : CommandNotFoundException

##[error]PowerShell exited with code '1'.
##[section]Finishing: Install BCContainerHelper module
From: Freddy Kristiansen @.>
Sent: Tuesday, April 12, 2022 4:44 PM
To: microsoft/navcontainerhelper @.>
Cc: David Baldwin @.>; Author @.>
Subject: Re: [microsoft/navcontainerhelper] BCContainerHelper module fails to load; requires deleting local Modules folder (Issue #2409)
**CAUTION: This email originated from outside of CAI Software, LLC. Do not click links or open attachments unless you recognize the sender and are expecting the attachment or link.
When setting up new VMs with https://aka.ms/getbc, I typically run this code to ensure the right PowerShellGet module is loaded.
if (!(Get-PackageProvider -Name NuGet -ListAvailable -ErrorAction Ignore)) {
AddToStatus "Installing NuGet Package Provider"

Install-PackageProvider -Name NuGet -MinimumVersion <IP_ADDRESS> -Force -WarningAction Ignore | Out-Null

}
if (!(Get-Module powershellget | Where-Object { $_.Version -ge [version]"2.2.5" })) {
AddToStatus "Installing PowerShellGet 2.2.5"

Install-Module powershellget -RequiredVersion 2.2.5 -force

Import-Module powershellget -RequiredVersion 2.2.5

}
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/navcontainerhelper/issues/2409#issuecomment-1097198574, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJTBZITJEDQE3YKNF6ZMJ7TVEXOAZANCNFSM5THXBL6Q.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Remove the AddToStatus lines - these are only used in the Azure VMs to add information to the status file.

Removed the AddToStatus lines; had to reinstall and rebuild Docker on the build machine anyway (apparently restarting my PC now leaves Docker in a "Failed to Stop" state from which it cannot be resuscitated). This created the conditions for the original fail error:
`[section]Starting: Install BCContainerHelper module
Task         : PowerShell
Description  : Run a PowerShell script on Linux, macOS, or Windows
Version      : 2.200.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
Generating script.
========================== Starting Command Output ===========================
##[command]"C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'C:\agent_work_temp\9e1574eb-2834-4513-a780-043217a8cab6.ps1'"
PackageManagement\Install-Package : Unable to find module providers (PowerShellGet).
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\<IP_ADDRESS>\PSModule.psm1:1809 char:21

...          $null = PackageManagement\Install-Package @PSBoundParameters

                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidArgument: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], E
xception
FullyQualifiedErrorId : UnknownProviders,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

[error]PowerShell exited with code '1'.
[section]Finishing: Install BCContainerHelper module`
Deleted the folder "C:\users\dbaldwin<OneDrive>\Documents\Modules". Ran the script again with the your package management code still in place (absent AddToStatus calls). Build succeeds. So the code does not cause errors, but apparently does not resolve the Modules folder issue. The modules folder contained subfolders for PackageManagement and BcContainerHelper, if that helps at all. After the build it is still gone.

OK.
The issue is unrelated to BcContainerHelper, but I might have a solution for you anyway.
In the new AL-Go for GitHub, I actually do not install the module from PS Gallery, but instead download, unpack and import the module for the session.
You can try out this code:
function Expand-7zipArchive {
    Param (
        [Parameter(Mandatory = $true)]
        [string] $Path,
        [string] $DestinationPath
    )

    $7zipPath = "$env:ProgramFiles\7-Zip\7z.exe"

    $use7zip = $false
    if (Test-Path -Path $7zipPath -PathType Leaf) {
        try {
            $use7zip = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($7zipPath).FileMajorPart -ge 19
        }
        catch {
            $use7zip = $false
        }
    }

    if ($use7zip) {
        Set-Alias -Name 7z -Value $7zipPath
        $command = '7z x "{0}" -o"{1}" -aoa -r' -f $Path, $DestinationPath
        Invoke-Expression -Command $command | Out-Null
    }
    else {
        Expand-Archive -Path $Path -DestinationPath "$DestinationPath" -Force
    }
}

function InstallContainerHelper {
    Param(
        [string] $bcContainerHelperVersion = "latest"
    )

    $tempName = Join-Path $env:TEMP ([Guid]::NewGuid().ToString())
    $webclient = New-Object System.Net.WebClient
    if ($BcContainerHelperVersion -eq "dev") {
        Write-Host "Downloading BcContainerHelper developer version"
        $webclient.DownloadFile("https://github.com/microsoft/navcontainerhelper/archive/dev.zip", "$tempName.zip")
    }
    else {
        Write-Host "Downloading BcContainerHelper $BcContainerHelperVersion version"
        try {
            $webclient.DownloadFile("https://bccontainerhelper.azureedge.net/public/$($BcContainerHelperVersion).zip", "$tempName.zip")
        }
        catch {
            $webclient.DownloadFile("https://bccontainerhelper.blob.core.windows.net/public/$($BcContainerHelperVersion).zip", "$tempName.zip")
        }
    }
    Expand-7zipArchive -Path "$tempName.zip" -DestinationPath $tempName
    Remove-Item -Path "$tempName.zip"

    $BcContainerHelperPath = (Get-Item -Path (Join-Path $tempName "*\BcContainerHelper.ps1")).FullName
    . $BcContainerHelperPath

    $tempName
}

function CleanUpContainerHelper {
    Param(
        [string] $bcContainerHelperPath = ""
    )

    if ("$bcContainerHelperPath" -ne "" -and (Test-Path $bcContainerHelperPath -PathType Container)) {
        try {
            Write-Host "Removing BcContainerHelper"
            Remove-Module BcContainerHelper
            Remove-Item $bcContainerHelperPath -Recurse -Force
        }
        catch {}
    }
}

$bcContainerHelperPath = InstallContainerHelper
try {

    # your code

}
finally {
    CleanUpContainerHelper -bcContainerHelperPath $bcContainerHelperPath
}

You can also modify the code as you see fit.
As you can see - all BcContainerHelper versions are published to PowerShell Gallery AND also uploaded to a storage account, from which it can be downloaded and used.

I do agree that it does not have anything to do with BcContainerHelper--rather with the Import-Module command itself.   I will set this up on a test project and try that. I can at least test the code. I will have to wait until I have the error condition first however, to see if it is resolving anything. At this point I am not clear exactly when that Modules folder gets created, or at what point its presence causes the problem. Which--if I wanted to pursue those questions, on what forum should I be posting?  Thanks!

I think the problem is on Install-Module, not Import-Module.
Install-Module uses PowerShellGet and PackageManagement to get the modules and I think that is the caveat,
The above code definitely resolves the issue on loading containerhelper - as I am not using the normal modules folders, powershellget etc. - I am just loading the module from a temp folder.
The above mechanism also allows two agents to use different versions of ContainerHelper (if for some reason one set of pipelines are using insider and another isn't)
Hope it works out for you.

Thanks very much.

In the end, this seems to have resolved the problem. I found it by digging through forum posts:
  Install-PackageProvider -Name NuGet -Force -Scope CurrentUser;
  Install-Module -Name BCContainerHelper -Scope CurrentUser -force;
Just adding the Install-PackageProvider line made that problem stop happening. Apparently the -Scope CurrentUser is essential.
Windows Real-Time Scanning is fatal to docker builds, by the way.

Thanks a million for this info.
I actually got the same problem yesterday - I ended up moving the content of the user modules folder to the \program files\windowspowershell\modules folder - then I could install modules again.

Nope - I just moved it

No kidding. Okay, I will keep that in mind. We moved our build agent to a dedicated machine--with no OneDrive--so maybe we have dodged that bullet. Thanks.


Added with_product(...) and with_user_agent_extra(...) public functions to improve telemetry for mid-stream libraries

Changes
This PR solves three tracking challenges:

Adds consistent mechanism with Go SDK
Some of our products, like UCX and Remorph, are used not only as standalone CLI, but also as mid-stream libraries in other products, where developers don't specify product name and product version within the WorkspaceClient. This results in missing tracking information for those integrations.
Mid-stream libraries, like blueprint, pytester, and lsql, do have their own versions, but they don't create manage sdk.WorkspaceClient and/or core.Config themselves, so we currently lack traffic attribution for those libraries. Technically, Databricks Connect falls into the same use-case.

Tests
Moved unit tests that are relevant to User-Agent verification from test_core.py to test_config.py to bring back consistency.

Codecov Report
Attention: Patch coverage is 86.95652% with 3 lines in your changes missing coverage. Please review.

Project coverage is 57.70%. Comparing base (f50af60) to head (7b3ecf0).

Files
Patch %
Lines

databricks/sdk/config.py
86.95%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #679      +/-   ##
==========================================
+ Coverage   57.69%   57.70%   +0.01%
==========================================
  Files          48       48
  Lines       33079    33102      +23
==========================================
+ Hits        19084    19103      +19
- Misses      13995    13999       +4

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


Write a C program to find average of numbers by recursion

Description
Write a C program to find average of numbers by recursion
Average of numbers is the sum of all numbers divided by the number of numbers. For example, the average of 1, 2, 3, 4, 5 is 3. The average of 1, 2, 3, 4, 5, 6 is 3.5.
Average of numbers can be calculated by recursion. The average of numbers is the sum of the first number and the average of the rest of the numbers. The average of the rest of the numbers is the sum of the second number and the average of the rest of the numbers. The average of the rest of the numbers is the sum of the third number and the average of the rest of the numbers. And so on.
Input  : 1 2 3 4 5
Output : 3

How to contribute

Save the solution in program/FindAverageOfNumbersByRecursion.c file
Add FindAverageOfNumbersByRecursion.c file in find-average-of-numbers-by-recursion folder

!assign

Hey @sureshsgith,
This issue has been assigned to you for more than 15 days.
We are unassigning you from this issue.
If you are still interested in contributing to this issue, please get auto-assigned on the issue by commenting !assign again.
Thanks for your contributions :)

!assign

Hey @Ishay1997, this issue is already assigned to @pokharel-nishan !!!
Please choose another issue.
Thanks for your interest in contributing to this project.

!assign


Scroll speed is too slow compared to regular iced-rs

The difference seems to be roughly: x11 scrolls 14 items per full wheel scroll, layershell only 3 items per full scroll
X11:
https://github.com/user-attachments/assets/af1afd64-5302-4116-8d87-589342b9cfb2
Layershell:
https://github.com/user-attachments/assets/d9462f7b-e8dd-41a7-9256-82d7a88aa777

Emm.. I do not quite know how to fix it... I should done in the same way what winit is doing..

Did little bit of debugging, the difference is that for layershell mouse scroll events are fired as wl_pointer::Event::Axis (absolute, amount of pixels) but for winit it is wl_pointer::Event::AxisDiscrete (discrete, amount of lines). At the moment not sure why

Emm, I am not quite familiar with this part, if you can help me complete this part, I will be very happy. Thank you very much

Also found that wl_pointer::Event::AxisSource is not fired. Otherwise this is also quite out side of my knowledge


Heartbeat

Hello, how can I piggy back a heart beat in this.
What should I do to configure the packets, so that I dont get my messages to get tagged into Dos packet.

Hi
I'm not sure entirely what you're asking.
If by 'heartbeat' you mean a periodic notification (via the SSDP protocol) that a service is still alive, then this is built into both the SSDP specification and the RSSDP implementation. For the first service registered, and then after each 'heartbeat' is sent, the system determines the next heartbeat interval and sets an internal timer. When that timer fires, SSDP 'alive' notifications for each currently registered service are sent. The interval is determined as per the SSDP spec, which from memory (and paraphrasing) is 'a random time between 15 minutes and 1/2 the alive time of the service'. 15 minutes is the minimum, and I believe the reasoning for that is to help prevent flooding the network with unicast messages. The randomisation also helps prevent flooding the network when all SSDP broadcasters start at once. In RSSDP we take the greater of 15 minutes or a random time up to half the minimum alive/cache time of any service registered in the publisher
There isn't currently a way to force a manual notification to be sent. You could unregister and re-register the service with the publisher, but that would have the unwanted side affect of sending a 'bye bye' notification on unregister which is probably undesirable. It would be possible to add a method to force an alive notification to be sent, but I am not keen to do so as the spec already covers providing a heart beat designed not to flood the network and I suspect a manual option would be abused.
The RSSDP design is to follow the spec, and make this sort of thing automatic. Between the existing heartbeat, alive notifications on register & publisher start and the bye bye notifications on a clean shutdown/unregister then I think you're pretty well covered. Even a heartbeat that occurs more often than the SSDP spec suggests wouldn't protect you from having to write clients that gracefully detect a service disappearing or being unavailable unexpectedly when called. It might reduce how often it happens, particularly with services that pop up and down often or on flaky networks, but in that case the heartbeats might well get missed or cause race conditions anyway, and so you still need a robust client for the unexpected.
If you're asking for some other (higher/lower level heartbeat), then that is beyond the scope of this library.
As for the DOS issue, I'm afraid I don't know. I'm not an expert at networking. I've implemented the SSDP spec over UDP (as the spec suggests/expects) using the high level .Net classes for UDP. As far as I know the only things I can 'configure' on a packet is the destination (address and port) and the content, there is no packet header or metadata that I'm aware of. I would expect that if you're configuring a firewall or QoS system to prevent DOS issues then you would configure that system to inspect the packets and apply rules, not configure the packets to it's requirements (but then as I said, I don't really know networking). That seems particularly true since you might have multiple systems sending the same type of packets and not all systems might support configuring the packets themselves.
My guess is the DOS system should allow UDP packets to the multicast address & port used by the SSDP spec, where the package contains a valid HTTP header (request or response on the first line). Perhaps it would include some sort of rate limiting based on source address, but that seems dangerous since you don't know how many services any given source might have and each SSDP message is supposed to be sent at least 3 times to account for possible packet loss over UDP. Perhaps it could detect a block packages are a certain number of exact duplicates are sent in a particular time span, but the limit would have to be more than 3 over several seconds (10?) to ensure it didn't block good packets.
If you know more about this than I do, and can explain to me what I need to do to modify the packets so they are accepted by general DOS protection systems then I'm happy to look into it. Likewise, if I've misunderstood one of your queries, please clarify and I'll attempt to help.
Thanks.

Apologies if my previous, long winded answer, sounded harsh. I was trying to be helpful and detailed.
Re the heartbeat issue, I should point out that if you have just a few clients you could also have them 'poll' for available by performanc a search. Then you would have control over how often that happened. I wouldn't do that with many clients though, as it may create unnccesary load on the network. Also seraching for a specific service by id, or perhaps a group of services by type would be better than searching for all services everytime unless you really need to do that.

Thanks :+1:


Ignoring Preflight check for small infrastructure guys

Hello. Please add to your playbook ignoring Kubernetes preflight checks. For people with small resource pool. Thank you for your project and time wasting in such tough think as kubernetes and ansible.

Hi, @zmmdv
I will take a time and improve "kubernetes" role to add the functionality you needed
Thnx a lot for checking this project out!

Hi, @zmmdv
I will take a time and improve "kubernetes" role to add the functionality you needed
Thnx a lot for checking this project out!

thanks for your attention to detail, and a quick response great job from great people. Also if you can add one big README file for all roles and their ways will be more easier to find what newbees need  Hope more project and more roles will come soon!


Filter instances to only include matches that have same scope type as input

We already do this when we detect that the input for "instance" is a token or word, but we should do it for other scopes. We should also construct a target of the right scope type. For example:
const aaa = bbb(ccc, ddd);
const eee = ccc + ddd(ccc, fff);

In this case, "chuck two instances arg cap" should give:
const aaa = bbb(ddd);
const eee = ccc + ddd(fff);

Note how:

It skips the ccc in = ccc + because that is not an argument
It cleans up commas on both ccc args, because it constructs args rather than untyped targets

I do wonder if this behaviour would be surprising? Would you see that ccc in const ccc as an instance of the same thing?
Related:

[ ] We should probably tackle https://github.com/cursorless-dev/cursorless/issues/1949 while we're here

Approach

[ ] Add a scopeType field to Target
[ ] Try to expand to that scopeType when we find a match, just as we do for token and word targets in instance today
[ ] If we can expand to that scope type and it's equal to the range, return the target we expanded to, as that has the rich info

Another potential problem here: this behaviour will likely be quite surprising with "name". If I say "clear every instance name" as a poor-man's rename, it wouldn't work, because the other instances won't be names 🤔
I am starting to get the feeling that "name", "first token", etc should downgrade to "token" for inference / instance, as they are most often the problem children for this kinda thing. They're often just used as a convenient way to target a token, rather than a semantically rich scope. Idk

I think the best way to answer that question is to play around with it a bit.

I think the best way to answer that question is to play around with it a bit.

Whether some scopes should be downgraded to token.

Right yeah I think that makes sense. On the first question of whether requiring "name" to be "name" for instance, I'm quite confident that would bite me

Update from meet-up:

Let's go for the approach described in this issue
The "every name" thing can be solved by saying "every token name", whereas the reverse can't be recovered


Missed comma between flow collection entries (2:2)

Hello, whilst trying to add this card configuration code to Xiaomi Map Cleaning Card I get following error and cannot save:
I'm fairly new at this so lost as to what I can troubleshoot.
_Configuration errors detected:
missed comma between flow collection entries (2:2)
1 | {# ----------------- PROVIDE YOUR ...
2 | {% set camera_entity = camera.dre ...
------^
3 | {% set vacuum_entity = vacuum.dre ...
4 | {# ------------------- DO NOT CHA ..._
`{# ----------------- PROVIDE YOUR OWN ENTITY IDS HERE ----------------- #}
{% set camera_entity = camera.dreame_robot_vacuum_mop_f9_map %}
{% set vacuum_entity = vacuum.dreame_robot_vacuum_mop_f9 %}
{# ------------------- DO NOT CHANGE ANYTHING BELOW ------------------- #}
{% set attributes = states[camera_entity].attributes %}
type: custom:xiaomi-vacuum-map-card
vacuum_platform: default
entity: {{ vacuum_entity }}
map_source:
camera: {{ camera_entity }}
calibration_source:
camera: true
map_modes:

template: vacuum_clean_zone
max_selections: 10
repeats_type: EXTERNAL
max_repeats: 3
service_call_schema:
service: dreame_vacuum.vacuum_clean_zone
service_data:
entity_id: '[[entity_id]]'
zone: '[[selection]]'
repeats: '[[repeats]]'
template: vacuum_clean_segment
repeats_type: EXTERNAL
max_repeats: 3
service_call_schema:
service: dreame_vacuum.vacuum_clean_segment
service_data:
entity_id: '[[entity_id]]'
segments: '[[selection]]'
repeats: '[[repeats]]'
predefined_selections:
{%- for room_id in attributes.rooms | default([]) %}
{%- set room = attributes.rooms[room_id] %}

id: {{room_id}}
outline:

{{room["x0"]}}
{{room["y0"]}}

{{room["x0"]}}
{{room["y1"]}}

{{room["x1"]}}
{{room["y1"]}}

{{room["x1"]}}
{{room["y0"]}}
{%- endfor %}

name: Clean Spot
icon: mdi:map-marker-plus
max_repeats: 3
selection_type: MANUAL_POINT
repeats_type: EXTERNAL
service_call_schema:
service: dreame_vacuum.vacuum_clean_spot
service_data:
entity_id: '[[entity_id]]'
points: '[[selection]]'
repeats: '[[repeats]]'
`

Thanks Tasshack, much appreciated


Use service as hostname fallback to enable keyring usage on redirects

Description
When following redirects that don't point to one of the configured indexes pip will request credentials from the keyrings using the netloc taken from the target's location url (ref).
The present implementation relies on urlib.urlparse to determine hostname (which is part of netloc). urlparse requires urls to have a schema (or at least //) in order to detect a netloc (ref), which makes it misclassify a previously parsed netloc as a path (ref).
I proposed falling back to using the service as is when a hostname cannot be found (ex. when service is just a url's netloc).
Motivation
Using a private pypi server that redirects to a GCP Artifact Registry Python repository for certain dependencies.

@megan-kuo Hi Megan, could you have a look a this PR please?

Thanks @miguelnmiranda! so sorry its taken me this long to respond, I'm OOO this week but will most definitely get to it next week - just wanted to drop by to say this item is on my to do list.
Thanks again!

@megan-kuo Hi Megan, Please provide guidance on how to move this forward.

Closing due to inactivity


Plans for typescript or another language

thank you for providing and developing this open source library.
i am wondering if there are any plans to release this test engine based on typescript or another language?
if so, could you share when we might expect to see it?
thanks.

@Dorocy We currently do not plan to release the Test Engines in another language.
If you want to integrate them into your program, the best solution would be to use the command line in combination with --ouput json . If you are only interested in pass/fail, the cli returns a zero error code if the test passes.


Unhandled rejection when calling .return() with a rejected promise from another promise constructor

What version of bluebird is the issue happening on?

v3.4.1

What platform and version? (For example Node.js 0.12 or Google Chrome 32)

Node v6.3.0, OS X 10.9.5

Did this issue happen with earlier version of bluebird?

Issue not present on bluebird v2.10.2.

When calling .return() with a value which is a rejected promise created from a different promise constructor, an unhandled rejection occurs.
var OtherPromise = Promise.getNewLibraryCopy();

var p = OtherPromise.reject( new Error('foo') );
Promise.resolve()
    .return( p )
    .catch( function() {} );

There's no unhandled rejection where p is an instance of Promise rather than OtherPromise.
Where OtherPromise == global.Promise (i.e. native JS promise), an unhandled rejection also occurs.
I'm actually not sure if calling .return() with a promise is meant to be supported anyway (it's not stated so in the docs) but it seems to work fine apart from this odd edge case.
As with issue #1158, I'm it's more that this is an inconsistent behavior rather than a terrible bug. And this issue is more for reference than an urgent call for it to be fixed!

Also same issue with .catchReturn()

I'm still seeing this issue in v3.4.5.
The following example results in an unhandled rejection:
var OtherPromise = Promise.getNewLibraryCopy();

var p = OtherPromise.reject( new Error('foo') );
Promise.resolve()
    .return( p )
    .catch( function() {} );

It was reverted

Doesn't this cause the warning too?
var p = OtherPromise.reject( new Error('foo') );

Promise.resolve()
    .then(function() {
        return p;
    })
    .catch( function() {} );

Yes, you're right. But by that logic, shouldn't the following also create an unhandled rejection?
var p = Promise.reject( new Error('foo') );

Promise.resolve()
    .return( p )
    .catch( function() {} );

(it doesn't)
The point I was trying to make is that there's an inconsistency between what happens when p is an instance of Promise and when it's a promise from another constructor (either another bluebird constructor, or a native JS Promise).
My guess was that suppressing the error in all cases is the desired behavior since .return() is called sync.

Or, I suppose you could argue that the error should never be suppressed, as then an error can get swallowed in:
function MyError(message) {
    Error.call(this, message);
}
require('util').inherits(MyError, Error);

var p = Promise.reject( new Error('foo') );

Promise.resolve()
    .then( function() {
        throw new MyError();
    })
    .return( p )
    .catch( MyError, function() {} );

It's prohibitively expensive to go around reflecting whether the promise is some copy of bluebird, the check for if the promise is of the same library copy is very cheap so I didn't see downside in implementing it

Ah I see. That makes sense. But what do you think of my example above where an error gets silently swallowed?

yep in that case the error would be swallowed but doesn't seem like a big deal


Using Secondary Side Bar results in a poor user experience with side bar opening/closing

The latest extension update has moved the Chat window out of the Primary Side Bar into the Secondary, and in doing so, the UX experience is degraded (IMO).
I have the Primary Side Bar on the right so that the experience of show/hide does not reposition the left side of the editor window, but the secondary side bar now has to be on the left, resulting in a repositioning of the editor area.
Here's an example of the change in action, and as you can see the left-alignment now moves around with the side bar being open/closed often (which I'd find common with Copilot Chat).

I can't find a setting that would merge them together, but that is what ideally would exist.
Extension version: v0.22.2024102603 (pre-release)
VS Code version:
Version: 1.95.0-insider (system setup)
Commit: 38dc6ac5a771cc94bde1344722bb2d02c80096ea
Date: 2024-10-25T22:08:52.005Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.26120

ok, so I just realised you can drag the icon across to the other side bar and now I'm back to my original experience, but that wasn't an obvious/discoverable option.

It did pop up and I'll admit to having not really paid attention, then couldn't get it back or find the info again when I realised I should have read it.

Why can the VSCode extension GitHub Copilot register the position of viewsContainers in the Secondary Sidebar?
I am developing a VSCode extension and would like to learn more. Thank you.
#143037

ok, so I just realised you can drag the icon across to the other side bar and now I'm back to my original experience, but that wasn't an obvious/discoverable option.

agree! and they should NOT have set it to be the 2nd side bar by default

I saw the popup and thought I'd try it on the right side.
Once done there appeared to be no way to undo it. That is a very poor experience.
I had to come here to find the hint of grabbing an icon to move it which is simply in my opinion nonsensical. However this appears to be a vscode issue not a copilot issue.
To move windows you always grab the title bar or what serves as a title bar. grabbing an icon or text within a title bar is not a good user interface decision as it is a not standard.

I typically code on a small screen (MacBook Air) with VSCode adjusted next to an emulator. When Copilot is on the secondary sidebar, it shrinks the main code editor window a lot. I prefer having it on the primary sidebar by default, with the option to move it to the secondary sidebar. If not, at least please don't remove the ability move it back to the primary sidebar.

It is easy to bring the chat back to the primary sidebar, just drag and drop it over:
https://github.com/user-attachments/assets/eadb8493-cec8-4848-81d2-4f980e1bae54

+1
My top panel disabled at all as I don't use it, so I lost all connections to copilot chat except turning on from the menu
#2167

@bpasero Nothing happens when I drag on that icon.

I can't move the chat back either. Dragging the chat icon and hovering over the
primary sidebar makes it appear as it should be dockable, but it simply stays on the wrong side of the screen. Arch Linux, using visual-studio-code-bin. Installing older versions does not work either.

Ok that sounds like a bug to me, how about other things, like editor tabs, can you drag those?

I believe the copilot developers should be aware that they shouldn't force modifications on users who do not ask for them. We have important deliveries to make, and the main feature we expect from a tool is stability. We don't have time to waste getting used to aesthetically irrelevant modifications.

Ok that sounds like a bug to me, how about other things, like editor tabs, can you drag those?

Oh, my bad, I should have totally tried this. I can drag editor tabs, but other icons like the explorer also don't let me move them. I'd love to know of a workaround but this doesn't seem to be an issue related to this extension :P

@PancakeTAS any chance you can upload a screen recording of the issue?

@PancakeTAS any chance you can upload a screen recording of the issue?

sure here you go
https://github.com/user-attachments/assets/1b1429a4-e9a7-4ef8-be74-1d02ee9c6273

@PancakeTAS Are you using Wayland?
@deepak1556 Known issue on linux? They are using arch.

@PancakeTAS Are you using Wayland?
@deepak1556 Known issue on linux? They are using arch.

Yes I am on Wayland, more specifically Hyprland

There is an alternative way of moving the chat view back via the "Move View" command, that should always work:

Instead of posting workarounds that restore the layout the way it was, wouldn’t it be simpler to just undo this change that no one asked for and which seems to be universally hated? 🤷♂

Aweful change, what a relief to find out thanks to @aaronpowell that it can be changed by dragging the icon.

Took me more than an hour digging through all the settings , asked the copilot itself  , searched on google  didn't find anything .
I thought i messed up something that it is not appearing there (recently reinstalled my os) ,
Fortunately landed here , completely unnecessary change

On Arch Linux with KDE Wayland, couldn't drag and dock. Reverted to X11 and drag and dock worked, then went back to Wayland and layout stayed.

@sbatten yes dnd issue with wayland is tracked in https://github.com/microsoft/vscode/issues/227897

ok, so I just realised you can drag the icon across to the other side bar and now I'm back to my original experience, but that wasn't an obvious/discoverable option.

after searching for every setting copilot has, it was just a drag and drop 🥲
please do not suggest layout changes as default selection for further updates, the default should be the current layout, no need to mess up the UX like that 🙏🏻

The secondary side bar is the default location for Chat and Copilot Edits since our November release. There are ways to move these views to side bar or panel as needed.
If you see usability issues with the secondary sidebar, please report them as issues to https://github.com/microsoft/vscode/issues and we are happy to take it from there. Our plan is to make the secondary sidebar easier to use and better. It is also the first time for us to ship a view there by default, so we are happy to learn how to improve that.
I am going ahead and close this issue 🙏


Add global coverage and add provider admin names

I've added global coverage to several of the pipelines (just missing population, operational presence, and poverty rate).  I also added in the provider admin names and p-coded them where possible.  Where p-coding wasn't possible or just very complicated, like the IPC data, I p-coded to a lower admin level so all data rows should be present in the database.
I also ran a test database export and it's working as expected.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

109 of 126 (86.51%)  changed or added relevant lines in 10 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.7%) to 92.969%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/hapi/pipelines/database/conflict_event.py
9
10
90.0%

src/hapi/pipelines/database/locations.py
3
4
75.0%

src/hapi/pipelines/database/org.py
1
2
50.0%

src/hapi/pipelines/database/operational_presence.py
8
10
80.0%

src/hapi/pipelines/database/funding.py
43
49
87.76%

src/hapi/pipelines/database/wfp_market.py
17
23
73.91%

Totals

Change from base Build<PHONE_NUMBER>7:
-0.7%

Covered Lines:
1666

Relevant Lines:
1792

💛  - Coveralls

Thanks @mcarans!  I've added a utility function to get the provider names.


Example "thread": SIGABRT crash on Close

When testing the "thread" example, on an Ubuntu linux distro, I have found that closing the dialog results in a SIGABRT when iup.Close is called.
double free or corruption (out)
SIGABRT: abort
PC=0x7f885e56ee87 m=0 sigcode=18446744073709551610
signal arrived during cgo execution

goroutine 1 [syscall]:
runtime.cgocall(0x4d8160, 0xc000075da8)
    /.../go/1.18.0/src/runtime/cgocall.go:157 +0x5c fp=0xc000075d80 sp=0xc000075d48 pc=0x42945c
github.com/gen2brain/iup-go/iup._Cfunc_IupClose()
    _cgo_gotypes.go:253 +0x45 fp=0xc000075da8 sp=0xc000075d80 pc=0x4ba705
github.com/gen2brain/iup-go/iup.Close()
    /.../src/ext/iup-go/iup/bind_iup.go:26 +0x17 fp=0xc000075db8 sp=0xc000075da8 pc=0x4d09d7
main.main()
    /.../src/ext/iup-go/examples/thread/thread.go:33 +0x311 fp=0xc000075f80 sp=0xc000075db8 pc=0x4d2e11
runtime.main()
    /.../go/1.18.0/src/runtime/proc.go:250 +0x212 fp=0xc000075fe0 sp=0xc000075f80 pc=0x45a132
runtime.goexit()
    /.../go/1.18.0/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc000075fe8 sp=0xc000075fe0 pc=0x482d61

rax    0x0
rbx    0x7ffe8b025440
rcx    0x7f885e56ee87
rdx    0x0
rdi    0x2
rsi    0x7ffe8b0251d0
rbp    0x7ffe8b025540
rsp    0x7ffe8b0251d0
r8     0x0
r9     0x7ffe8b0251d0
r10    0x8
r11    0x246
r12    0x7ffe8b025440
r13    0x1000
r14    0x0
r15    0x30
rip    0x7f885e56ee87
rflags 0x246
cs     0x33
fs     0x0
gs     0x0

I've found that commenting out the following line prevents the crash:
	thread := iup.Thread()
	thread.SetCallback("THREAD_CB", iup.ThreadFunc(threadCb))
	//thread.SetHandle("thread")

Yes, that is a known issue. If you comment on that line then the thread will not start at all, that is not a solution.
The crash is in IupClose(), trying to free something that doesn't exist. Need to see if that happens in C.

Just to add gdb output here:
free(): invalid pointer

Thread 1 "thread" received signal SIGABRT, Aborted.
0x00007ffff6da705c in ?? () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff6da705c in  () at /lib64/libc.so.6
#1  0x00007ffff6d5b792 in raise () at /lib64/libc.so.6
#2  0x00007ffff6d46449 in abort () at /lib64/libc.so.6
#3  0x00007ffff6d9b5f8 in  () at /lib64/libc.so.6
#4  0x00007ffff6db0cea in  () at /lib64/libc.so.6
#5  0x00007ffff6db24f4 in  () at /lib64/libc.so.6
#6  0x00007ffff6db4f71 in free () at /lib64/libc.so.6
#7  0x00000000004e1e9e in iClassDestroy (ih=0xb90220, ic=<optimized out>) at /_/github.com/gen2brain/iup-go/iup/external/src/iup_class.c:65
#8  iupClassObjectDestroy (ih=ih@entry=0xb90220) at /_/github.com/gen2brain/iup-go/iup/external/src/iup_class.c:187
#9  0x000000000054a5d8 in IupDestroy (ih=0xb90220) at /_/github.com/gen2brain/iup-go/iup/external/src/iup_object.c:206
#10 0x0000000000549690 in iupNamesDestroyHandles () at /_/github.com/gen2brain/iup-go/iup/external/src/iup_names.c:94
#11 0x000000000054a82f in IupClose () at /_/github.com/gen2brain/iup-go/iup/external/src/iup_open.c:108
#12 0x0000000000482ee4 in runtime.asmcgocall () at runtime/asm_amd64.s:821
#13 0x000000c00002e000 in  ()
#14 0x00007fffffffd418 in  ()
#15 0x00000000004625b8 in runtime.exitsyscallfast.func1 () at runtime/proc.go:3839
#16 0x0000000000481069 in runtime.systemstack () at runtime/asm_amd64.s:469
#17 0x0000000000485805 in runtime.newproc (fn=0x1) at <autogenerated>:1
#18 0x00000000006a2380 in runtime.g0 ()
#19 0x0000000000000001 in  ()
#20 0x0000000000480f65 in runtime.mstart () at runtime/asm_amd64.s:367
#21 0x0000000000480eef in runtime.rt0_go () at runtime/asm_amd64.s:331
#22 0x0000000000000001 in  ()
#23 0x00007fffffffd5b8 in  ()
#24 0x0000000000000000 in  ()
(gdb)


Can't have web adapter at different url

After installing the adapter I'm stuck with the spinners:

(Dark Reader is on).
The reason for this is that I use custom DNS entries for my smarthome, e.g. iobroker sits at http://iobroker.asgard and my web adapter listens on http://smarthome.asgard . This is done with traefik, docker and a pi-hole as DHCP & DNS Server.
Calls are visible in the dev tools:

We can safely ignore the CORS error, because there is no webserver under given domain & port anyway.
Everything is on its own domain at Port 80 (until I find the time to lets-encrypt everything...)
Can you please add the possibility to define the URL of the web-adapter prior to connecting?
(CORS i can fix myself, this is just some traefik labeling)
Kind regards,
tim3trick

Hi,
you seem to have good knowledge. Any idea, how to achieve this? Do you have example-adapters where this is done?

Still waiting for feedback, so i think this topic might not be acutal any longer. Therefore i will close it for now. If you need any further assistance, please feel free to reopen it! Best regards


SearchRequest parameter expression builder

Product
Hot Chocolate
Is your feature request related to a problem?
The current implementation of the Elasticsearch feature in  does not provide an efficient way to handle selective data indexing and retrieval. Right now, while the "all data is index" case is well covered, but usually this is not what people use.
A clear and concise description of what the problem is.
With Elasticsearch, it's often more efficient to index and query specific fields rather than all data. The usual process involves:

Searching in Elasticsearch
Performing a DB query with the Elasticsearch results

Currently, we lack a straightforward and efficient way to perform these steps. At the moment we directly return an Executable and return the data from the ES directly.
The solution you'd like
To better manage this, we need a mechanism to generate a SearchRequest<T> either as an extension method on IResolverContext or the Elasticsearch client. Moreover, we should have a parameter expression builder that injects a SearchRequest<T> when [UseFiltering] is used and a SearchRequest<T> is injected into the resolver.
The newly added extension methods should allow us to easily generate a SearchRequest<T> based on the provided context and execute the two-step query process (search in Elasticsearch and perform a DB query with the results). The parameter expression builder should be able to handle injection of a SearchRequest<T> directly, so that we can also use this in Annotation Based.
Example of a Parameter Expression Builder: https://github.com/ChilliCream/graphql-platform/blob/main/src/HotChocolate/Data/src/Data/Filters/Context/FilterContextParameterExpressionBuilder.cs
Related: https://github.com/ChilliCream/graphql-platform/pull/4998, https://github.com/ChilliCream/graphql-platform/discussions/4883
CC:
@A360JMaxxgamer

I will have a look into it today

I added a draft pr to have something to talk about :D Currently I don't know what to implement in the Build method of the ElasticSearchParameterExpressionBuilder.
@PascalSenn can you give me a hint


"The operation has timed out." when replacing underlying RDS instance

We are experiencing what I believe to be an issue with connection pooling when using Amazon RDS database instances to back our web application running on ECS.
The error specifically occurs when we roll-back the RDS instance to a previous point in time. The connection string remains unchanged, but I suspect the Npgsql driver believes it still has active connections open, even though they have been terminated server side (by the rollback).
Restarting our application obviously fixes the problem as it creates new connections after launch, but is an undesirable solution.
Is this a bug within Npgsql? Should it be timing out on a connection that has been forcibly closed? Maybe there is something we can put in the connection string to force it to retry? (Although I'd like to avoid turning off connection pooling completely if possible.)

Hi @antonfelich,
Did you ever resolve this issue? We are experiencing similar issues. We have kestrel hosted on an Ubuntu ec2 instance talking to Postgres rds. Every time we redeploy which provisions with Ansible it seems to lose ability to speak to rds. Only way of fixing it usually is to completely remove the service and reinstall or terminate and reprovision the ec2 instance.
Keen to hear more of your experience
Sanjev

Sorry for not answering this sooner.
If your PostgreSQL server (RDS in this case) terminates all connections, then receiving client-side errors is, well, expected behavior... If you're managing the rolling back programmatically, you can instruct Npgsql to clear its connection pool by calling NpgsqlConnection.ClearPool() (or ClearAllPools()).
Otherwise, I'm not sure exactly what you're looking for - you can catch the exception and retry, but otherwise I don't really know what Npgsql can do for you.
Closing as this issue has aged, but would be happy to continue the conversation and accept proposals.


I can't set the screen refresh (amd gpu)

I can't set the screen refresh if I rewrite 1920x1080@60 > 1920x1080@120 nothing happens and no error
https://cdn.discordapp.com/attachments/706159647366709309/1067593201373937764/Screenshot_2023-01-25-00-46-22_26516.xcf

and how do you verify it is not 120hz?

and how do you verify it is not 120hz?

I dont know goverlay? However, in the meantime it was solved with another config file that works if I rewrite it

you should use the debug overlay or wlr-randr to check your mode. However, if another config fixed it then the problem was with you not being able to config hyprland correctly.


"Encountered an unexpected tracer" when scanning inside transformed function

Hi there. I'm doing something that requires me to iterate over my batches of data and send them to a haiku module. I was experiencing very slow compilation, so based on this comment, I thought I would try converting my for batch in data to a jax.lax.scan call. However, I ran into an "unexpected tracer" error doing this, despite the fact that I'm not (directly?) modifying global state.
Minimal reproduction code:
import haiku as hk
import jax
import jax.numpy as jnp

def build_forward_fn():
    def forward_fn(_,
                   is_training = True):
        # Define a model
        m = hk.Linear(300)

        # Prepare some data to scan over
        data = jnp.arange(0, 256).astype('float32')
        data = jnp.expand_dims(data, axis=0)
        data = jnp.stack([data, data])
        data = jnp.expand_dims(data, axis=0)

        def scanner_fn(carry, batch):
            out = m(batch)
            return carry, out

        jax.lax.scan(scanner_fn, 0, data)

    return forward_fn

if __name__ == '__main__':
    forward_fn = build_forward_fn()
    forward_fn = hk.transform(forward_fn)
    forward_fn_init = jax.jit(forward_fn.init)
    rng = jax.random.PRNGKey(100)
    forward_fn_init(rng, 1)

The traceback:
Traceback (most recent call last):
  File "test.py", line 30, in <module>
    forward_fn_init(rng, 1)
  File "/venvpath/lib/python3.8/site-packages/jax/_src/traceback_util.py", line 183, in reraise_with_filtered_traceback
    return fun(*args, **kwargs)
  File "/venvpath/lib/python3.8/site-packages/jax/_src/api.py", line 399, in cache_miss
    out_flat = xla.xla_call(
  File "/venvpath/lib/python3.8/site-packages/jax/core.py", line 1561, in bind
    return call_bind(self, fun, *args, **params)
  File "/venvpath/lib/python3.8/site-packages/jax/core.py", line 1552, in call_bind
    outs = primitive.process(top_trace, fun, tracers, params)
  File "/venvpath/lib/python3.8/site-packages/jax/core.py", line 1564, in process
    return trace.process_call(self, fun, tracers, params)
  File "/venvpath/lib/python3.8/site-packages/jax/core.py", line 607, in process_call
    return primitive.impl(f, *tracers, **params)
  File "/venvpath/lib/python3.8/site-packages/jax/interpreters/xla.py", line 607, in _xla_call_impl
    compiled_fun = _xla_callable(fun, device, backend, name, donated_invars,
  File "/venvpath/lib/python3.8/site-packages/jax/linear_util.py", line 262, in memoized_fun
    ans = call(fun, *args)
  File "/venvpath/lib/python3.8/site-packages/jax/interpreters/xla.py", line 682, in _xla_callable
    jaxpr, out_avals, consts = pe.trace_to_jaxpr_final(
  File "/venvpath/lib/python3.8/site-packages/jax/interpreters/partial_eval.py", line 1285, in trace_to_jaxpr_final
    jaxpr, out_avals, consts = trace_to_subjaxpr_dynamic(fun, main, in_avals)
  File "/venvpath/lib/python3.8/site-packages/jax/interpreters/partial_eval.py", line 1263, in trace_to_subjaxpr_dynamic
    ans = fun.call_wrapped(*in_tracers)
  File "/venvpath/lib/python3.8/site-packages/jax/linear_util.py", line 179, in call_wrapped
    ans = gen.send(ans)
  File "/venvpath/lib/python3.8/site-packages/jax/core.py", line 1523, in process_env_traces
    outs = map(trace.full_raise, outs)
  File "/venvpath/lib/python3.8/site-packages/jax/_src/util.py", line 41, in safe_map
    return list(map(f, *args))
  File "/venvpath/lib/python3.8/site-packages/jax/core.py", line 375, in full_raise
    val._assert_live()
  File "/venvpath/lib/python3.8/site-packages/jax/interpreters/partial_eval.py", line 933, in _assert_live
    raise core.escaped_tracer_error(self, None)
jax._src.traceback_util.UnfilteredStackTrace: jax.core.UnexpectedTracerError: Encountered an unexpected tracer. Perhaps this tracer escaped through global state from a previously traced function.
The functions being transformed should not save traced values to global state.
The tracer that caused this error was created on line /venvpath/lib/python3.8/site-packages/haiku/_src/base.py:368 (run_creators). The tracer has shape (300,) and dtype float32.
When the tracer was created, the final 5 stack frames (most recent last) excluding JAX-internal frames were:
/venvpath/lib/python3.8/site-packages/haiku/_src/module.py:428 (wrapped)
/venvpath/lib/python3.8/site-packages/haiku/_src/module.py:279 (run_interceptors)
/venvpath/lib/python3.8/site-packages/haiku/_src/basic.py:183 (__call__)
/venvpath/lib/python3.8/site-packages/haiku/_src/base.py:310 (get_parameter)
/venvpath/lib/python3.8/site-packages/haiku/_src/base.py:368 (run_creators)
The function being traced when the tracer leaked was scanner_fn at test.py:17 traced for scan.
To catch the leak earlier, try setting the environment variable JAX_CHECK_TRACER_LEAKS or using the `jax.checking_leaks` context manager.

The stack trace below excludes JAX-internal frames.
The preceding is the original exception that occurred, unmodified.

--------------------

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "test.py", line 30, in <module>
    forward_fn_init(rng, 1)
  File "/venvpath/lib/python3.8/site-packages/jax/interpreters/partial_eval.py", line 933, in _assert_live
    raise core.escaped_tracer_error(self, None)
jax.core.UnexpectedTracerError: Encountered an unexpected tracer. Perhaps this tracer escaped through global state from a previously traced function.
The functions being transformed should not save traced values to global state.
The tracer that caused this error was created on line /venvpath/lib/python3.8/site-packages/haiku/_src/base.py:368 (run_creators). The tracer has shape (300,) and dtype float32.
When the tracer was created, the final 5 stack frames (most recent last) excluding JAX-internal frames were:
/venvpath/lib/python3.8/site-packages/haiku/_src/module.py:428 (wrapped)
/venvpath/lib/python3.8/site-packages/haiku/_src/module.py:279 (run_interceptors)
/venvpath/lib/python3.8/site-packages/haiku/_src/basic.py:183 (__call__)
/venvpath/lib/python3.8/site-packages/haiku/_src/base.py:310 (get_parameter)
/venvpath/lib/python3.8/site-packages/haiku/_src/base.py:368 (run_creators)
The function being traced when the tracer leaked was scanner_fn at test.py:17 traced for scan.
To catch the leak earlier, try setting the environment variable JAX_CHECK_TRACER_LEAKS or using the `jax.checking_leaks` context manager.

I'm opening this in the haiku repo rather than the JAX repo because the error specifically comes up when I add the haiku module into the scan function - I haven't yet been able to reproduce this without haiku code. I haven't been able to come up with a reason why what I'm doing here wouldn't be supported, but I'm also not yet that familiar with the internals, so if this isn't a bug and there's something I'm missing, please let me know.

Of course I tried to debug this for an hour, opened the issue, then a minute later found the fix. Changing jax.lax.scan to hk.scan resolves the issue. It would be nice if haiku could somehow intercept these kinds of errors and mention that using the wrapped transformations may be necessary.


Example Gallery of feedstocks

Would be great to integrate a bunch of successful use cases of feedstocks into the LEAP docs

Good idea! Might make it easier for people to create feedstocks. There are quite a few on staged-recipes, but some of them are pre-beam refactor and are missing the LEAP specific utilities.
Also, the feedstocks are listed in the catalog, maybe we could have a page or view that shows all the example feedstocks in a gallery?

Hmm.. yeah or maybe as simple as having a section in the docs with individual links to these feedstocks? I think highlighting existing content could do just as much as creating new content. Every time I look closer, the catalog actually has some link to something I didn't realize was there the first time. And people might not know what feedstock means?

Good suggestions. I personally would like to avoid creating another page to highlight feedstocks, but it is well worth describing what a feedstock is and explaining the catalog UI in more detail!


PHP Warning: Private methods cannot be final

The Log Viewer shows this PHP warning:

Private methods cannot be final as they are never overridden by other classes

@allbitsnbytes, please let me know if this PR needs anything else to be accepted.


Ball out of play test

This PR is aimed to test the procedure of re-spawning the ball into the field of play after leaving the field in different situations. it also reviews the procedure of a game that is going to be a draw. It relates to issues #13 , #14 , #16 , #17 , and #19 .

This is the log I got while running this scenario:
[0000.001|0000.000] Error: Host is not correctly defined in game.json file, it should be <IP_ADDRESS> instead of <IP_ADDRESS>.
[0000.003|0000.000] Info: Real time factor is set to 0. Simulation will run as fast as possible, real time waiting times will be minimised.
[0001.620|0000.000] Info: Spawned RED_PLAYER_1 RobocupRobot on port 10001 at halfTimeStartingPose: translation -3.5 -3.06 0.24, rotation 0 0 1 1.57
[0002.645|0000.000] Info: Spawned BLUE_PLAYER_1 RobocupRobot on port 10021 at halfTimeStartingPose: translation 3.5 -3.06 0.24, rotation 0 0 1 1.571592653589793
[0002.668|0000.000] Info: Connected to GameControllerSimulator at localhost:8750
[0002.668|0000.000] Info: Red team is Funny Dingos
[0002.668|0000.000] Info: Blue team is Agile Lynxes
[0002.668|0000.000] Info: Left side is red
[0002.668|0000.000] Info: Kickoff is blue
[0002.668|0000.000] Info: Sending SIDE_LEFT:1 to GameController
[0002.668|0000.000] Info: Sending KICKOFF:2 to GameController
[0003.102|0000.224] Info: New state received from GameController: STATE_INITIAL
[0006.957|0009.816] Info: Sending STATE:READY to GameController
[0007.619|0012.392] Info: New state received from GameController: STATE_READY
[0021.148|0059.400] Info: New state received from GameController: STATE_SET
[0021.149|0059.400] Info: Sending PENALTY:1:1:INCAPABLE to GameController
[0021.155|0059.400] Info: INCAPABLE penalty for red player 1: did not move to kickoff position. Sent to translation -3 3.11 0.24, rotation 0.0 0.0 1.0 4.711592653589793
[0021.155|0059.400] Info: Sending PENALTY:2:1:INCAPABLE to GameController
[0021.159|0059.400] Info: INCAPABLE penalty for blue player 1: did not move to kickoff position. Sent to translation 3 3.11 0.24, rotation 0.0 0.0 1.0 4.713185307179587
[0023.031|0064.392] Info: Sending STATE:PLAY to GameController
[0023.643|0067.392] Info: New state received from GameController: STATE_PLAYING
[0033.969|0085.664] Info: Ball touched by red player 1.
[0034.009|0085.672] Info: Ball touched again by same player.
[0034.079|0085.680] Info: Ball touched again by same player.
[0034.080|0085.680] Info: Ball touched again by same player.
[0034.130|0085.688] Info: Ball touched again by same player.
[0034.131|0085.688] Info: Ball touched again by same player.
[0034.131|0085.688] Info: Ball touched again by same player.
[0034.131|0085.688] Info: Ball touched again by same player.
[0034.131|0085.688] Info: Ball touched again by same player.
[0034.157|0085.696] Info: Ball touched again by same player.
[0034.158|0085.696] Info: Ball touched again by same player.
[0034.158|0085.696] Info: Ball touched again by same player.
[0034.158|0085.696] Info: Ball touched again by same player.
[0034.158|0085.696] Info: Ball touched again by same player.
[0034.176|0085.704] Info: Ball touched again by same player.
[0034.176|0085.704] Info: Ball touched again by same player.
[0034.176|0085.704] Info: Ball touched again by same player.
[0034.176|0085.704] Info: Ball touched again by same player.
[0034.176|0085.704] Info: Ball touched again by same player.
[0034.198|0085.712] Info: Ball touched again by same player.
[0034.198|0085.712] Info: Ball touched again by same player.
[0034.198|0085.712] Info: Ball touched again by same player.
[0034.198|0085.712] Info: Ball touched again by same player.
[0034.198|0085.712] Info: Ball touched again by same player.
[0034.224|0085.720] Info: Ball touched again by same player.
[0034.224|0085.720] Info: Ball touched again by same player.
[0034.224|0085.720] Info: Ball touched again by same player.
[0034.224|0085.720] Info: Ball touched again by same player.
[0034.224|0085.720] Info: Ball touched again by same player.
[0059.326|0108.088] Info: Ball left the field at 0.999602 3.07231 0.0784522 after being touched by red player 1.
[0061.458|0110.080] Info: Ball respawned at 0.999602 2.975 0.0784522
[0096.931|0140.656] Info: Ball touched again by same player.
[0096.931|0140.656] Info: Ball touched again by same player.
[0096.931|0140.656] Info: Ball touched again by same player.
[0096.931|0140.656] Info: Ball touched again by same player.
[0096.931|0140.656] Info: Ball touched again by same player.
[0096.931|0140.656] Info: Ball touched again by same player.
[0096.931|0140.656] Info: Ball touched again by same player.
[0096.931|0140.656] Info: Ball touched again by same player.
[0097.045|0140.736] Info: Ball touched again by same player.
[0097.084|0140.736] Info: Ball touched again by same player.
[0097.084|0140.736] Info: Ball touched again by same player.
[0097.084|0140.736] Info: Ball touched again by same player.
[0097.085|0140.736] Info: Ball touched again by same player.
[0097.085|0140.736] Info: Ball touched again by same player.
[0097.085|0140.736] Info: Ball touched again by same player.
[0097.085|0140.736] Info: Ball touched again by same player.
[0124.906|0164.416] Info: Ball left the field at 4.57638 -2.00184 0.0783632 after being touched by red player 1.
[0126.366|0165.808] Error: GameController sent "600 seconds remaining"!
[0126.993|0166.408] Info: Ball respawned at 0 -2.00184 0.0783632
[0137.374|0174.504] Info: Ball touched again by same player.
[0137.374|0174.504] Info: Ball touched again by same player.
[0137.374|0174.504] Info: Ball touched again by same player.
[0137.396|0174.512] Info: Ball touched again by same player.
[0137.397|0174.512] Info: Ball touched again by same player.
[0137.397|0174.512] Info: Ball touched again by same player.
[0137.397|0174.512] Info: Ball touched again by same player.
[0137.418|0174.520] Info: Ball touched again by same player.
[0137.418|0174.520] Info: Ball touched again by same player.
[0137.418|0174.520] Info: Ball touched again by same player.
[0137.419|0174.520] Info: Ball touched again by same player.
[0137.434|0174.528] Info: Ball touched again by same player.
[0137.434|0174.528] Info: Ball touched again by same player.
[0137.435|0174.528] Info: Ball touched again by same player.
[0137.435|0174.528] Info: Ball touched again by same player.
[0137.435|0174.528] Info: Ball touched again by same player.
[0137.457|0174.536] Info: Ball touched again by same player.
[0137.457|0174.536] Info: Ball touched again by same player.
[0137.457|0174.536] Info: Ball touched again by same player.
[0137.457|0174.536] Info: Ball touched again by same player.
[0137.458|0174.536] Info: Ball touched again by same player.
[0137.475|0174.544] Info: Ball touched again by same player.
[0137.475|0174.544] Info: Ball touched again by same player.
[0137.476|0174.544] Info: Ball touched again by same player.
[0137.476|0174.544] Info: Ball touched again by same player.
[0137.476|0174.544] Info: Ball touched again by same player.
[0137.494|0174.552] Info: Ball touched again by same player.
[0137.495|0174.552] Info: Ball touched again by same player.
[0137.495|0174.552] Info: Ball touched again by same player.
[0137.495|0174.552] Info: Ball touched again by same player.
[0137.495|0174.552] Info: Ball touched again by same player.
[0137.521|0174.560] Info: Ball touched again by same player.
[0137.522|0174.560] Info: Ball touched again by same player.
[0137.522|0174.560] Info: Ball touched again by same player.
[0137.522|0174.560] Info: Ball touched again by same player.
[0137.522|0174.560] Info: Ball touched again by same player.
[0137.533|0174.568] Info: Ball touched again by same player.
[0137.533|0174.568] Info: Ball touched again by same player.
[0137.533|0174.568] Info: Ball touched again by same player.
[0137.533|0174.568] Info: Ball touched again by same player.
[0137.533|0174.568] Info: Ball touched again by same player.
[0137.568|0174.576] Info: Ball touched again by same player.
[0137.569|0174.576] Info: Ball touched again by same player.
[0137.569|0174.576] Info: Ball touched again by same player.
[0137.569|0174.576] Info: Ball touched again by same player.
[0137.569|0174.576] Info: Ball touched again by same player.
[0153.365|0188.096] Info: Ball left the field at -4.58092 -1.99447 0.078437 after being touched by red player 1.
[0155.422|0190.088] Info: Ball respawned at -4.475 -2.975 0.078437
[0181.932|0214.760] Info: New state received from GameController: STATE_READY
[0200.462|0260.080] Info: New state received from GameController: STATE_SET
[0201.450|0265.072] Info: Sending STATE:PLAY to GameController
[0201.966|0267.424] Info: New state received from GameController: STATE_PLAYING
[0205.475|0282.296] Info: New state received from GameController: STATE_READY
[0216.485|0326.392] Info: New state received from GameController: STATE_SET
[0217.626|0331.384] Info: Sending STATE:PLAY to GameController
[0217.985|0332.992] Info: New state received from GameController: STATE_PLAYING
[0317.645|0667.104] Info: Sending STATE:FINISH to GameController
[0317.645|0667.104] Info: End of first half
[0317.647|0667.104] Info: red player 1 reset to halfTimeStartingPose: translation 3.5 -3.06 0.24, rotation 0 0 1 1.571592653589793
[0317.650|0667.104] Info: blue player 1 reset to halfTimeStartingPose: translation -3.5 -3.06 0.24, rotation 0 0 1 1.57
[0318.154|0667.344] Info: New state received from GameController: STATE_FINISHED
[0318.156|0667.344] Info: Beginning of second half.
[0369.764|0818.728] Info: New state received from GameController: STATE_INITIAL
[0370.205|0819.920] Info: Sending STATE:READY to GameController
[0370.762|0821.616] Info: New state received from GameController: STATE_READY
[0389.797|0867.048] Info: New state received from GameController: STATE_SET
[0389.798|0867.048] Info: Sending PENALTY:1:1:INCAPABLE to GameController
[0389.807|0867.048] Info: INCAPABLE penalty for red player 1: did not move to kickoff position. Sent to translation 3 3.11 0.24, rotation 0.0 0.0 1.0 4.713185307179587
[0389.807|0867.048] Info: Sending PENALTY:2:1:INCAPABLE to GameController
[0389.812|0867.048] Info: INCAPABLE penalty for blue player 1: did not move to kickoff position. Sent to translation -3 3.11 0.24, rotation 0.0 0.0 1.0 4.711592653589793
[0392.653|0872.040] Info: Sending STATE:PLAY to GameController
[0393.304|0873.864] Info: New state received from GameController: STATE_PLAYING
[0524.022|1383.800] Error: GameController sent "600 seconds remaining"!
[0544.055|1474.864] Info: Sending STATE:FINISH to GameController
[0544.055|1474.864] Info: End of match
[0544.556|1477.160] Info: New state received from GameController: STATE_FINISHED
[0544.557|1477.160] Info: End of the game.
[0544.557|1477.160] Info: The score is 1-1.
[0544.557|1477.160] Info: This is a draw.

For this scenario, I think it is a little bit tricky to test all the different issues with one single scenario because putting the ball out of play launches a complex procedure which implies delays. Moreover, it would be useful to plan the scenario for #14 to be easily extended with #15 in the future.
Moreover, it actually contains many 'unclear' elements that needs rephrasing, an example with:

The robot Red 1 is manually moved into the field, the ball is manually touched by the Red 1, and then it entirely crosses the touchline, from 1 3.08 0.08.
This can be replaced (with X defined) by:

Red 1 is moved to X X X
Simulation is paused, a force of X Newton is applied to the ball along X-axis, simulation is resumed
The ball bounces on Red 1
Simulation is paused, ball is moved to 1 3.08 0.08
A force of X Newton is applied on the ball along Y-Axis
Ball leaves the field
Ball is automatically placed back to 1 3 0.08

It is better to separate the Ball out of play scenarios in multiple ones and not to place #13 in a scenario testing simple features because it requires to run a whole game and therefore takes some time.

I updated the PR applying what you mentioned.

Ball Being out of Play - touchline, basic case


HBASE-25475: Improve UT added as part of HBASE-25445 in TestSplitWALManager

This is to address post-merge feedback from #2844

@wchevreuil Thanks for the feedback on #2844. Please take a look.

@wchevreuil Thanks for the feedback on #2844. Please take a look.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 53s
master passed

+1 :green_heart:
checkstyle
1m  5s
master passed

+1 :green_heart:
spotbugs
1m 59s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 28s
the patch passed

-0 :warning:
checkstyle
1m  4s
hbase-server: The patch generated 1 new + 1 unchanged - 0 fixed = 2 total (was 1)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
18m 40s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.

+1 :green_heart:
spotbugs
2m 14s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 15s
The patch does not generate ASF License warnings.

40m 49s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2855/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2855

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

uname
Linux 7e3645b130b9 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 4b6215297d

checkstyle
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2855/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt

Max. process+thread count
94 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2855/1/console

versions
git=2.17.1 maven=3.6.3 spotbugs=3.1.12

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.


codespell: action, 2 typos fixed (1 manually spotted/fixed)

Thanks as always @yarikoptic! Looks good to me 🙂


After Android 12 update not working correctly on wave 2 and support Screen

Preparation

[X] I tested the latest release
[X] I looked at other issues (even the closed ones)
[X] I read the Troubleshooting Guide

FGO server
NA
FGA build number
1856
Describe the bug
Ever since updated Android  to Android 12, very small black bars started appearing on the sides of FGO and now fga seems to be misaligned on both support screen and wave detection even with custom game area values set, even setting stage similarities to 100 didn't seem to help
Video
Battle = https://drive.google.com/file/d/1jl-itNmqban-3JCzHQN7PSXNU5rjE3Wf/view?usp=share_link
Support = https://drive.google.com/file/d/1jsfPPRe2WSfoKRjokPkH480M8uU8zLHS/view
Device model
OnePlus 7T Pro
Android version
12
Screen size
1440 x 3120
RAM
8GB

I have this bug too

Are you reporting for yourself or for someone else?
What are you current offsets?

@rasiel33 Not an FGA bug, but an FGO one. Use the Custom Game Area thread. #1347

@rasiel33 Not an FGA bug, but an FGO one. Use the Custom Game Area thread. #1347

I use realme gt 2 pro and use realme gt neo 2 offset.
It cant select support auto

@rasiel33 Post a screenshot there, don't just use some values from another phone.

Are you reporting for yourself or for someone else?
What are you current offsets?

Reporting for someone else. Offsets are 66 left and right

@vybze The screenshot you uploaded to the custom game area thread and this bug report was not a fullscreen one. It has a resolution of 1920x886 pixels.
The real offsets should be 107 left and right.


How to install and update offline

For some reason, my server's direct access to github.com is limited. I can only access it normally through the agent. May I ask how can I install or update it offline

It's addressed here: https://github.com/komodorio/helm-dashboard#manual-installation
Since dashboard is just a binary, you can download it via browser and then run it. Let me know if you need more guidance.

Ok, thank you very much.


Add a safe version of parsing broma files so that the code doesn't have to exit

This is a problem with pybroma where the script will exit when it shouldn't when handling lets just say multiple at a time and I am planning to make a discord bot that can summarize the geode bindings and other important elements and with a rust port on the way getting this in here felt like a must for me as the std::exit(1) part of this code infuriates me greatly as it's just not proper error handling if that makes any sense to anybody. I feel like error handling should be customized rather than simply exiting. when something is wrong, This was my attempt at writing a solution I had another idea to use a something similar to a std::pair for handling the result if required incase this pull request gets rejected.

Nevermind I think I just made it better Gonna do a few more tweaks

Done.


add test to check index file output

Description
Add single test to check if the contests of the ckpt metadata(index) file are accurate.
Feature/Issue validation/testing

[x] Test LocalIndexMetadataTest

Checklist:

[x] Have you added tests that prove your fix is effective or that this feature works?
[x] Has code been commented, particularly in hard-to-understand areas?

@wz337 @kwen2501


fuubar: add to gemfile.lock

Motivation and Context

Adds changes to Gemfile.lock from additional gem added in #4597
Your Changes

Description:
Updated Gemfile.lock to include fuubar dependencies
Type of change (select all that apply):

[x] Other (please specify): updated Gemfile.lock

Testing

Questions and Comments (if applicable)

Checklist

[x] I have performed a self-review of my own code.
[x] I have added tests for my changes, if applicable.
[ ] I have updated the Changelog.md file.
[x] I have described any required documentation changes below, if applicable.
[x] I have fixed any Hound bot comments (check after opening pull request).
[x] I have verified that the TravisCI tests have passed (check after opening pull request).
[x] I have reviewed the test coverage changes reported on Coveralls (check after opening pull request).

Required documentation changes (if applicable)

Thanks @mishaschwartz!


How to run the traffic light perception module in apollo?

Hello delevopers, I followed your guide and ran the bridge successfully. However, the traffic light perception module seemed to not be working. Therefore, the ego vehicle stopped at any crossing with a traffic light, even when the light was green. Could you tell me how to enable traffic light perception? Thank you very much!

Hello sam, sorry about the delay in response. Almost all of our team members got hit by covid during the past two weeks. We expect to resume our work this week, and will get back to you soon.

Hi,
I also notice the same issue here. However, I notice that Town01's HDMap may not contain signal information (e.g. stop sign, traffic lights) in it. I think it's documented in this part of the documentation , and is also the case for previous carla-apollo integration attempt (https://github.com/AuroAi/carla_apollo_bridge). I'm very unfamiliar with Apollo, these two things maybe related somehow.


Add ability to render PDFs

Added the ability to render PDFs with the render API. There should be no additional requirements beyond what is already required.

:+1:

Is there anything holding this back from getting merged?

...hello?

LGTM, does anyone have concerns about merging this?
@obfuscurity @brutasse @bmhatfield @mleinart ?
Will merge it otherwise. :)

I haven't tested it but it LGTM. Ok to merge @deniszh. 👍

I made a quick test, seems working. Merging. 🍖
Thanks, @squarebracket, for your contribution, sorry for merge delay! 👍

No problem, I just wanted to make sure I wasn't missing anything!


Attach information to nodes converted from ceylon.ast.redhat

Now that our interface for attaching additional information to the AST is much more sophisticated (see #17), I wonder if we should attach the ANTLR tokens from the RedHat AST to the Ceylon AST nodes when converting it. The key type would be Token[].

Superseded by #87.


feat/ Add @mustBeConst lint

Add a lint for dart parameters that allows the analyzer to check if parameters are const.
Sample Use cases
When parameters are compile time constants, it provides the guarantee that the parameters cannot be user supplied. This involves the overall security of our applications, and reduces the need for security and privacy reviews when code can be formally verified to be safe. This lead to the following use cases:
Designing API for SQL methods that are guaranteed against SQL injection
/// Any call to this method cannot suffer from SQL injection, since param1 and /// param2 must be const. If the strings are interpolated strings, the
/// parameters in the interpolated strings should be const as well.
void makeDbCall(@mustBeConst String param1, @mustBeConst String param2) {
  db.query("FROM DBLICIOUS SELECT $PARAM1, $PARAM2");
}

Logging libraries can ensure that there is no PII in log messages from prod
/// Any call to this method guarantees that there is no PII since const
/// parameters cannot be user generated.
void logInfoNoPii(
  @mustBeConst String logMessage,
  @mustBeConst DartObject object,
  @mustBeConst Error error
) {
  logger.info(...);
}

Dart SDK Version (dart --version)
google's internal version

Internal link: b/190345386

Another use case: it looks like I could use this to add const constructors to built_collection classes, which is an oft-requested feature.
const BuiltList.compileTime(@mustBeConst List<E> list) : _list = list;

Without the annotation this is incorrect because list might be mutable, in which case it needs to be copied.

This would also be useful to denote functions that end up being sent across isolates. These have to be top-level or static, so effectively constant:
Future<T> compute(@mustBeConst FutureOr<T> Function() computation) {
  // computation will be sent over a port
}

Future<Isolate> spawn(@mustBeConst Function entrypoint) {
  // entrypoint will be passed to Isolate.spawn
}

Any updates here?

I'm happy to work on this if no one else is yet.

@jeffkwoh is investigating with this internally ( b/190345386 ).  If that goes well, we'll move it to the public linter.

Has there been any progress to this?
Additionally, I was wondering there have been any considerations made to also enable developers to mark a return of a functions as constant given the parameters passed to it being identical.
For instance consider the case of SQL where you might not define all of the queries beforehand but also build some more complex ones. In that case if a deep api function parameter is marked with @mustBeConst then you will also always have to manually build the result for all the possible queries.
Consider:
abstract class Db {
  dynamic execute(@mustBeConst String query, [Map<String, dynamic> parameters]);
}

class Helper {
  final Db _db;

  Helper(this._db);

  List<List<dynamic>> selectFields(
    @mustBeConst String table,
    @mustBeConst List<String> fields,
  ) {
    // this would indicate an error without List.join being able to indicate
    // that given a set of identical parameters the returned result is always
    // the same (not necessarily constant (in terms of const constructor))
    return _db.execute('SELECT ${fields.join(',')} FROM $table');
  }
}

To allow better composition it would then make sense to be able to indicate that the result of the function is always the same given identical parameters, which would probably indicated that it doesn't rely on non-constant global state or non constant internal state. Would @stableReturn be the right annotation or perhaps @pure?
This would also mean that the function would have to inherit the properties of the given input. So if we consider the following function example:
@stableReturn
String join(String str1, String str2) => '$str1$str2';

void safeLog(@mustBeConst String log) => print(log);

void main() {
  final log = join('[Info] ', 'Calling main');
  safeLog(log);
}

it should still work, since because both parameters passed to the join function were const and the function doesn't use any global state, the result should also be consider const not in a sense that it was created through the const constructor but that it was derived from const.
I know this is a different feature but I think they compliment each-other well.

I  have a use-case for our JavaScript templating feature
https://github.com/dart-lang/sdk/blob/92972ff5cf0ccdd83dfad8836959ac9ff80f626c/pkg/js_ast/lib/src/builder.dart#L199-L205)
I want to ensure that most uses pass a constant as the source parameter, like this example which passes a string literal:
https://github.com/dart-lang/sdk/blob/92972ff5cf0ccdd83dfad8836959ac9ff80f626c/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart#L111
The js_ast library supports interpolation of JavaScript trees (filling in # with other trees) and should not be used in a way where the arguments are generated by interpolating strings. I can prevent this by requiring that the first argument is a constant.
Enforcing that something is a constant is a mechanism used to enforce a policy. There are two variables that I see in use cases.

The motivation for the restriction (aka the reason).
What constitutes a constant

I suggest that these are made to be parameters of a general MustBeConst annotation class. The users of the annotation would create an annotation constant for their own use that has clear guidance related to the policy.
For js_ast I would suggest something like this:
const useTreeInterpolation = MustBeConst(reason: r'''
Arguments to `js()` should be constants.
Constructing strings should be avoided. Use tree interpolation instead.
If building a string is unavoidable, use uncachedExpressionTemplate to avoid memory leaks.
''',
restrictions: [MustBeConst.literals, MustBeConst.variables]
);

used so:
   Expression call(@useTreeInterpolation String source, [var arguments]) {

When the lint fires, the reason, if present, is included in the message to make it more actionable.
Regarding what constitutes a constant, I see several levels. For my specific case I would be happy with literals and references to declared const variables. I would hate this feature to be delayed further due to bike-shedding over the more complex versions, so lets make the design expandable and implement the simple stuff and add the other stuff later.
I see these tiers of constant complexity:

Primitive literals or const literals (e.g. const ["hello", "world"]) are required - this forces the value to be apparent at the call site, which may be desirable for a code review policy.

Any const expression is required - e.g. a reference to a const variable or const constructor is also allowed. These are obviously constant, but may be tedious since, say, "version $major.$minor" would have to be named.

Potentially constant expressions - expressions that will always have the same value.  A non-constant expression is permitted provided all the variables used in the expression are constant, and the way they are used is limited to a fixed set of operations. This is the same idea as potentially constant expressions for const class field initializers. Perhaps the analyzer has this as an algorithm that could be called by the lint?

Depends only on constants - non-constant expressions are allowed provided they are 'constructive' over constant values. The value can be e.g. a non-constant list of literals. The extra expressions are enumerated somewhere, but include list, set and map literals, non-const calls to const constructors, and perhaps indexing of const lists and maps.

Requiring something to be a constant can be done for different reasons.
Constants have three properties:

Known at compile-time (good for macros and source-manipulations.)
Immutable (can be safely stored without copying.)
Canonicalized (saves memory, rarely an API concern, but I believe Flutter widget-change detection relies on identity.)

The use-cases listed here depend on one of the first two. The BuiltList example wants immutability, but should be satisfied by getting a new List.unmodifieable(...) created at runtime. It seems like more of an @mustBeUnmodifiable.
If you need deep immutability, it could be @mustBeImmutable, which is currently something we track on objects, but we could. (We could add an immutable modifier to types, and have a bit on every object which is known to be deeply immutable, so we can promote to that type at runtime. It's possible, but possibly not worth the complexity.)
Being known at compile-time is really only possible for constants, so @mustBeConst would be the right name for that.
It's also something that isn't particularly useful outside of code-generation, because that's the only code which sees the "values" before runtime. It might be better solved by something related to the macros feature.

This was landed in https://github.com/dart-lang/sdk/commit/b3212540931b06f05f2b149b51284b9cc0298d4a.
In the next Dart release (or sooner if you use an unstable release), the analyzer should trigger for @mustBeConst.