Publish-BCContainerApp HTTP Error 503 when using -useDevEndpoint parameter

PLEASE DO NOT INCLUDE ANY PASSWORDS OR TOKENS IN YOUR ISSUE!!!
Describe the issue
I am trying to deploy Business Central containers to an Azure VM. The container deployment goes without any problems, but when I try to publish an app to the container, I receive a HTTP 503 error.
Scripts used to create container and cause the issue
$token = "*********************************************************************"
$licenseFile = "https://.../bc.flf
$credential = Get-Credential BCAdmin
$version = "18"
$languageCode = "nl"
$scripts = @('C:\_Temp\SupportFiles\Install-Certificate.ps1','C:\_Temp\SupportFiles\certificate.pfx')
$artifactUrl = Get-BCArtifactUrl -storageAccount "bcinsider" `
                                 -type "Sandbox"
                                 -select "Latest"
                                 -country $languageCode
                                 -version $version
                                 -sasToken $token

New-BCContainer -containerName DEV`
                -accept_eula `
                -memoryLimit 8G `
                -useTraefik `
                -PublicDnsName "$($alternateHostName).$($dnsDomain)" `
                -updateHosts `
                -credential $credential `
                -artifactUrl $artifactUrl `
                -isolation process `
                -includeAL `
                -includeTestLibrariesOnly `
                -includeTestToolkit `
                -licenseFile $licenseFile `
                -assignPremiumPlan `
                -auth NavUserPassword `
                -authenticationEmail $globalAdminEmail `
                -useSSL `
                -multitenant `
                -myScripts $scripts

$appFolder = "C:\_temp\solutionfiles\Trade365\Enterprise"

Publish-BCContainerApp -containerName DEV `
                       -appFile "$($appFolder)\Dependency\GAC Business Solutions_License_18.1.24830.0.app" `
                       -skipVerification `
                       --install `
                       --sync `
                       --credential $credential `
                       --useDevEndpoint

Full output of scripts
// New-BCContainer output

BcContainerHelper is version 2.0.14
BcContainerHelper is running as administrator
Host is Microsoft Windows Server 2019 Datacenter - ltsc2019
Docker Client Version is 19.03.14
Docker Server Version is 19.03.14
Removing C:\ProgramData\BcContainerHelper\Extensions\DEV
Downloading application artifact /sandbox/18.4.27785.0/nl
Downloading C:\Users\Adm_JeroenHems\AppData\Local\Temp\6\dece34b4-cd51-44aa-b0e8-f38b8e5c6cf6.zip
Unpacking application artifact to tmp folder
using Expand-Archive
Downloading platform artifact /sandbox/18.4.27785.0/platform
Downloading C:\Users\Adm_JeroenHems\AppData\Local\Temp\6\adb1b9e2-0540-43c1-8ccc-21fe24d348df.zip
Unpacking platform artifact to tmp folder
using Expand-Archive
Downloading Prerequisite Components
Downloading c:\bcartifacts.cache\sandbox\18.4.27785.0\platform\Prerequisite Components\Open XML SDK 2.5 for Microsoft Office\OpenXMLSDKv25.msi
Downloading c:\bcartifacts.cache\sandbox\18.4.27785.0\platform\Prerequisite Components\IIS URL Rewrite Module\rewrite_2.0_rtw_x64.msi
Downloading c:\bcartifacts.cache\sandbox\18.4.27785.0\platform\Prerequisite Components\DotNetCore\DotNetCore.1.0.4_1.1.1-WindowsHosting.exe
Fetching all docker images
Fetching all docker volumes
Enabling SSL as otherwise all clients will see mixed HTTP / HTTPS request, which will cause problems e.g. on the mobile and modern windows clients
Using image mcr.microsoft.com/businesscentral:10.0.17763.1999
PublicDnsName is trd365-bc18.gaccloud.com
Creating Container DEV
Version: 18.4.27785.0-NL
Style: sandbox
Multitenant: Yes
Platform: 18.0.27769.0
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.17763.1999 (ltsc2019)
Host OS Version: 10.0.17763.2029 (ltsc2019)
WARNING: Host OS and Base Image Container OS doesn't match and process isolation is specified. If you encounter issues, you could try to specify -isolation hyperv
Using process isolation
Using locale nl-NL
Adding special CheckHealth.ps1 to enable Traefik support
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file https://gaccourselabstorage.blob.core.windows.net/scriptextensions/bc.flf
Downloading C:\ProgramData\BcContainerHelper\Extensions\DEV\my\license.flf
Additional Parameters:
-e webserverinstance=DEV
-e publicdnsname=trd365-bc18.gaccloud.com
-l "traefik.protocol=https"
-l "traefik.web.frontend.rule=PathPrefix:/DEV"
-l "traefik.web.port=443"
-l "traefik.soap.frontend.rule=PathPrefix:/DEVsoap;ReplacePathRegex: ^/DEVsoap(.*) /BC$1"
-l "traefik.soap.port=7047"
-l "traefik.rest.frontend.rule=PathPrefix:/DEVrest;ReplacePathRegex: ^/DEVrest(.*) /BC$1"
-l "traefik.rest.port=7048"
-l "traefik.dev.frontend.rule=PathPrefix:/DEVdev;ReplacePathRegex: ^/DEVdev(.*) /BC$1"
-l "traefik.dev.port=7049"
-l "traefik.snap.frontend.rule=PathPrefix:/DEVsnap;ReplacePathRegex: ^/DEVsnap(.*) /BC$1"
-l "traefik.snap.port=7083"
-l "traefik.dl.frontend.rule=PathPrefixStrip:/DEVdl"
-l "traefik.dl.port=8080"
-l "traefik.dl.protocol=http"
-l "traefik.enable=true"
-l "traefik.frontend.entryPoints=https"
--env customNavSettings=PublicODataBaseUrl=https://trd365-bc18.gaccloud.com/DEVrest/odata,PublicSOAPBaseUrl=https://trd365-bc18.gaccloud.com/DEVsoap/ws,PublicWebBaseUrl=https://trd365-bc18.gaccloud.com/DEV
Files in C:\ProgramData\BcContainerHelper\Extensions\DEV\my:
- AdditionalOutput.ps1
- certificate.pfx
- CheckHealth.ps1
- Install-Certificate.ps1
- license.flf
- MainLoop.ps1
- SetupNavUsers.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container DEV from image mcr.microsoft.com/businesscentral:10.0.17763.1999
2f6cf6d78feb0e4f01339dd1852cf11acb24408ded4b0d2407159c03bcf5c4dc
Waiting for container DEV to be ready
Using artifactUrl https://bcinsider.azureedge.net/sandbox/18.4.27785.0/nl
Using installer from C:\Run\150-new
Installing Business Central
Installing from artifacts
Starting Local SQL Server

Starting Internet Information Server
Copying Service Tier Files
c:\dl\sandbox\18.4.27785.0\platform\ServiceTier\Program Files

c:\dl\sandbox\18.4.27785.0\platform\ServiceTier\System64Folder
Copying PowerShell Scripts
c:\dl\sandbox\18.4.27785.0\platform\WindowsPowerShellScripts\Cloud\NAVAdministration
c:\dl\sandbox\18.4.27785.0\platform\WindowsPowerShellScripts\WebSearch
Copying dependencies
Copying ReportBuilder
Importing PowerShell Modules
Determining Database Collation from c:\dl\sandbox\18.4.27785.0\nl\BusinessCentral-NL.bak

Restoring CRONUS Demo Database

Setting CompatibilityLevel for tenant on localhost\SQLEXPRESS

Exporting Application to CRONUS

Removing Application from tenant

Modifying Business Central Service Tier Config File for Docker
Creating Business Central Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Copying Web Client Files
c:\dl\sandbox\18.4.27785.0\platform\WebClient\Microsoft Dynamics NAV
Copying Client Files
c:\dl\sandbox\18.4.27785.0\platform\LegacyDlls\program files\Microsoft Dynamics NAV
c:\dl\sandbox\18.4.27785.0\platform\LegacyDlls\program files\Microsoft Dynamics NAV
c:\dl\sandbox\18.4.27785.0\platform\LegacyDlls\systemFolder
Copying ModernDev Files
c:\dl\sandbox\18.4.27785.0\platform
c:\dl\sandbox\18.4.27785.0\platform\ModernDev\program files\Microsoft Dynamics NAV
Copying additional files
Copying ConfigurationPackages
C:\dl\sandbox\18.4.27785.0\nl\ConfigurationPackages
Copying Test Assemblies
C:\dl\sandbox\18.4.27785.0\platform\Test Assemblies
Copying Extensions
C:\dl\sandbox\18.4.27785.0\nl\Extensions
Copying Applications
C:\dl\sandbox\18.4.27785.0\platform\Applications
Copying Applications.NL
C:\dl\sandbox\18.4.27785.0\nl\Applications.NL
Starting Business Central Service Tier

Importing license file

Copying Database on localhost\SQLEXPRESS from tenant to default
Taking database tenant offline
Copying database files

Attaching files as new Database default

Putting database tenant back online
Mounting tenant database
Mounting Database for default on server localhost\SQLEXPRESS with AllowAppDatabaseWrite = False

Sync'ing Tenant

Tenant is Operational
Stopping Business Central Service Tier
Installation took 168 seconds
Installation complete
Initializing...
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is DEV
PublicDnsName is trd365-bc18.gaccloud.com

Using NavUserPassword Authentication
Creating Self Signed Certificate

Self Signed Certificate Thumbprint B4B769848DCEE35201E5A8C9F4C00835956FA7D4
Modifying Service Tier Config File with Instance Specific Settings
Modifying Service Tier Config File with settings from environment variable
Setting PublicODataBaseUrl to https://trd365-bc18.gaccloud.com/DEVrest/odata
Setting PublicSOAPBaseUrl to https://trd365-bc18.gaccloud.com/DEVsoap/ws
Setting PublicWebBaseUrl to https://trd365-bc18.gaccloud.com/DEV
Starting Service Tier

Registering event sources
Creating DotNetCore Web Server Instance

Enabling Financials User Experience
Using license file 'c:\run\my\license.flf'
Import License

Dismounting Tenant

Mounting Tenant
Mounting Database for default on server localhost\SQLEXPRESS with AllowAppDatabaseWrite = False

Sync'ing Tenant

Tenant is Operational
Creating http download site
Setting SA Password and enabling SA
Creating bcadmin as SQL User and add to sysadmin
Creating SUPER user

Assign Premium plan for BCADMIN
Container IP Address: <IP_ADDRESS>
Container Hostname  : DEV
Container Dns Name  : trd365-bc18.gaccloud.com
Web Client          : https://trd365-bc18.gaccloud.com/DEV/?tenant=default
Dev. Server         : https://trd365-bc18.gaccloud.com
Dev. ServerInstance : BC
Dev. Server Tenant  : default
Setting DEV to <IP_ADDRESS> in host hosts file
Setting DEV-default to <IP_ADDRESS> in host hosts file
Setting DEV-default to <IP_ADDRESS> in container hosts file

Files:
http://trd365-bc18.gaccloud.com:8080/ALLanguage.vsix
http://trd365-bc18.gaccloud.com:8080/certificate.cer

Container Total Physical Memory is 32.0Gb
Container Free Physical Memory is 25.9Gb

Initialization took 63 seconds
Ready for connections!

Reading CustomSettings.config from DEV
PS C:\_scripts> TerminatingError(Invoke-Command): "The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Because the session state for session WinRM2, bb388166-d3d3-4778-b4b4-a77d1553d46f, f5555f7ace72f14c34b9d222adc4505712bbc66db8781d51249e18521b8e620e is not equal to Open, you cannot run a command  in the session.  The session state is Broken."
Creating Desktop Shortcuts for DEV
INFO: Synchronizing Test Runner on default
App successfully synchronized
INFO: Installing Test Runner on default
App successfully installed
INFO: Synchronizing Any on default
App successfully synchronized
INFO: Installing Any on default
App successfully installed
INFO: Synchronizing Library Assert on default
App successfully synchronized
INFO: Installing Library Assert on default
App successfully installed
INFO: Synchronizing Permissions Mock on default
App successfully synchronized
INFO: Installing Permissions Mock on default
App successfully installed
INFO: Synchronizing Library Variable Storage on default
App successfully synchronized
INFO: Installing Library Variable Storage on default
App successfully installed
INFO: Publishing C:\ProgramData\BcContainerHelper\Extensions\DEV\6be65204-b9c3-4686-a51b-2f70d2debdee\Microsoft_System Application Test Library_18.4.27785.0.app
INFO: Synchronizing System Application Test Library on tenant default
INFO: Installing System Application Test Library on tenant default
App Microsoft_System Application Test Library_18.4.27785.0.app successfully published
INFO: Publishing C:\ProgramData\BcContainerHelper\Extensions\DEV\0156d70c-c7f5-4d76-bbe0-5e43942cb0cd\Microsoft_Tests-TestLibraries_18.4.27785.0.app
INFO: Synchronizing Tests-TestLibraries on tenant default
INFO: Installing Tests-TestLibraries on tenant default
App Microsoft_Tests-TestLibraries_18.4.27785.0.app successfully published
TestToolkit successfully imported
INFO: Extracting C:\Applications.NL\Base Application.Source.zip
Creating .net Assembly Reference Folder for VS Code
INFO: Copying DLLs from C:\Windows\assembly to assemblyProbingPath
INFO: Copying DLLs from C:\Windows\Microsoft.NET\assembly to assemblyProbingPath
INFO: Copying DLLs from C:\Program Files\Microsoft Dynamics NAV\180\Service to assemblyProbingPath
INFO: Copying DLLs from C:\Program Files (x86)\Microsoft Dynamics NAV\180\RoleTailored Client to assemblyProbingPath
INFO: Copying DLLs from C:\Test Assemblies\Mock Assemblies to assemblyProbingPath
INFO: Copying DLLs from C:\Program Files (x86)\Open XML SDK to assemblyProbingPath
Container DEV successfully created
Because of Traefik, the following URLs need to be used when accessing the container from outside your Docker host:
Web Client:        https://trd365-bc18.gaccloud.com/DEV?tenant=default&page=
SOAP WebServices:  https://trd365-bc18.gaccloud.com/DEVsoap
OData WebServices: https://trd365-bc18.gaccloud.com/DEVrest
Dev Service:       https://trd365-bc18.gaccloud.com/DEVdev
Snapshot Service:  https://trd365-bc18.gaccloud.com/DEVsnap
File downloads:    https://trd365-bc18.gaccloud.com/DEVdl

Use:
Get-BcContainerEventLog -containerName DEV
 to retrieve a snapshot of the event log from the container
Get-BcContainerDebugInfo -containerName DEV
 to get debug information about the container
Enter-BcContainer -containerName DEV
 to open a PowerShell prompt inside the container
Remove-BcContainer -containerName DEV
 to remove the container again
docker logs DEV
 to retrieve information about URL's again

// Publish-BCContainerApp Output

Disabling SSL Verification
Publishing GAC Business Solutions_License_18.1.24830.0.app to https://<IP_ADDRESS>:7049/BC/dev/apps?SchemaUpdateMode=synchronize&tenant=default
PS C:\_scripts> TerminatingError(ConvertFrom-Json): "Invalid JSON primitive: ."
>> TerminatingError(): "Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

"
PS C:\_scripts> TerminatingError(): "Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

"
>> TerminatingError(): "Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

"
Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\2.0.14\AppHandling\Publish-NavContainerApp.ps1:245
char:25
+                         throw $message
+                         ~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Status Code Ser.../BODY>
:String) [], RuntimeException
    + FullyQualifiedErrorId : Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

...

Screenshots
N/A
Additional context

I have 3 machines with 3 containers each, it happens on all of them.
Omitting the parameter -useDevEndpoint bypasses the problem, but our developers want to connect to this endpoint from VSCode, so it must be available in the end.
It still works in Docker Desktop, according to colleagues.
On older Windows Server 2019 Core machines we run on prem, it still works.

Could you try to do the same without using traefik?

Same result it seems:
.\TRADE365-18-2.ps1
Disabling SSL Verification
Publishing GAC Business Solutions_License_18.1.24830.0.app to https://<IP_ADDRESS>:7049/BC/dev/apps?SchemaUpdateMode=synchronize&tenant=default
Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\2.0.14\AppHandling\Publish-NavContainerApp.ps1:245
char:25
+                         throw $message
+                         ~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Status Code Ser.../BODY>
:String) [], RuntimeException
    + FullyQualifiedErrorId : Status Code ServiceUnavailable : Service Unavailable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Service Unavailable

HTTP Error 503. The service is unavailable.

Strange
I would probably have to have access to an environment in a troubleshooting call in order to figure out what this is.
I will be on vacation for the reminder of July, but will be back beginning of August if you haven't found a solution.
Note that I published new generic images that matches the OS you are running yesterday, you could try again, but I don't think that will change anything.

I don't think it will, because the most recent image is from 2 days ago. But I'm rolling it out again, just to be sure. Enjoy your vacation!

I have just deployed another VM for one of our trainers. Size B2ms, OS Image Windows Server 2019 Server Core with Containers. Instead of pulling the artifacts from bcinsider, I pulled them from bcartifiacts. And now I am able to publish apps using the dev endpoint.

Using version 2.0.13 of BCContainerHelper the -useDevEndpoint parameter works. So for now I'll use the following commands to install and import BCContainerHelper:
Install-Module BCContainerHelper -RequiredVersion 2.0.13
Import-Module BCContainerHelper -RequiredVersion 2.0.13

There are no changes to 2.0.14 in this area (issue #1967 was the only fix in 2.0.14) and also not in 2.0.15 preview.
Have you checked whether this is related to traefik?

I was mistaken. I have tried so many things. In the end I tried the version we use on our on-prem machines, 2.04, to get everything up and running.
Weren't you on holliday? :)
Op 17 jul. 2021 07:02 schreef Freddy Kristiansen @.***>:
There are no changes to 2.0.14 in this area (issue #1967https://github.com/microsoft/navcontainerhelper/issues/1967 was the only fix in 2.0.14) and also not in 2.0.15 preview.
Have you checked whether this is related to traefik?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/navcontainerhelper/issues/2001#issuecomment-881829340, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AH5NMARDC77N4KPZVYE4TWLTYEFGLANCNFSM5ACN2NNQ.
Met vriendelijke groet,
Jeroen Hems
Senior Systeem- / Cloudbeheerder
T+31 499 582 828
M
+31 6 546 91 634I
www.gac.nl
Growing Together
Voor meer informatie kunt u terecht op onze website
~~ nl signature present ~~

2.0.4 was shipped on February 1st - no changes went into useDevEnvPoint after that.
Did you check whether this was related to traefik?

Yes, first thing I did. Didn't make a difference though.
Op 18 jul. 2021 07:11 schreef Freddy Kristiansen @.***>:
2.0.4 was shipped on February 1st - no changes went into useDevEnvPoint after that.
Did you check whether this was related to traefik?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/navcontainerhelper/issues/2001#issuecomment-881999680, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AH5NMAT5ZLVSJFLW5Y7LY2TTYJO6ZANCNFSM5ACN2NNQ.
Met vriendelijke groet,
Jeroen Hems
Senior Systeem- / Cloudbeheerder
T+31 499 582 828
M
+31 6 546 91 634I
www.gac.nl
Growing Together
Voor meer informatie kunt u terecht op onze website
~~ nl signature present ~~

We've been doing a lot of troubleshooting, and we have come to the point where we're suspicious of Traefik as well. There is a new image that's being used for Traefik (on top of the stefanscherer image). In combination with BCContainerHelper 2.0.4 it doesn't have an issue, with later versions (we've tested with versions 2.0.9 through 2.0.14) it shows the 503 behavior when trying to publish apps using -useDevEndpoint.

Hello,
I'm facing the same issue apparently but simply when publishing from Visual Studio Code.
After a few investigation time, it appears issue isn't with traefik (or not only), but more with current Business Central image.
We still have working container on the server, which are using the build 10.0.17763.1999
However, all those which have been renew, are using build 10.0.17763.2061 - and we got error 503

Did you manage to get this working or are you still facing an issue?

Sorry, but no. I was on leave for the past few weeks. The saga continues tomorrow.

Apparently my colleague (Jean-Pierre) managed to import the apps using BCContainerHelper 2.0.14 on image version 10.0.17763.2029 and Traefik image version v1.7-windows server core 1809, with devEndpoint. He has succeeded in importing the app in 3 containers on 3 different VMs, so the problem appears to be solved, but no idea how it was fixed.


Refactor signing/assemble code in openjdk_build_pipeline.groovy to support Windows/docker builds

There's a lot in here, so apologies in advance to the reviewers who will need a bit of time to review this properly ;-) Noting that there are some SXAEC: references in here which are things that still need to be cleaned up but the overall architecture and flow is now functional as per the builds in https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld which are now getting through all the steps and running tests.
Some things done in this PR:

A new batOrSh function that runs commands under the windows batch scripts if we're on windows instead of always using bash as this was causing some instability (issue 3714 listed below)
Split out some parts of buildScripts into separate functions: buildScriptsAssemble and buildScriptsEclipseSigner
Each of those two are now listed as a separate "stage" in the pipelines, so we can see how long each part takes. The original sign phase has been renamed as sign tgz/zip to avoid ambiguity. I'm tempted to change assemble to assemble & SBoM (Noting that it also includes the du -k of the output from make-adopt-build-farm.sh which is slow - at least 10 minutes - on my current test machine)
There are a few openjdk_build_pipeline: eyecatchers added so we can more easily find the separate sections while looking at the build logs (curl -s the consoleText link and grep it for _pipeline: - similar to the build.sh: lines from the temurin-build repo)
The setting up of envVars has been extracted into the top level build() and passed into the buildScripts() and buildScriptsAssemble() functions that use it
There is an 'ls -l' of various directories which forces shortname creation. It's a bit of a hack but the shortnames in containers is a bit hit or miss and this makes it reliable ... Without it it won't find various bits of the compiler tools
I've left openjdk_build_dir_arg (obsoleted in https://github.com/adoptium/ci-jenkins-pipelines/pull/1084) commented out but I'm still tempted to just remove it now ...
Initial stash of files for the internal signing phase now restricts the number of files copied across as **/* was unnecessary.

There are still some issues with the workspace cleaning options which may need to be addressed, although that can be done in subsequent PRs. e.g. rm -rf c:/workspace/openjdk-build/cyclonedx-lib c:/workspace/openjdk-build/security and rm -rf ' + context.WORKSPACE + '/workspace/target/*. Some additional work will be needed before the clean options will work. Ref: https://github.com/adoptium/infrastructure/issues/3723
Fixes https://github.com/adoptium/infrastructure/issues/3709
Supercedes https://github.com/adoptium/ci-jenkins-pipelines/pull/1103 (as this includes those changes)
Fixes https://github.com/adoptium/infrastructure/issues/3714
Note: There is some potential follow-on work that could be done to tidy up this groovy script overall in https://github.com/adoptium/ci-jenkins-pipelines/issues/1116
Existing windows pipeline

New pipeline:

run tests

run tests

run tests

run tests

run tests

Ref: https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/782/
Current build with CLEAN_WORKSPACE_BUILD_OUTPUT_ONLY_AFTER is giving:
00:28:32  ===RELEASE FILE GENERATED===
00:28:32  mv: cannot stat '/cygdrive/c/workspace/openjdk-build/workspace/target//configure.txt': No such file or directory

https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/760/ without that optoin ran through ok

run tests

Possibly for later PR - reduction in the number of files copied over to the signing job to about 155 in jdk21u from over 500. I had this in initially and it has been tested as completing ok with the sign_verification job on windows.
// SXAEC - Windows specific
//                                        includes: "${base_path}/hotspot/variant-server/**/*," +
//                                            "${base_path}/support/modules_cmds/**/*," +
//                                            "${base_path}/support/modules_libs/**/*," +
//                                            // JDK 16 + jpackage needs to be signed as well stash the resources folder containing the
//                                            "${base_path}/jdk/modules/jdk.jpackage/jdk/jpackage/internal/resources/*"

                                        includes: "${base_path}/hotspot/variant-server/**/*.exe," +
                                            "${base_path}/support/modules_cmds/**/*.exe," +
                                            "${base_path}/support/modules_libs/**/*.exe," +
                                            "${base_path}/hotspot/variant-server/**/*.dll," +
                                            "${base_path}/support/modules_cmds/**/*.dll," +
                                            "${base_path}/support/modules_libs/**/*.dll," +
                                            "${base_path}/hotspot/variant-server/**/*.dylib," +
                                            "${base_path}/support/modules_cmds/**/*.dylib," +
                                            "${base_path}/support/modules_libs/**/*.dylib," +
                                            "${base_path}/jdk/modules/jdk.jpackage/jdk/jpackage/internal/resources/*"

This version looks ok on windows docker and non-docker cases for versions 11 through 21 ;-)

run tests

Version
Docker
Nondocker

8
997

11

#991

21
#992
#990

 PR TESTER RESULT 
❎ Some pipelines failed or the job was aborted! ❎ See the pipeline-build-check below for more information...

Only failure was jdk11u/linux/x64 which failed pulling the build docker image down onto a dynamically provisioned Azure machine:
14:23:02  Running on [build-linux-x64-2d8590](https://ci.adoptium.net/computer/build%2Dlinux%2Dx64%2D2d8590/) in /home/adoptopenjdk/workspace/build-scripts-pr-tester/build-test/jobs/jdk11u/jdk11u-linux-x64-temurin
[14:23:03  + docker pull adoptopenjdk/centos6_build_image
14:26:39  failed to register layer: write /usr/local/gcc/libexec/gcc/x86_64-pc-linux-gnu/7.5.0/cc1plus: no space left on device

Since jdk11u/Linux/aarch64 and Linux/x64 on other versions worked ok this should not be considered a blocker.

Note to self on workflow in build()
- context.stage('queue')
  - if (buildConfig.DOCKER_IMAGE) {
    - context.node(label)
      - if (buildConfig.DOCKER_FILE) {
        - context.docker.build(buildScripts(...))
      - else context.ws(worksapce)(context.docker.image(...) { buildScripts(...) (context.ws is windows only)
      - if (signer)
        - buildScriptsEclipseSigner()
        - call context.docker.image(DOCKER_IMAGE).assemble()
  - else // not docker
    -  if windows
      - set workspace, context.ws(workspace) { buildScripts(); buildScritpsEclipseSigner(); buildScriptsAssemble() }
    - else
      - buildScripts(); if (enableSigner) buildScriptsEclipseSigner(); buildScriptsAssemble();
if ( enableSigner ) sign(versionInfo)
if (enableInstallers) { buildInstaller(); if (enableSigner) signInstaller() }
if (enableTests) {...}

FYI @andrew-m-leonard I'm not able to verify reproducibility between the 21.0.4+7-ga and a build in docker (Note: The docker builds are using build tools instead of the full MSVC we used for the GA) It gave me 129 differences, 99.61% reproducibility. I haven't dug into what might be different in the files yet but I'll do another comparison using job 1006 from the table below once it completes as that will have been on one of the existing machines.

Build
ZIP
SBOM

21.0.4+7-GA
zip
SBOM

windbld#999 (dockerBuild)
zip
SBOM

windbld#1006 (not docker)
zip
SBOM

The cygwin version is different (3.4.6 vs 3.5.4). The compiler version is identical (19.37.32822) There was no --user-openjdk-build-root-directory C:/workspace/openjdk-build/workspace/build/openjdkbuild parameter in mine which there was on the real GA build. BUILD_FULL_NAME in the SBOM is cygwin_nt-10.0-20348-x86_64--server-release for the dockerbuild, but was C:/workspace/openjdk-build/workspace/build/openjdkbuild in the GA

Some timings for my own reference before this summary table disappears:

@sxa Ah of course, the July release still had the --user-openjdk-build-root-directory C:/workspace/openjdk-build/workspace/build/openjdkbuild
This will cause a difference, as the upstream fix for that was only in jdk-21.0.5.
Can you try building with the exact same path?

There are still some issues relating to the clean workspace options in the windows/docker case but otherwise this PR is doing what it needs to and we should be able to get it in after the release (for safety reasons)

@sxa Ah of course, the July release still had the --user-openjdk-build-root-directory C:/workspace/openjdk-build/workspace/build/openjdkbuild This will cause a difference, as the upstream fix for that was only in jdk-21.0.5. Can you try building with the exact same path?

Testing at https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/1048/ (outside docker) and https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/1049/ (in a container).
In reference to our call earlier, it's worth noting that:

https://ci.adoptium.net/job/Grinder/11190 with jdk21/nightly passed the reproducible test. The nightly build is currently 21.0.5+9

14:39:09  =JAVA VERSION OUTPUT BEGIN=
14:39:09  openjdk version "21.0.5-beta" 2024-10-15
14:39:09  OpenJDK Runtime Environment Temurin-21.0.5+9-202410031113 (build 21.0.5-beta+9-ea)
14:39:09  OpenJDK 64-Bit Server VM Temurin-21.0.5+9-202410031113 (build 21.0.5-beta+9-ea, mixed mode, sharing)
14:39:09  =JAVA VERSION OUTPUT END=

A regrind of another run of dev.system (G#11189) with jdk23 on a specific upstream build (version below) fails due to a mismatch in UCRT DLL on test-azure-2 (A change introduced in https://github.com/adoptium/temurin-build/pull/3981). I have initiated G#11194 on a build machine to compare

14:29:46  =JAVA VERSION OUTPUT BEGIN=
14:29:47  openjdk version "23.0.1-beta" 2024-10-15
14:29:47  OpenJDK Runtime Environment Temurin-23+37-202410121214 (build 23.0.1-beta+37-202410121214)
14:29:47  OpenJDK 64-Bit Server VM Temurin-23+37-202410121214 (build 23.0.1-beta+37-202410121214, mixed mode, sharing)
14:29:47  =JAVA VERSION OUTPUT END=

I am also running https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/1052/ which is a build of jdk21 head which is NOT marked as a release but includes the REPRODUCIBLE_COMPARE parameter so hopefully that will trigger the "old" comparison job.

@sxa Thanks for the mention. I haven't had a chance to dig through this and understand it all yet. I did coincidentally run into this issue again today and wondered if this would/could be addressed by this PR? If not, no worries. It doesn't seem to be a problem that often.

@sxa Thanks for the mention. I haven't had a chance to dig through this and understand it all yet.

Yeah it's quite big so not trivial to review but there wasn't an easy way to break it down given all the interdependent parts and things that needed resolving. Would you be able to try out some builds in your CI with this branch (I'm testing with a copy of the build pipeline jobs) that would be good to know if it works for you.

I did coincidentally run into this issue again today and wondered if this would/could be addressed by this PR? If not, no worries.

I don't /think/ so but it may be somethign to consider when we get to working on a bit of a clean up as part of https://github.com/adoptium/ci-jenkins-pipelines/issues/1116

It doesn't seem to be a problem that often.

I guess we could theoretically hit it on the Windows/mac platforms. We have plenty of executors on our worker node so not too likely to hit it in a way that causes a problem.

Taking this out of draft since I've had a few runs where I've been able to verify that it is building something which is binary comparable to the 21.0.5+11 GA.

force push to resolve perceived conflict

run tests

run tests

I've reviewed this to the best of my knowledge and ability, given the scope of change, and the extensive testing, I'm happy to approve.

Thanks - at this point I'll take that ;-) We'll find out if there are any side effects from the EA runs that'll happen overnight.

❎ Some pipelines failed or the job was aborted! ❎
See the pipeline-build-check below for more information...

Failure was in the Alpine build where it had a connectivity problem on dockerhost-azure-ubuntu2204-x64-1:
12:43:05  Compiling 4 properties into resource bundles for jdk.httpserver
12:43:05  Compiling 11 properties into resource bundles for jdk.jartool
12:43:05  Compiling up to 71 files for COMPILE_CREATE_SYMBOLS
12:43:05  Connection attempt failed: Connection refused
12:43:05  Compiling 11 properties into resource bundles for jdk.management.agent
12:43:05  Connection attempt failed: Connection refused
12:43:05  Compiling 4 properties into resource bundles for jdk.jdi
12:43:05  Connection attempt failed: Connection refused
[...]
12:43:17  Compiling up to 3493 files for java.base
12:43:18  Connection attempt failed: Connection refused
12:43:18  Giving up
12:43:18  IOException caught during compilation: Could not connect to server after 10 attempts with timeout 4000

Unclear on the cause but a subsequent run on the same machine suffered a similar fate. Running a subsequent one (build 74) on another machine did not show a problem, and running two builds with the existing pipelines (not via the PR tester) also passed: xlinux jdk21 and Alpine jdk21. It is assumed that this is a machine specific issue and that this PR is not the cause.


Port: IPC and mech fixes

About the PR

https://github.com/Goob-Station/Goob-Station/pull/1235
Why / Balance

Technical details

Media

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.


Support for scipy.special functions?

For example does numba recognize the ufunc scipy.special.betaln called inside a jit function?

We do not have any support for scipy functions at this time.

As an option you could perhaps construct one from gamma, abs and log?

Actually I found lgamma function support thank you so much!


Handle late arriving events

I'm noticing that even if everything looks to function as expected on the tap side I'm still getting very slight diffs between the source and the warehouse. It looks like we're querying near realtime logs at the end of a sync and then bookmarking the latest timestamp we receive and I suspect some logs with earlier timestamp are arriving after the query is run. Then subsequent queries assume all prior logs have been synced so those late arriving logs are outside the next filter range and never get replicated. I've only seen this affect records within a few mins (<5 mins).
For my sync I see the following in my logs:

2023-02-28, 06:02:00 UTC - Submit Query (with filter range 2023-02-28T06:00:38 UTC - 2023-02-28T07:00:37 UTC)
2023-02-28, 06:06:20 - Get Results (679 Received)
State emitted {"bookmarks": {"log": {"replication_key": "timestamp", "replication_key_value": "2023-02-28 06:01:09.040"}}}
Next Run - 2023-03-01, 06:00:47 UTC "Submitting query for batch from: 2023-02-28T06:01:09 UTC - 2023-02-28T07:01:09 UTC"

This indicates to me that the replication key is being properly tracked and passed to the next run.
When I diff at the minute level right around the replication key (2023-02-28T06:01:09 UTC) range I see:

2023-02-27 5:59:00 - 33 missing (58% of that minute)
2023-02-27 6:00:00 - 1933 missing (47% of that minute)

Potential solutions:

Dont sync up to real time. We set the end_time of the query to end_time = datetime.now(timezone.utc).timestamp() right now then overshoot it because we use a batch windowing mechanism to avoid the 10k limit. This ends up submitting a query like shown above where the end timestamp was probably somewhere around 2023-02-28T06:03: UTC but the window ends in 2023-02-28T07:00:37 UTC. This aims to get real time logs and overshoots the end time to do so. We might not be able to rely on the logs being "complete" in real time.
Add a look back grace period ~5 mins default. On the next sync we start the query window at replication key value minus 5 mins.

I prefer solution 1 but it has 2 potential implementations: either dont overshoot the end timestamp which could solve the problem but I'd guess probably not and the other is to make the tap not query up to real time data by limiting the end time to now minus 5 mins (or 10 mins). Personally I'd be fine with giving cloudwatch a buffer of a few mins to allow late arriving logs to show up, so if you were trying to use this tap to sync in real time it would be on a 5 mins delay. We could make this a configurable parameter.

@aaronsteers do you have any thoughts on this? Do the issue make sense to you? I wasnt able to find anything in the cloudwatch docs that was helpful with this.

@pnadolny13 - Yeah, this makes sense. Thanks for raising.
Your writeup is very well done here and very clear.
In general scenarios, we don't want to prematurely limit records to be exclusive of the last time interval (like the last 5 minutes) because when records get updated frequently, they can just always move into the latest bucket and therefor never be synced (or more realistically, they would be conspicuously absent for >1 sync operation where they otherwise should have been included).
In the above scenario though, updates are not a thing we need to worry about, since each line is immutable and will not be modified or be "moved" into another time window.
For this reason, I lean towards your suggestion using an arbitrary constraint to exclude records from being emitted if they are within the defined cool-off period of 1-5 minutes.
Duplicate records are tolerated by the spec, of course, but they are expensive to manage in practical use cases. For this reason, I'd vote to not just keep a conservative bookmark (in which case the records would still come through), but actually to filter the records and keep the conservative bookmark limit.

Another implementation choice, If I understand this comment, would be to change the Stream behavior to use is_sorted=False. Essentially, that would turn on a host of other features that solve the fundamental problem of "the records I'm seeing in this order aren't all the records up to this time."
This makes streams non-resumable on interrupt, unless you do extra work to manage state finalization, and it uses the internal signpost feature to basically say that the bookmark is not allowed to advance past the moment in time that the sync operation began.

@aaronsteers thanks for your thoughts, that was super helpful!

For this reason, I lean towards your suggestion using an arbitrary constraint to exclude records from being emitted if they are within the defined cool-off period of 1-5 minutes.
Duplicate records are tolerated by the spec, of course, but they are expensive to manage in practical use cases. For this reason, I'd vote to not just keep a conservative bookmark (in which case the records would still come through), but actually to filter the records and keep the conservative bookmark limit.

I agree, I think this is a pretty reasonable solution and it should be relatively easy to implement. The way that the cloudwatch API works is that I send a start and end timestamp for the batch of logs I want to retrieve, I will plan to make the end timestamp current_time minus 5 mins (default but configurable). This should result in what you suggest i.e. no records will be emitted after that timestamp and the bookmark will always be at least 5 mins from real time.

@pnadolny13 - Sounds great. There are several ways to implement, but if helpful, one option is to drop records by returning None from post_process() if the datetime is past the established limit.


Validate YAML on Travis CI

To make sure submitted and changed emoji packs are still valid.
Remember to enable this lambtron/emojipacks account at https://travis-ci.org/profile

@lambtron Please can you go to https://travis-ci.org/profile and enable the lambtron/emojipacks at Travis CI? It's free for open source projects. Thank you!


Error: Invalid Target board

I'm trying to flash a TX2 NX (emmc) with a JN30D board from Auvidea. However, once the jetson-flash tool gets to call the flash.sh that one errors out with:
Error: Invalid target board - jetson-xavier-nx-devkit-tx2-nx.

Usage: sudo ./flash.sh [options] <target_board> <rootdev>
  Where,
        target board: Valid target board name.

My command to run the jetson-flash tool is:
sudo ./bin/cmd.js -f ~/Downloads/balena-cloud-staging-linux-armv8-l4t-t186-jetson-tx2-nx-devkit-2.98.12-v12.11.38.img  -m jetson-xavier-nx-devkit-tx2-nx -p -o ./persistent
Any idea what I am doing wrong here?

Never mind. I had previously flashed a Nano using the same persistent folder. Therefore, the persistence check didn't redownload anything and I had no files for a TX2.
Deleting the persistent folder (or using a different one) solved the issue.


In training ECAPA-TDNN，learning rate adjustment

The learning rate is changed only on the training set and not on the verification set

Thank you @qiny1012 for the fix. I just fixed the linters and now all the tests should pass.


subversion: 1.14.1 -> 1.14.2; subversion_1_10: 1.10.7 -> 1.10.8

https://svn.apache.org/repos/asf/subversion/tags/1.14.2/CHANGES
https://svn.apache.org/repos/asf/subversion/tags/1.10.8/CHANGES
https://subversion.apache.org/security/CVE-2021-28544-advisory.txt
https://subversion.apache.org/security/CVE-2022-24070-advisory.txt
Fixes: CVE-2021-28544, CVE-2022-24070
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

While checking why we have two releases I noticed that both releases are LTS versions. They receive 4 years of support and 1.10 was first released on 2018-04-13, so it's probably wise to remove it before the 22.05 release.


host: Fix max-jobs-concurrency docopt

Fixes docopt to recognize --max-jobs-concurrency properly.

LGTM


EXT: add description with links to resource list

Description
Add a description with links to the resource list.
Related issue(s)
Closes #1601

/retest

/retest

/test pre-busola-integration-test-k3s-cluster

/test pre-busola-integration-test-k3s-cluster


Error package import

https://github.com/spring-projects-experimental/spring-authorization-server/blob/e16f15cce33d3feab15637198aa8b81d1e08a6c8/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/jose/jws/NimbusJwsEncoder.java#L31

Thanks for the report @freeman0432.
com.nimbusds:nimbus-jose-jwt:9.0 introduced breaking changes so for now we're going to stick with 8.+.
This has been resolved in gh-113.


Bump version to 1.8.7

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Fix build with gcc-7 on linux (WIP)

Not very clean, needs improvement.
But already gives you an idea of what is needed for compatibility

Hi, thanks. I like the latest version with the __has_include.
If you want to make it completely compatible with gcc-7 there will be some issues with <optional> and <string_view>. That being said, since I already rely on abseil, they provide c++11 version of both and they default to the standard library when compiled with c++17. Maybe using absl::optional and absl::string_view everywhere would be easier for older compiler versions.


nixos/lib/build-vms.nix: respect path to access pkgs

Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Why? Generally Nixpkgs should not use <nixpkgs> to refer to itself.

It doesn't appear to be referring to itself, but maybe I have too ideal view of things. It looks to me like nixos is fairly unrelated to packaging, and should probably be it's own stand alone repo and have it's own <nixos> path entry.
Why this matters to me? If I have private packages that I'm using with nix, and if I want to have stable reproducible VMs across developers regardless of what local channels they are using, I might have a private repo with a default.nix that looks something like this:
{ system ? builtins.currentSystem }:
let
  nixpkgRev = "34a7a5ce98b423689bd521cc73e008e78e4c0842";
  nixpkgsUrl = "https://github.com/NixOS/nixpkgs/archive/${nixpkgRev}.tar.gz";
  pkgs = import (fetchTarball nixpkgsUrl) { inherit config system; };

  config = {
    packageOverrides = pkgs: rec {
      ...PRIVATE PACKAGES...
    }
  };
  in pkgs

That works fine with every other nix command (as far as I can tell so far), except for build-vms which completely ignores NIX_PATH and mysteriously my packages aren't available.
Is there a better way to maintain private packages or is there a reason doing this should not be supported?

<nixpkgs> might not be set, or it might point to a different version, leading to weird bugs (see e.g. cae5bfb991c2e0e22ab5923d968fc83d7450ff24, 0e2257966f030799334a8df5cdf94977c3513c28, 91fa55e70211b4d7630e0b4ecc8bd1dee68db9d7).

So if I'm understanding correctly, there is no modularity. The only way that nix packaging is intended to be used is from a single monolithic repo. External packageOverrides are not allowed to be used with nixos.

@srp there is modularity, but not the solution you're seeking for. You should be able to override also vmTools. What exactly are you overriding?

I'm trying to add my own in-house packages. I'm not replacing or modifying anything (at the moment), just adding packages.

So we should try to find the root case why this doesn't work, if you open an issue how to reproduce I can give it a try.


added remaining ECS fields to the useragent

Changes
This PR adds remaining 3 fields from ECS to the user-agent namespace
Merge requirement checklist

[x] CONTRIBUTING.md guidelines followed.
[ ] CHANGELOG.md updated for non-trivial changes.
[ ] schema-next.yaml updated with changes to existing conventions.

@jsuereth to answer your questions from my previous PR about possible multiple names/versions.
I have read some docs about user-agent formatting and creating. It can present multiple information - about browser, OS, device etc, but there is only one browser name/version which we should put into fields. It's a bit complicated and there are specific libs to extract that data from user-agent but from what I have read there should be no multiple versions or names.

There are some existing definitions that might be duplicated (or at least not clear which one should be used) -

There is the definition for device.model.name in the device resource namespace.
And there are also the attributes in the browser namespace. These are intended to work with the User-Agent Client Hints API, but contain the same information.

There are some existing definitions that might be duplicated (or at least not clear which one should be used) -

There is the definition for device.model.name in the device resource namespace.
And there are also the attributes in the browser namespace. These are intended to work with the User-Agent Client Hints API, but contain the same information.

based on this, it's not clear to me whether the additional fields in this PR are needed

There are some existing definitions that might be duplicated (or at least not clear which one should be used) -

There is the definition for device.model.name in the device resource namespace.
And there are also the attributes in the browser namespace. These are intended to work with the User-Agent Client Hints API, but contain the same information.

based on this, it's not clear to me whether the new attributes in this PR are needed

I think the important difference here is that both device.* (device.model.name) and also browser.* attributes are describing the resource on which the data is being collected. user_agent.* attributes are rather meant to describe the user agent properties (broken down / parsed into individual properties) on signals that happen outside that browser or device.
A great example is NGINX (or webserver in general) access logs: As a user you would like to group the access logs / requests by device name / version, etc.
Plus, we are adding attributes to the registry here and not proposing any usage in existing semantic conventions with that yet but rather enable logging use cases and migration of ECS-based use cases into OTel.

I think the important difference here is that both device.* (device.model.name) and also browser.* attributes are describing the resource on which the data is being collected. user_agent.* attributes are rather meant to describe the user agent properties (broken down / parsed into individual properties) on signals that happen outside that browser or device.

could the browser.* attributes be used also on spans/logs? (it seems like this could improve correlation with client-side telemetry)

The NGINX use case is a great example, and I think these attributes make more sense there than re-using the browser namespace, so 👍  to adding these. I mostly wanted to clarify if there is still a use case for user-agent name/version, given that relying on the user-agent string in browsers is problematic and is being replaced with the new User-Agent Client Hints API.

could the browser.* attributes be used also on spans/logs? (it seems like this could improve correlation with client-side telemetry)

I suppose the browser attributes could be used as a source for the user-agent name/value attributes, which is better than parsing the user-agent string.
I am not sure about device name. That still seems like a duplicate to me.

given that relying on the user-agent string in browsers is problematic and is being replaced with the new User-Agent Client Hints API.

I see that this is still a draft, which means it might change/take a long time to stabilise and even after release it might take some (long) time to update existing use cases to rely on it instead of existing user-agent string.

I suppose the browser attributes could be used as a source for the user-agent name/value attributes, which is better than parsing the user-agent string.

How we could use browser attributes as a source if we only have user-agent string in logs for example? Like in nginx case described before? Maybe I'm missing something there?
In addition these fields are extracted from user-agent string to make later search or analysing the data easier, because the string is parsed already and most important data is extracted. Also these fields are added into registry so people could use them if needed and that gives ECS use cases a green light. Please correct me if I'm missing something here

How we could use browser attributes as a source if we only have user-agent string in logs for example? Like in nginx case described before? Maybe I'm missing something there?

This was in response to @trask's question of using browser attributes on spans/logs to correlate client telemetry. I am not sure if it makes sense to copy the browser attributes, but adding user_agent name/version would; and the values could come from either parsing the user_agent string or the browser resource attributes. This is probably a separate conversation.
All that to say, I am fine with adding these attributes 👍

All that to say, I am fine with adding these attributes 👍

Thanks for the clarification, @martinkuba . In that case would you mind to approve the PR technically?

@martinkuba I have moved it out of this PR not to block other fields to be added. I will create a dedicated PR for this field to discuss it separately

@jsuereth to answer your questions from my https://github.com/open-telemetry/semantic-conventions/pull/418#discussion_r1365610975 about possible multiple names/versions.
I have read some docs about user-agent formatting and creating. It can present multiple information - about browser, OS, device etc, but there is only one browser name/version which we should put into fields. It's a bit complicated and there are specific libs to extract that data from user-agent but from what I have read there should be no multiple versions or names.

Unfortunately, this isn't true for gRPC, see e.g. https://stackoverflow.com/questions/60527092/how-to-specify-a-user-agent-header-for-grpc-java-client
It's expected gRPC users will add their app version and gRPC will append its version.

It's expected gRPC users will add their app version and gRPC will append its version.

I have checked what will be returned for provided user-agent in example from SO post YourApp/1.0.0 grpc-java-okhttp/1.27.2 - existing user-agent parsing libraries can't parse it, because they are looking for browser's data.
I have also a note about browser in brief section. Can we/should we restrict those name and version to only browser if available?
Or do you think we should expand user-agent to support all possible products inside user-agent? I think it might depend on implementation of particular product on how do they present it in user-agent.

Or do you think we should expand user-agent to support all possible products inside user-agent? I think it might depend on implementation of particular product on how do they present it in user-agent.

@trisch-me given this comes from ECS, how was the gRPC "problem" handled there? I'm sure probably folks using ECS ran into that or?

It's expected gRPC users will add their app version and gRPC will append its version.

I have checked what will be returned for provided user-agent in example from SO post YourApp/1.0.0 grpc-java-okhttp/1.27.2 - existing user-agent parsing libraries can't parse it, because they are looking for browser's data. I have also a note about browser in brief section. Can we/should we restrict those name and version to only browser if available?
Or do you think we should expand user-agent to support all possible products inside user-agent? I think it might depend on implementation of particular product on how do they present it in user-agent.

I actually think both are viable solutions here.  At a minimum  if you currently restrict what you have to just the browser, and we have an open ticket to expand further to gRPC-like use cases, then I'd be ok merging, and we can look at the broader problem later.
My ideal solution would be we define use agent name version to be "the outer most" or "most important" name/version found in the string.  For YourApp/1.0.0 grpc-java-okhttp/1.27.2 I think this means YourApp and 1.0.0.  However, it's ok to make progress and open a ticket to resolve this later if we tighten up the current wording.

given this comes from ECS, how was the gRPC "problem" handled there? I'm sure probably folks using ECS ran into that or?

@joaopgrassi I have talked with other folks from Elastic, and we found no such usage in our codebase. However, this doesn't necessarily mean that our customers haven't used it in that way, they might have chosen, for example, the "most dominant" or "most important" out of possible options.

@jsuereth thanks for clarification. I would vote then to have this PR to be limited to browser first and will file new PR to support other apps, I have created an issue to track it.
That way we could have already those field inside schema and discuss further development.

@AlexanderWert @jsuereth I have fixed conflicts. This one is good to go and I need these changes to be merged in order to have another PR opened for discussions.


A recent change to the loggregator_message_reliability_from_metron_to_doppler_below_threshold.json.erb template broke our build

We have been seeing broken builds for the past day that use this template and we think that the recent template change broke us.  We are evaluating the template in a certain way that I suppose is different from how it is being used elsewhere.  Do we need to update our script to work with the new template?  Or is there another course of action that makes sense to get our build green again?

We're all set now-we've updated our code to fit the new behavior.


Clientside Crash when opening Diamond Anvil GUI

Minecraft version & Mod Version:
Minecraft 1.12.2
Cyclic 1.17.0
Single player or Server:
Server
Describe problem (what you were doing / what happened):
Clientside crash when trying to access the inventory of a diamond anvil with a tinker tool inside. Unsure just where the issue is here.
Crash log (if any):
VanillaFix was used to capture the crash
https://paste.dimdev.org/komurisaju.mccrash

Cannot replicate in my environment or in the modpacks I checked.  Cyclic does nothing special here, must be caused by either  com.infinityraider.infinitylib . Why infinitylib is trying to render things in GUI of other mods i have no idea.
Reference
https://github.com/PrinceOfAmber/Cyclic/blob/9f5eaea30c3f5f6342e7ff299f192990ea6bc507/src/main/java/com/lothrazar/cyclicmagic/block/anvil/GuiAnvilAuto.java#L46


Add .deb install Instructions

Until i get a Debian Mentor the Debian/Ubuntu package is in my repo with the build files for making a .debian package for plastic. When i get a Mentor/Sponsor that puts my .deb on the official repos i will change the install intructions.

You know what i should just directly commit the repo under debian rather then to link to it


Creating Dependent Variables

Have to say this is a really great solver though I'm running into a little trouble creating a slightly complicated model.
Effectively I want to create some binary variables that are dependent on other binary variables.
For example I have core binary variables 'a','b','c' & 'd' and sub-variables 'a1','b1','c1','d1'
What I want is that 'a1' can only be equal to or less than 'a' etc.
This way if 'a' is set to 1, then 'a1' can only be 0 or 1.
In human terms my core binaries are selections for a football squad of 15 players out of a pool of ~100 options.
The sub-variable is weekly selection- ie. you can only pick a player from within your squad and perhaps he is expected to well one week and badly the next depending on fixtures.
I have gotten this working very quickly and well in Python using the Pulp module so I'm sure it is a linear problem- is it possible to replicate using jsLPSolver?

I can get it to solve with a bit of a hack -creating a value which is positive when a player is picked in the squad and negative when included weekly decisions- eventually leading the value to be zero only if a player is included in all squads or in none.
However this only works while the model is not too big ~300 variables, ~200 constraints. Realistically I need it to solve for 1000 variables and almost 1000 constraints- I hope that's not too large for this solver
I might just move forward with a bespoke iterative approach and forget about this...


Issue #22: (Updated) Added a domain and a protocol to the registration link.

Stuff like this you can merge yourself :)


Enhance CI strategy

The CI  strategy should provide a way to build the containers in a dev/prod environments
see: https://github.com/weacast/weacast-loader/blob/master/.travis.yml

The services can be deployed.


fix: assert not snowpark_utils.is_in_stored_procedure() fails

Current version of the ml registry needs the extra parameter, otherwise this step fails with:
File "<..>/env_utils.py", line 371, in get_matched_package_versions_in_snowflake_conda_channel
assert not snowpark_utils.is_in_stored_procedure()  # type: ignore[no-untyped-call]
Upcoming release should fix this:
https://docs.snowflake.com/developer-guide/snowpark-ml/model-registry/overview#current-limitations-and-issues
For now, the parameter is needed.

thanks @sfc-gh-vtimofeenko this worked like a charm


Duplication of files in Xcode 12

Has anyone else seen this problem in Xcode 12? If i import SwiftUICharts 1.5.3 as a swift package, I initially have no problems. But if I close Xcode and then reopen my project, SwiftUICharts starts duplicating files and I get a whole bunch of "Invalid redeclaration errors" on the SwiftUICharts files.This does not happen with any other SwiftPackage that I have installed.
In order to fix the problem, I have to remove SwiftUICharts 1.5.3, add the 1.5.2 package, remove the 1.5.2 package and then add the 1.5.3 package again. EVERY TIME I RESTART XCODE!
Is there some setting I have wrong? Why only this package?

This has been resolved. I deleted everything and reinstalled the Package


Allocating GPU memory for cupy arrays

This is a very preliminary topic but I could not find any systematic tutorial for beginners like me. I want to allocate say, 2GB of memory space for a single cupy array, cp_arr. This is the code I am using.
memory = cp.cuda.Memory(2048000000)
ptr = cp.cuda.MemoryPointer(memory,0)
cp_arr = cp.ndarray(shape=(30,1080,1920,3),memptr=ptr)
cp_arr = cp.zeros(shape=(30,1080,1920,3))
In this case, an additional memory of 1.7 GB was allocated when 'cp_arr = cp.zeros(shape=(30,1080,1920,3))'  is being executed. What I want is to make use of previously allocated space of 2 GB to hold my cupy array, cp_arr. Thanks in advance.

Could you elaborate more about what you want to achieve?
Memory allocation behavior is similar to that of NumPy. As for your example code, use cp_arr.fill(0) instead of cp_arr = cp.zeros(shape=(30,1080,1920,3)).

Moreover, this is not an issue of CuPy.
Please close this issue and repost it on Stack Overflow or Google Groups (en / ja).

Could you elaborate more about what you want to achieve?
Memory allocation behavior is similar to that of NumPy. As for your example code, use cp_arr.fill(0) instead of cp_arr = cp.zeros(shape=(30,1080,1920,3)).

Hi, I have a tensorflow session running in parallel to this cupy code. I have allocated 8 Gb out of 11 Gb of my total gpu memory to the tensorflow session. What I want now is to allocate the rest of 3 Gb for executing this cupy code. The actual code is more involved than the example code I provided. In my actual code, cp_arr is a result of a series of array operations. But I want cp_array to be allocated in the remaining 3 Gb space of my gpu memory. Remember, freeing the gpu resources by closing out tensorflow session is not an option.
Thanks in advance.

Like as in NumPy, several functions support out argument which can be used to store the computation results into specified array.
https://docs-cupy.chainer.org/en/stable/reference/generated/cupy.dot.html
We're also planning to implement upper limit for memory pool (#1295) in near future. However, this is a feature to raises an error when total allocation size exceeds the configured limit, so maybe not what you want.

Thanks for creating an SO question! Let us continue discussion there.
https://stackoverflow.com/questions/53476521/allocating-gpu-memory-for-cupy-arrays


Update room.ts

Swap Youtube for Twitch in the embed for the theatre, for #89 .
Do note that with how Twitch embeds work, if we switch domains ( #88 ), we will need to change the 'parent' parameter in the embed.
Twitch documentation on 'parent': https://discuss.dev.twitch.tv/t/twitch-embedded-player-updates-in-2020/23956

Ahh, thank you for also fixing my "sculls" typo, that's been driving my crazy for ages 😂


An option to run terraform apply only once / on demand

What problem are you facing?
Hi, I am working with a terraform provider and it does terraform apply automatically during each reconciliation. Sometimes I use terraform code as some kind of workaround, for example like here to import resources by name:
https://github.com/upbound/provider-terraform/tree/main/examples/importer
and in this case, I am interested only in the first run of terraform apply, only to get the resource ID I want to import.
After that, I don't need to run my code again in the reconciliation loop to not waste resources when unnecessary.

How could Official Terraform Provider help solve your problem?

Is it possible to have an option to run terraform only once or on demand?
Or maybe you have any other solution how to deal with this example? I was thinking of adding crossplane.io/paused: "true" annotation to the MR, but this needs to be added automatically after resource is Ready.

Hi @lewyg - terraform apply is only run on the initial create step and when it is determined that the resource is out of sync and needs to be reconciled.   terraform plan is run on every reconciliation cycle to determine if the resource is out of sync., so it's definitely not optimal for one-shot Workspaces but it's not quite as bad as running apply on every cycle.
Now that Composition Functions are available I expect that a lot of the things that were being done with one-shot Workspaces can be replaced with Functions, so I think this issue might become less of a problem.
It might be possible to use the Granular Management Policies to do something like this if you specify just Create and leave out all of the other policies.  I don't know if we have implemented support for GMP yet but we can run some tests.

I just had a discussion about it with @mergenci . It looks like managementPolicies: ["Create"] will also require "Observe" to succeed and enabling "Observe" will enable the consequent reconciliation loops. So without substantial provider and/or crossplane-runtime modifications, it seems to me that some Function that will set paused annotation on the Workspace if the outputs is already populated, might be an option here

@bobh66 thank you for the clarification, "plan" is definitely better than "apply", but still, as you said, not optimal for one-shot workspaces. I would like to learn more about how to use the composition function in this case. Do you have anything specific in mind with available functions, or to develop a new one for this case?
@ytsarev Yes, a new function sounds good to me

Another way to solve this using Composition Functions - if the Workspace output is only needed at create time, and the output is presumably stored in another resource input or the composite status, the Composition Function can have logic that creates the Workspace  on the first pass through, copies the output when it is available, and then deletes the Workspace since it is no longer needed.
Sample logic:
if .observed.composite.resource.status.workspacedata == "":
add Workspace to desired resources
if workspace-key in .observed.composed.resources and output is available:
copy workspace output to desired.composite.resource.status.workspacedata
This would result in the Workspace resource being created and maintained as long as the output data has not been copied into the Composite status, and then once that happens the Workspace is no longer part of the desired resources so it will be deleted.


Adding Mentored Sprint

Information about Mentored Sprints - details like room and time are not announced yet and minor information is subjected to changes. But It's good to have it on the website and start inviting projects to join.

@Vaibhavs10 I don't mind either way but I thought it need to be done ASAP. I prefer to launch it first and then ask the projects to join.

Okay! @Cheukting - Good for me to merge in that case! Thank you for putting this together..


Fix buttons problems in 'Change Email' section.

Problem it solves:

Even if the email is verified and primary, buttons still show to resend verification link and to make the email primary.
If the email is not verified, button should not be there to make it as primary.
if the email is not verified and not primary, only show Resend verification link button and after it has been verified, hide Resend Verification link button and show Make primary button.
Also, there was no use-case for block extra_body. It should be footerjs.

Demo:

Currently, I have implemented this on client side, this should also be from server side. I was able to send 3-4 email verification email for a verified email.

@humitos
Can I request a review here?

This is still valid bot.

Still valid bot.
Partially linked to #5665
Relevant Comment: #5665 (comment)

Currently, I have implemented this on client side, this should also be from server side. I was able to send 3-4 email verification email for a verified email.

We could, but I think this is not really important in this case.

@davidfischer

I think things like this get a lot easier once we have a better UI framework in place.

Are there any plans to work on the UI part of RTD?

Are there any plans to work on the UI part of RTD?

Yes there are. This has been something I've been pushing on for a while but it's actually a pretty huge task.

@davidfischer
I also want the UI to improve and would like to collaborate on that whenever the team decides to work on the UI part.

I'm merging the PR now since it's tested and we agree on it.


Legacy Tx Builder

Adds the legacy Tx Builder for non-segwit transactions.
Closes #116
Closes #118

Codecov Report

Merging #155 (503d1d2) into master (f906b0e) will decrease coverage by 0.11%.
The diff coverage is 91.13%.

@@            Coverage Diff             @@
##           master     #155      +/-   ##
==========================================
- Coverage   94.74%   94.63%   -0.12%
==========================================
  Files         150      160      +10
  Lines        4016     4267     +251
  Branches      470      502      +32
==========================================
+ Hits         3805     4038     +233
- Misses        107      117      +10
- Partials      104      112       +8

Impacted Files
Coverage Δ

packages/bitcoin/lib/Tx.ts
88.00% <42.85%> (-1.35%)
:arrow_down:

packages/bitcoin/lib/LexicographicalSorters.ts
63.63% <63.63%> (ø)

packages/bitcoin/lib/BitcoinError.ts
71.42% <71.42%> (ø)

packages/bitcoin/lib/Wif.ts
76.92% <76.92%> (ø)

packages/crypto/lib/secp256k1.ts
82.85% <81.81%> (+13.62%)
:arrow_up:

packages/bitcoin/lib/Base58Check.ts
84.61% <84.61%> (ø)

packages/bitcoin/lib/Base58.ts
92.00% <92.00%> (ø)

packages/bitcoin/lib/TxBuilder.ts
94.64% <94.64%> (ø)

packages/bitcoin/lib/BitcoinErrorCode.ts
100.00% <100.00%> (ø)

packages/bitcoin/lib/HashValue.ts
89.47% <100.00%> (+2.80%)
:arrow_up:

... and 26 more

Continue to review full report at Codecov.

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


Broken link in the docs

https://sorl-thumbnail.readthedocs.io/en/latest/operation.html has broken link "Schematic view of how things are done"

Duplicate of #714


Add convert() for geometries

Spurred by the discussion in #1146.
Add a convert function. Currently only for points.
The interface differs from Boost's convert, as to streamline its usage in our code (right now, we only use its result to immediately construct spheres). May change in the future should we want it.

Did you look at performance?

I did not see any difference on DBSCAN benchmark.

Ignoring one build failure (Child aborted in CUDA 11.5.2 tests).


Copy from https://github.com/Jfhelin/copilot-rock-paper-scissors/

This pull request introduces a comprehensive .NET version of the Rock Paper Scissors workshop, including setup instructions, core exercises, challenge exercises, and additional resources. The changes focus on creating a structured learning path for participants to build and extend the game using .NET technologies.

Bin files included in this version... I will retry


Unified-Hosts-AutoUpdate For Windows

I just uploaded a new script I made for Windows users that attempts to make the process even more user-friendly by updating their hosts file automatically and by not requiring Git or Python. I am not too savvy on how all the licensing and acknowledgments go, but I am open to any feedback and I apologize in advance if I made any serious mistakes in that area. I think it would be cool if it could be added to this project, but I am not sure what the consensus might be on that. It is strictly for making it easier on Windows users by downloading the latest pre-generated hosts files generated by Steven Black and injecting them into the local hosts file of the end user. It does not generate the files itself, as the other scripts here do. As the pre-generated hosts files of this project are updated rather regularly with new information, I thought it would be a performance increase for the script to just skip the generation and just download them. However, if generation is seen as an important aspect to be part of this project, it can be an easily added feature without requiring any additional executables.
https://github.com/ScriptTiger/Unified-Hosts-AutoUpdate
I look forward to any feedback you all might have, the good, bad, and ugly. I have been a huge consumer and fan of this project for a while and have the utmost respect for those working on it. So even if the feedback is an immediate takedown request, I'm ready and willing to follow along with whatever guidance you have.

The code would be orders of magnitude more readable if it was indented.

Definitely. I've kind of adapted my own style of blocking over the years, but it's definitely not compatible with the styles object-oriented programmers are used to. I'll definitely clean that up, thanks!

Also, since this issue is specifically plugging my AutoUpdate repo, I'll shamelessly just throw out I do have another repo specific to DualServer. I only mention that because after skimming through the issues there seems to be a lot of requests for different formats, so that's one I've got covered if anyone is interested.

I'll just let the readme raise awareness from here on out, I hate lingering open issues. But please don't forget to send me some feedback, even if it is positive and nothing is wrong.


Power-fx Repl: Ctrl-C doesn't exit cleanly

I'm not able to exit from Power-Fx repl using Ctrl-C

I'm using PowerShell 5 in Windows terminal

I have to close the terminal window

+1. I cannot even type any Power Fx expression in REPL. It is just stuck.

Thanks for your feedback. To exit from the REPL, use Exit() function with capital 'E'.

I have the same issue. The terminal is frozen and accepts no commands. I even tried to type the command without having the feedback, but it is just stuck there.

I can use pac power-fx run --file filename --echo True, but pac power-fx repl freezes. I tried creating an environment in the US but it is the same.
https://github.com/microsoft/powerplatform-vscode/assets/11160171/81bae6ab-3951-4710-b30c-42a886e0ac25

I can use pac power-fx run --file filename --echo True, but pac power-fx repl freezes. I tried creating an environment in the US but it is the same.
Power-FX.REPL.mp4

Hi @BetimBeja - Can you try using "`pac power-fx run --file filename --echo" without True?
Also, make sure you have PAC CLI version 1.28 installed.
Let me know or DM me.
Thanks,
ShafQat

@snizar007 --echo works correctly without specifying the True value

The REPL issue was solved when installing pac as a dotnet tool. Or using the vscode extension. I only have the issue with the MSI version.

Glad to have this working for you. Closing the issue.


badge accessible in high contrast mode

This PR gives a transparent border to badges so they give better context in high contrast mode.
Before

After

This will indent each badge with one pixel. Maybe there's any way to detect when we're in high contrast mode?

/CC @patrickhlauke

these could be scoped to just -ms-high-contrast:active media query - would still result in the indent, but only in HC mode.
note that Windows HC is quite unique in that it munges/reinterprets/overrides a site's CSS. also, HC likely doesn't currently work with a lot of other components (not tested, but off the top of my head thinking any fancy checkbox/radio button/form control constructs that use clever "faked" CSS / rely on background images and borders. https://github.com/twbs/bootstrap/issues/26892 + https://github.com/twbs/bootstrap/issues/21269
related https://developer.paciellogroup.com/blog/2016/12/windows-high-contrast-mode-the-limited-utility-of-ms-high-contrast/ and http://www.gwhitworth.com/blog/2017/04/how-to-use-ms-high-contrast/

Unless we do this across the codebase, I don't think it makes sense to do it just for one component.

This will indent each badge with one pixel. Maybe there's any way to detect when we're in high contrast mode?

Seems I was wrong about this, the border just adds a px.
I'm ok with this change, as long as we add a comment in the source code since this is not self-explanatory.

I'm inclined to leave this or scope it to high contrast mode only. Could be skipped entirely if we figure out the right theme/color scheme approach.

adding some more resources:

https://sarahmhigley.com/writing/whcm-quick-tips/
https://www.w3.org/2019/09/Meetup/speaker-melanie.html

would be good to have a run through the entirety of Bootstrap to see what needs to be tweaked. it should be possible to make things work ok in high contrast without affecting the non-high-contrast look and feel


edge couplers

This fabrication run will include edge coupling
Add edge couplers to the edges of the chip
perhaps move the PCM into the middle, to allow for all four edges @mustafacc
implement some automated merging that includes edge couplers

Implemented. done.


Add IsExact to collection interface, check when deciding to use all

Fixes #881.
This adds IsExact to IPythonCollection, which is true when Contents contains an exact representation of the contents, meaning that the values are set and are known. This boolean is propagated around, and used when looking up __all__.
Tensorflow broke because it assigns __all__ via a comprehension; the comprehension evaluator doesn't actually populate a real collection, instead producing a collection which contains a single member. This could be improved in the future, but by not setting IsExact true when that collection is produced, that incomplete value won't be used when looking at __all__.

This too will conflict with the refs PR due to the LocationInfo uses.


rephrasing for more logical reading flow

@schmalliso Hi Allison, can you please sign the CLA as the googlebot COMMANDS you to do? :) Thanks for the PR!

@johndmulhausen  I have done so! Thanks!

Thanks, @schmalliso ! If you are interested in $25 of Google Cloud Platform credit, please shoot me an email at<EMAIL_ADDRESS>


Mobile menu

In this I created a responsive navbar with functionality like hamburger one.

Thank you so much. Literally
On Wed, Apr 6, 2022, 3:41 AM Victor @.***> wrote:

@.**** approved this pull request.
Hi @ABDULALI3468 https://github.com/ABDULALI3468 ,
STATUS: APPROVED! 🥇 💯
[image: done]
https://camo.githubusercontent.com/9a1ff1ac1c31736bb2648bba672d41f069cdc47841099fdec9a4209321b37135/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f6c31756761384f6250426e49426f5855512f67697068792e676966
Your project is complete! There is nothing else to say other than... it's
time to merge it [image: :shipit:]
Congratulations! 🎉
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
In index.html
https://github.com/ABDULALI3468/MY_PORTFOLIO/pull/20#discussion_r843318295
:

@@ -0,0 +1,246 @@

+
+

[Optional] your mobile view has a horizontal scroll, Kindly fix it

—
Reply to this email directly, view it on GitHub
https://github.com/ABDULALI3468/MY_PORTFOLIO/pull/20#pullrequestreview-932592085,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWO3YB2ZCKJTHW4ULD2CTDLVDS6SNANCNFSM5SUDNP4Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


Bump to <IP_ADDRESS> pre-release

This should be merged first, before merging anything else from 12.4 milestone.

Rebased to fix merge conflicts after <IP_ADDRESS>, pls re-review.


port PhaseByTransmission

requirement is to port the PhaseByTransmission walker and tests. Test data is not currently visible outside of Broad so I unmarked 'Helpwanted' The data does look sharable though and should be made public.

@cmnbroad just got clarification from @vdauwera. This tool is optional. OK to close this if you've not started working on it yet.


libraries: Wire: Instantiate Wire following dts configuration

Instaintiate Wire with i2c device that defined in 'i2cs' array
under zephyr,user node.
If 'i2cs' array is not defined, tries to instantiate with
i2c device that labeled as 'arduino_i2c'.
As a result of apply new rule, the i2c_dev that declared in pinmap.h
is no more used, remove it.

@soburi kindly rebase and resolve conflicts. Thanks

@DhruvaG2000
Update done.

Merged, Thanks!


[NBA & WNBA Viewer] Standings are not updated to the 2024-25 season. They still show the 2023-24 season standings.

Extension
https://www.raycast.com/AbhinavPalacharla/nba-viewer
Raycast Version
1.84.3
macOS Version
15.0.1
Description
Standings are not updated to the 2024-25 season. They still show the 2023-24 season standings.

Steps To Reproduce

Open Raycast
Search "View Standings"
Hit Enter
Eastern Conference and Western Conference Results are incorrect.

Current Behaviour
No response
Expected Behaviour
No response

This is because we hardcode year to be:
    year: new Date().getFullYear().toString(),

From https://site.web.api.espn.com/apis/v2/sports/basketball/nba/standings:
{
  "uid": "s:40~l:46~g:7",
  "id": "7",
  "name": "National Basketball Association",
  "abbreviation": "NBA",
  "shortName": "NBA",
  "children": [
    {
      "uid": "s:40~l:46~g:5",
      "id": "5",
      "name": "Eastern Conference",
      "abbreviation": "East",
      "standings": {
        "id": "0",
        "name": "overall",
        "displayName": "Overall Standings",
        "links": [
          {
            "language": "en-US",
            "rel": [
              "standings",
              "desktop"
            ],
            "href": "https://www.espn.com/nba/standings/_/group/5",
            "text": "Table",
            "shortText": "Standings",
            "isExternal": false,
            "isPremium": false
          }
        ],
        "season": 2025,
        "seasonType": 2,
        "seasonDisplayName": "2024-25",
...

So we need a way other than pulling the current year to work out the season.


Add missing dependencies to the README

I found these using a clean docker with Ubuntu 20.04 LTS

@mergify backport main

Squashed and fixed.


IE 11 support drop

Checklist of technical simplifications and improvements after support of IE11 has been dropped:

[ ] Remove "Explorer 11" from babel targets
[ ] CSS vars
[ ] Simplify conditional classList.add/remove by replacing with 2-args toggle
[ ] Simplify array lookups with includes
[ ] Simplify custom events creation

To be completed.

-Array.includes() would be available

[ ] Remove url-search-params-polyfill from dependencies


[occm] how do you use the openstack-cloud-controller-manager helm chart?

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind feature

What happened:
I am migrating from the manifests to using the helm chart for our clusters (primarily because the helm chart seems to allow us to keep up to date and customize the paths as needed for our k8s distro.
I am trying to deploy the helm chart (2.28.0) with the following values:
cluster:
  name: prod
secret:
  enabled: true
  name: cloud-config
  create: false
extraVolumes:
- name: flexvolume-dir
  hostPath:
    path: /opt/libexec/k0s/kubelet-plugins/volume/exec
- name: k8s-certs
  hostPath:
    path: /var/lib/k0s/pki
# Where the additional volumes should be mounted into the pods:
extraVolumeMounts:
  - name: flexvolume-dir
    mountPath: /opt/libexec/k0s/kubelet-plugins/volume/exec
    readOnly: true
  - name: k8s-certs
    mountPath: /var/lib/k0s/pki
    readOnly: true

In addition, I create a secret cloud-config (in kube-system):
[Global]
username=redacted
password=redacted
auth-url=https://redacted:5000/v3
tls-insecure=true
region=RegionOne
domain-name=redacted
tenant-id=redacted

[LoadBalancer]
use-octavia=true
floating-network-id=redacted
subnet-id=redacted

[BlockStorage]
bs-version=v2

[Networking]
internal-network-name=network-prod
ipv6-support-disabled=true

(In addition, I am also using the cinder chart and it seems to succeed there, but certain services fail due to the worker nodes coming up as "uninitialized" still.)
What you expected to happen:
Running cloud controller manager (and no taints on my k8s nodes).
How to reproduce it:
see above
Anything else we need to know?:
The DaemonSet maybe?
Name:           openstack-cloud-controller-manager
Selector:       app=openstack-cloud-controller-manager,component=controllermanager,release=openstack-cloud-controller-manager
Node-Selector:  <none>
Labels:         app.kubernetes.io/instance=openstack-cloud-controller-manager
                app.kubernetes.io/managed-by=Helm
                app.kubernetes.io/name=openstack-cloud-controller-manager
                app.kubernetes.io/version=v1.28.0
                helm.sh/chart=openstack-cloud-controller-manager-2.28.0
Annotations:    deprecated.daemonset.template.generation: 2
                meta.helm.sh/release-name: openstack-cloud-controller-manager
                meta.helm.sh/release-namespace: kube-system
Desired Number of Nodes Scheduled: 0
Current Number of Nodes Scheduled: 0
Number of Nodes Scheduled with Up-to-date Pods: 0
Number of Nodes Scheduled with Available Pods: 0
Number of Nodes Misscheduled: 0
Pods Status:  0 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:           app=openstack-cloud-controller-manager
                    chart=openstack-cloud-controller-manager-2.28.0
                    component=controllermanager
                    heritage=Helm
                    release=openstack-cloud-controller-manager
  Annotations:      checksum/config: bf42776b3c976e5762a25c440c7615361c3faf25106844e44870eb6ce9a9f4f1
  Service Account:  openstack-cloud-controller-manager
  Containers:
   openstack-cloud-controller-manager:
    Image:      registry.k8s.io/provider-os/openstack-cloud-controller-manager:v1.28.0
    Port:       <none>
    Host Port:  <none>
    Args:
      /bin/openstack-cloud-controller-manager
      --v=1
      --cloud-config=$(CLOUD_CONFIG)
      --cluster-name=$(CLUSTER_NAME)
      --cloud-provider=openstack
      --use-service-account-credentials=true
      --controllers=cloud-node,cloud-node-lifecycle,route,service
      --bind-address=<IP_ADDRESS>
    Environment:
      CLOUD_CONFIG:  /etc/config/cloud.conf
      CLUSTER_NAME:  prod
    Mounts:
      /etc/config from cloud-config-volume (ro)
      /opt/libexec/k0s/kubelet-plugins/volume/exec from flexvolume-dir (ro)
      /var/lib/k0s/pki from k8s-certs (ro)
  Volumes:
   cloud-config-volume:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  cloud-config
    Optional:    false
   flexvolume-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /opt/libexec/k0s/kubelet-plugins/volume/exec
    HostPathType:
   k8s-certs:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/k0s/pki
    HostPathType:
Events:            <none>

Maybe the node labels need to be set?
The default values in the chart say:
tolerations:
  - key: node.cloudprovider.kubernetes.io/uninitialized
    value: "true"
    effect: NoSchedule
  - key: node-role.kubernetes.io/control-plane
    effect: NoSchedule

But I am not exactly sure if the list of tolerations is interpreted as an "and" or an "or"?
Environment:

openstack-cloud-controller-manager(or other related binary) version:
OpenStack version: 3.18.5
Others:

Created this, and found the issue. It was indeed the tolerations. I'll make a PR to update the documentation a bit.


UDP: Read and set local address on unbound sockets (IPV6_PKTINFO style functionality)

When UDP sockets are created and bound to a port but no IP address (the POSIX equivalent being being bound to [::]:${PORT}), applications often need to know which local address the packet was sent to, so that responses can be sent from the same address. This is requirement for implementing CoAP and (AIU) also QUIC -- and part of the embedded-nal-async (where more extensive rationale is given).
I can put in work on smoltcp to make this possible, but being new to the project I'll need a bit of guidance as to where to do that. My naive approach would be to add a field localendpoint to PacketMetadata, possibly behind a pktinfoish flag. Odd thing is that this is really not phy-level information -- it'd just as well fit in UdpMetadata, but that is not #[non_exhaustive] (should it be?).
For actually making it functional on the incoming side, I think I'd just need to update socket::udp::Socket::process to propagate data that is available in the ip_repr down into the metadata. On the send side, this would be in its dispatch(), where we'd have to decide whether we just take the application's word that the source address is good, or whether we check if it really matches self.endpoint.addr / is a valid source address of cx.

yes, UdpMetadata would be the correct place to add this.

So, I add it to UdpMetadata in a PR and worry about non_exhaustive and semver breakage later? Should I still make it opt-in, or make it unconditional? (Any implementation of embedded-nal-async on it, such as the one I'd plan for embassy, would enable the flag anyway, and it's about a 128bit copy and per-message storage that's added, maybe even saving on get_source_address calls in the outbound direction.)

don't worry about breakage, next release will likely be 0.12 (breaking bump) anyway.
I'm not sure about making it optional.. it's 16 extra bytes per packet, which is not much but also not insignificant. i'm sort of leaning towards not making it optional, because we already have enough feature flags :smiling_face_with_tear:


vobject chokes on '<TRIGGER{}PT>'

Parsing an event from a Zimbra server, vobject chokes on the definition of a TRIGGER as PT. PT normally would start a DURATION, but here none is specified.
Would it make sense to accept this input and interpret it as "no trigger"?

I don't think so. That seems like a malformed alarm component to me. From the RFC 5545 spec for "TRIGGER":

Conformance:  This property MUST be specified in the "VALARM"
calendar component.

You can't have a "VALARM" component without a trigger, so how can we accept any input as "no trigger"? It wouldn't conform to the spec.

Understood.
My problem is that such a (wrong) tag will probably show up again.
Or do I miss a possibility to make the parsing not break completely?  I use vobject via the caldav library.

That's a very good point, and why I wanted to keep the issue open - get a little more discussion here. What would you suggest we do? Drop the entire VALARM component? I don't know how most calendar clients would react to a VALARM component with a malformed TRIGGER.
Unfortunately I can't really speak to the caldav library, that's something you'd have to ask them.

I think dropping the VALARM component in this case would be a valid consequence.

@Achimh3011 can you provide the event that fails to parse because of a bad TRIGGER?

I don't have the original event any more. I tried to construct an equivalent one (attached) but when I import it into my calendar (via Apple Calendar / zimbra), caldav/vobject do not have a problem with it.
Reading it directly provokes the error as expected, though:
with open('iCal-20180720-121457.ics') as inp:
    cal = vobject.readOne(inp)

yields
scratch_1.py
Traceback (most recent call last):
  File "~/prog/vobject/vobject/icalendar.py", line 1388, in transformToNative
    return Duration.transformToNative(obj)~
  File "~/prog/vobject/vobject/icalendar.py", line 1349, in transformToNative
    raise ParseError("DURATION must have a single duration string.")
vobject.base.ParseError: 'DURATION must have a single duration string.'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~/prog/vobject/vobject/icalendar.py", line 1617, in stringToDateTime
    year   = int( s[0:4] )
ValueError: invalid literal for int() with base 10: 'PT'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~/prog/vobject/vobject/icalendar.py", line 1395, in transformToNative
    dt = DateTimeBehavior.transformToNative(obj)
  File "~/prog/vobject/vobject/icalendar.py", line 720, in transformToNative
    obj.value=parseDtstart(obj)
  File "~/prog/vobject/vobject/icalendar.py", line 1839, in parseDtstart
    return stringToDateTime(contentline.value, tzinfo)
  File "~/prog/vobject/vobject/icalendar.py", line 1627, in stringToDateTime
    raise ParseError("'{0!s}' is not a valid DATE-TIME".format(s))
vobject.base.ParseError: "'PT' is not a valid DATE-TIME"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~/Library/Preferences/PyCharm2018.1/scratches/scratch_1.py", line 5, in <module>
    cal = vobject.readOne(inp)
  File "~/prog/vobject/vobject/base.py", line 1130, in readOne
    allowQP))
  File "~/prog/vobject/vobject/base.py", line 1102, in readComponents
    component.transformChildrenToNative()
  File "~/prog/vobject/vobject/base.py", line 662, in transformChildrenToNative
    child.transformChildrenToNative()
  File "~/prog/vobject/vobject/base.py", line 662, in transformChildrenToNative
    child.transformChildrenToNative()
  File "~/prog/vobject/vobject/base.py", line 661, in transformChildrenToNative
    child = child.transformToNative()
  File "~/prog/vobject/vobject/base.py", line 183, in transformToNative
    return self.behavior.transformToNative(self)
  File "~/prog/vobject/vobject/icalendar.py", line 1400, in transformToNative
    raise ParseError(msg)
vobject.base.ParseError: At line 36: TRIGGER with no VALUE not recognized as DURATION or as DATE-TIME

Process finished with exit code 1

iCal-20180720-121457.ics.txt


Define ColorSwatch.lerp() function

Add lerp() function to ColorSwatch
Fixes #103695
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Thanks for the review @gspencergoog. Good to know that you are not strict with the 80 characters' limit. I've committed your suggestions. Let me know if it looks good now.

fixed! 🙂