Added Tor Browser to Web Browsers tab.

Type of Change

[x] New feature
[ ] Bug fix
[ ] Documentation update
[ ] Refactoring
[ ] Hotfix
[ ] Security patch
[ ] UI/UX improvement

Description

Added Tor Browser as an option in the Web Browsers tab.

Testing

Tested on Arch Linux.

Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no errors/warnings/merge conflicts.

@adamperkowski both instructions relate to only the tor package, not torbrowser-launcher
The torbrowser-launcher package seems to be maintained by the Tor project, see https://github.com/torproject/torbrowser-launcher
They also state that the packages in the distro's repos may be out-of-date and recommend installing torbrowser-launcher via Flatpak, see https://github.com/torproject/torbrowser-launcher?tab=readme-ov-file#installing-in-any-linux-distro-using-flatpak
Maybe it would be best to change the install script to use Flatpak instead of native package managers, what do you think?


unable to create a 'Custom Animation' for geom/Circle

hello,
I'm using open layers version 7.2.2. ( with next.js & react.js ) and displaying on chrome v80.
I've managed to use 'custom animation' example
I then tried to change the code to use circle geometries instead of points ( that are used in the example) , but this does not work.
in other words, I changed "const flashGeom = Event.feature.getGeometry().clone();" to "const flashGeom = new Circle(Event.feature.getGeometry().getCenter());"  ( the data from Event.feature.getGeometry().getCenter()) is good, since
const flashGeom = new Point(Event.feature.getGeometry().getCenter()); works ).
I've also tried setting the circles radius ( with the same value used for the sytle:radius ) , but this also did not work.
please advise.
Omer.

The radius for the Circle style is in pixels, the radius for the Circle geometry is (by default) in EPSG:3857 projection.
See this working example: https://codesandbox.io/s/geometry-animation-nksjhg?file=/main.js

Thank you M393.
do you happen to also know the logic behind providing both point and circle?
and which object should be used for which purpose ?
thanks,


[6.0][PubGrub] Narrow down cases when pre-release decisions are marked inv…

…alid

Explanation:
Pre-release decisions are valid if the derived range they were inferred from supports pre-release versions.
Currently, after deriving a pre-release assignment, the solver would assert
in some circumstances depending on order in which the dependencies are specified in the manifest.
This change makes it possible to infer pre-release verison of a package even when intermediate derivations did not support pre-release versions.
For example one package could declare swift-syntax dependency as 508.0.1 ..< 601.0.0 and another could narrow it to 600.0.0-latest ..< 601.0.0.
Since the most constrained range in such case supports pre-releases a decision
to use the lastest pre-release version of 600.0.0 should be valid if there
is no 600.0.0 release yet.
It's important to note that on each path a decision for a package is always
made based on the last undecided term's requirements which means - based on the current semantics - if such derivation   doesn't support pre-release,
even though intermediate ones did, the solver would select a released version.
This PR is not aim to change that.
There is a caveat which we cannot narrowly fix - if package depends on an exact
pre-release version the inference is going to fail when there is another dependency
to the same package that doesn't support pre-releases. For example:
Package A depends on packages B and C as follows:
A depends on B = 0.0.1-alpha and C = 1.0.0 B version 0.0.1-alpha has no dependencies
C version 1.0.0 depends on B - 0.0.1 ..< 0.0.2
In this situation the solver would fail because 0.0.1-alpha does not satisfy range - 0.0.1 ..< 0.0.2 inferred from C.

Delays version decisions for packages with pre-release ranges until there are no more packages without pre-release versions. This also means that if a previous decision narrows down the range to releases-only the package would be made a contender on the next step of the solver.

Relaxes the isValidDecision check for pre-release decisions but makes sure that the last derivation supports pre-release versions.

In situations like
https://github.com/swiftlang/swift-package-manager/issues/7658 and https://github.com/swiftlang/swift-package-manager/issues/7643 the solver would no longer assert and would produce a solution with a pre-release version for swift-syntax.

Main Branch PR: https://github.com/swiftlang/swift-package-manager/pull/7799

Risk: Low (These changes only affect packages that have pre-release version dependencies in a very narrow circumstances where there is another dependency that isn't a pre-release).

Reviewed By: @MaxDesiatov

Testing: Existing test-cases were modified and new tests were added.

(cherry picked from commit 43fd240bf7263734f1cd730e4e0dd7ae22b54085)

@swift-ci please test


stats.py FutureWarning with DataFrame.prod

The following line in stats.py causes a FutureWarning in recent versions of Pandas (e.g. 2.1):
    return _np.product(1 + returns) ** (1 / len(returns)) - 1

This can be resolved by explicitly specifying axis=0:
    return _np.product(1 + returns, axis=0) ** (1 / len(returns)) - 1

This is superceded by #335


Upgrade Node.js in wireit-setup-github-actions-caching GHA

The "wireit-setup-github-actions-caching" action is currently using node16, it would be great to get this upgraded to "node20" to get rid of:

[!WARNING]
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: google/wireit@setup-github-actions-caching/v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

setup-github-actions-caching/v1 now uses node20


Inconsistent behavior with Export-RubrikDatabase

Expected Behavior
With the target database dropped from the target SQL server:
 Export-RubrikDatabase -id $db.id -RecoveryDateTime $backupToRecover -FinishRecovery -TargetInstanceId $targetInstanceID -TargetFilePaths $targetfiles -TargetDatabaseName "$($db.name)_EXP" -Confirm:$false -Verbose

VERBOSE: Validate the Rubrik token exists
VERBOSE: Found a Rubrik token for authentication
VERBOSE: Gather API Data for Export-RubrikDatabase
VERBOSE: Load API data for
VERBOSE: Description: Export MSSQL Database from Rubrik to Destination Instance.
VERBOSE: Build the URI
VERBOSE: URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export
VERBOSE: Build the query parameters for
VERBOSE: Query = Found limit flag
VERBOSE: URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999
VERBOSE: Build the body
VERBOSE: Body = {
    "targetFilePaths":  [
                            {
                                "logicalName":  "BIZOPS_DB",
                                "exportPath":  "D:\\Rubrik_Exp\\"
                            },
                            {
                                "logicalName":  "BIZOPS_DB_log",
                                "exportPath":  "D:\\Rubrik_Exp\\"
                            }
                        ],
    "recoveryPoint":  [
                          {
                              "timestampMs":<PHONE_NUMBER>000
                          }
                      ],
    "finishRecovery":  true,
    "targetDatabaseName":  "BIZOPS_DB_EXP",
    "targetInstanceId":  "MssqlInstance:::e6ee8ee0-270c-4b52-ad76-aad69b00676f"
}
VERBOSE: Performing the operation "Export MSSQL Database from Rubrik to Destination Instance." on target "MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2".
VERBOSE: Submitting the request
VERBOSE: POST https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999 with -1-byte payload
VERBOSE: received 356-byte response of content type application/json; charset=UTF-8
VERBOSE: Formatting return value
VERBOSE: Filter the results

(this is my polling of the async request)
RUNNING
... 10 second delays
RUNNING
SUCCEEDED

Current Behavior
With the target database dropped from the target SQL server several minutes later and multiple tries:
 Export-RubrikDatabase -id $db.id -RecoveryDateTime $backupToRecover -FinishRecovery -TargetInstanceId $targetInstanceID -TargetFilePaths $targetfiles -TargetDatabaseName "$($db.name)_EXP" -Confirm:$false -Verbose
Validate the Rubrik token exists
Found a Rubrik token for authentication
Gather API Data for Export-RubrikDatabase
Load API data for
Description: Export MSSQL Database from Rubrik to Destination Instance.
Build the URI
URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export
Build the query parameters for
Query = Found limit flag
URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999
Build the body
Body = {
    "targetFilePaths":  [
                            {
                                "logicalName":  "BIZOPS_DB",
                                "exportPath":  "D:\\Rubrik_Exp\\"
                            },
                            {
                                "logicalName":  "BIZOPS_DB_log",
                                "exportPath":  "D:\\Rubrik_Exp\\"
                            }
                        ],
    "recoveryPoint":  [
                          {
                              "timestampMs":<PHONE_NUMBER>000
                          }
                      ],
    "finishRecovery":  true,
    "targetDatabaseName":  "BIZOPS_DB_EXP",
    "targetInstanceId":  "MssqlInstance:::e6ee8ee0-270c-4b52-ad76-aad69b00676f"
}
Performing the operation "Export MSSQL Database from Rubrik to Destination Instance." on target "MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2".
Submitting the request
POST https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999 with -1-byte payload
The remote server returned an error: (422) Unprocessable Entity.
FAILED {"message":"Rubrik backup service at 'CSDWQ-BIZSDB1.somedomain.com' returned error: Failed to get disk free space for volume , LastError=The parameter is incorrect.\r\n
(87)","id":"Host.BackupAgentError","params":{"${host}":"CSDWQ-BIZSDB1.somedomain.com","${error}":"Failed to get disk free space for volume , LastError=The parameter is incorrect.\r\n(87)"}}

Failure Information (for bugs)
Verbose examples of success and failure in the examples
Steps to Reproduce

Set the variables required for an export of a database to an alternate SQL server with alternate file paths.
Execute the Export-RubrikDatabase command
Sometimes it works, other times you get: "The remote server returned an error: (422) Unprocessable Entity.", which seems like a rejection of the request by Rubrik, but I don't know what 422 means. I'm not sure what the "Failed to get disk free space for volume" message is about, it seems generic. In all cases the target volume/path has more than 10x the needed space to contain the restored database files

Context
Something I've noticed is that the script might fail repeatedly for several tries, then if I close the powershell session and start a new session, a database that was just failing, suddenly works.

Rubrik PowerShell Module Version:  <IP_ADDRESS>
PowerShell Version: 5.1.14409
Operating System: Windows Server 2012R2 STD

Failure Logs
The SQL logs don't show anything when the failure occurs, no request made it that far. If this isn't a powershell module problem, then Rubrik support will have to examine the Rubrik logs to determine what is going wrong.

This seems to be a problem outside of the module and more with how the
Rubrik backup service is working:
"Rubrik backup service at 'CSDWQ-BIZSDB1.somedomain.com' returned error:
Failed to get disk free space for volume , LastError=The parameter is
incorrect."
Are you able to run the same export via the Rubrik GUI?
On Tue, Nov 21, 2017 at 9:03 AM, bmcmcm<EMAIL_ADDRESS>wrote:

Expected Behavior
With the target database dropped from the target SQL server:
Export-RubrikDatabase -id $db.id -RecoveryDateTime $backupToRecover -FinishRecovery -TargetInstanceId $targetInstanceID -TargetFilePaths $targetfiles -TargetDatabaseName "$($db.name)_EXP" -Confirm:$false -Verbose
VERBOSE: Validate the Rubrik token exists
VERBOSE: Found a Rubrik token for authentication
VERBOSE: Gather API Data for Export-RubrikDatabase
VERBOSE: Load API data for
VERBOSE: Description: Export MSSQL Database from Rubrik to Destination Instance.
VERBOSE: Build the URI
VERBOSE: URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export
VERBOSE: Build the query parameters for
VERBOSE: Query = Found limit flag
VERBOSE: URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999
VERBOSE: Build the body
VERBOSE: Body = {
"targetFilePaths":  [
{
"logicalName":  "BIZOPS_DB",
"exportPath":  "D:\Rubrik_Exp\"
},
{
"logicalName":  "BIZOPS_DB_log",
"exportPath":  "D:\Rubrik_Exp\"
}
],
"recoveryPoint":  [
{
"timestampMs":<PHONE_NUMBER>000
}
],
"finishRecovery":  true,
"targetDatabaseName":  "BIZOPS_DB_EXP",
"targetInstanceId":  "MssqlInstance:::e6ee8ee0-270c-4b52-ad76-aad69b00676f"
}
VERBOSE: Performing the operation "Export MSSQL Database from Rubrik to Destination Instance." on target "MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2".
VERBOSE: Submitting the request
VERBOSE: POST https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999 with -1-byte payload
VERBOSE: received 356-byte response of content type application/json; charset=UTF-8
VERBOSE: Formatting return value
VERBOSE: Filter the results
(this is my polling of the async request)
RUNNING
... 10 second delays
RUNNING
SUCCEEDED
Current Behavior
With the target database dropped from the target SQL server several
minutes later and multiple tries:
Export-RubrikDatabase -id $db.id -RecoveryDateTime $backupToRecover -FinishRecovery -TargetInstanceId $targetInstanceID -TargetFilePaths $targetfiles -TargetDatabaseName "$($db.name)_EXP" -Confirm:$false -Verbose
Validate the Rubrik token exists
Found a Rubrik token for authentication
Gather API Data for Export-RubrikDatabase
Load API data for
Description: Export MSSQL Database from Rubrik to Destination Instance.
Build the URI
URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export
Build the query parameters for
Query = Found limit flag
URI = https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999
Build the body
Body = {
"targetFilePaths":  [
{
"logicalName":  "BIZOPS_DB",
"exportPath":  "D:\Rubrik_Exp\"
},
{
"logicalName":  "BIZOPS_DB_log",
"exportPath":  "D:\Rubrik_Exp\"
}
],
"recoveryPoint":  [
{
"timestampMs":<PHONE_NUMBER>000
}
],
"finishRecovery":  true,
"targetDatabaseName":  "BIZOPS_DB_EXP",
"targetInstanceId":  "MssqlInstance:::e6ee8ee0-270c-4b52-ad76-aad69b00676f"
}
Performing the operation "Export MSSQL Database from Rubrik to Destination Instance." on target "MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2".
Submitting the request
POST https://rubrikprod.somedomain.com/api/v1/mssql/db/MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2/export?limit=9999 with -1-byte payload
The remote server returned an error: (422) Unprocessable Entity.
FAILED {"message":"Rubrik backup service at 'CSDWQ-BIZSDB1.somedomain.com' returned error: Failed to get disk free space for volume , LastError=The parameter is incorrect.\r\n
(87)","id":"Host.BackupAgentError","params":{"${host}":"CSDWQ-BIZSDB1.somedomain.com","${error}":"Failed to get disk free space for volume , LastError=The parameter is incorrect.\r\n(87)"}}
Failure Information (for bugs)
Verbose examples of success and failure in the examples
Steps to Reproduce

Set the variables required for an export of a database to an
alternate SQL server with alternate file paths.
Execute the Export-RubrikDatabase command
Sometimes it works, other times you get: "The remote server
returned an error: (422) Unprocessable Entity.", which seems like a
rejection of the request by Rubrik, but I don't know what 422 means. I'm
not sure what the "Failed to get disk free space for volume" message is
about, it seems generic. In all cases the target volume/path has more than
10x the needed space to contain the restored database files

Context
Something I've noticed is that the script might fail repeatedly for
several tries, then if I close the powershell session and start a new
session, a database that was just failing, suddenly works.

Rubrik PowerShell Module Version: <IP_ADDRESS>
PowerShell Version: 5.1.14409
Operating System: Windows Server 2012R2 STD

Failure Logs
The SQL logs don't show anything when the failure occurs, no request made
it that far. If this isn't a powershell module problem, then Rubrik support
will have to examine the Rubrik logs to determine what is going wrong.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rubrikinc/PowerShell-Module/issues/141, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AHeAwzq5aonEaro2SvUkPRFh-5u6T7jSks5s4vRFgaJpZM4QmE91
.

--
-Mike F
T: @Mike_Fal
B: www.mikefal.net

For a single database the GUI or Powershell works fine, except that if I repeat the Powershell script it may fail. I guess I'll open a case with Rubrik, maybe the Rubrik logs will show what is going wrong.

Some further experimenting has shown that I was able to have a database that was failing to export copied to another source server and the Powershell script successfully exported that backup from the new server to the same target with the same target paths. The source databases were identically configured except for the source path drive letters, and directory names. Rubrik has an open case on this and so far no explanation for the inconsistency.

There now appears to be a missing parameter that is supported by the Rubrik API, but is not included witht he Powershell Export-RubrikDatabase command. Ho would I best implement "TargetLogFilePath" as seen below in a Powershell command:
id:  MssqlDatabase:::5fedd9a5-2f1a-42b8-9eab-e79151c20f83

{
     "recoveryPoint":  [
                          {
                              "timestampMs":<PHONE_NUMBER>000
                          }
                      ],
  "targetInstanceId": "MssqlInstance:::e6ee8ee0-270c-4b52-ad76-aad69b00676f",
  "targetDatabaseName": "SP_Reporting_EXP",
  **"targetLogFilePath": "D:\\Rubrik_Exp\\",**
  "targetFilePaths":  [
                            {
                                "logicalName":  "SP_Reporting",
                                "exportPath":  "D:\\Rubrik_Exp\\"
                           },
                            {
                                "logicalName":  "SP_Reporting_1",
                                "exportPath":  "D:\\Rubrik_Exp\\"
                            }
                        ],
  "finishRecovery": true,
  "maxDataStreams": 0
}

I attempted to modify Export-RubrikDatabase by adding:
	#Optional Target Log File Path  	[string]$TargetLogFilePath,
And
    Write-Verbose -Message "Build the body"     $body = @{       $resources.Body.targetInstanceId = $TargetInstanceId       $resources.Body.targetDatabaseName = $TargetDatabaseName       $resources.Body.targetLogFilePath = $TargetLogFilePath       $resources.Body.finishRecovery = $FinishRecovery.IsPresent
But I get this failure when trying to run it:
DBID: MssqlDatabase:::ad966ae6-2757-46b3-9954-67663bfe91a2
Recovery Date: 2017-12-06T06:21:51Z
TargetID: MssqlInstance:::e6ee8ee0-270c-4b52-ad76-aad69b00676f
System.Collections.DictionaryEntry System.Collections.DictionaryEntry System.Collections.DictionaryEntry System.Collections.DictionaryEntry
ExportName: BIZOPS_DB_EXP
Attempted restoration of BIZOPS_DB_EXP appears to have failed...
A parameter cannot be found that matches parameter name 'TargetLogFilePath'.

I came up with a hacky work-around using Invoke-RubrikRESTCall instead of trying to modify the module functions with TargetLogFilePath. I would like to understand Get-RubrikAPIData though. It seems like this ought to be dynamically generated to be adaptable to sudden changes in the API as new Rubrik versions are released. Could there be a way to generate $api by querying the Rubrik web instance for the information or is this impractical?
Just trying to modify the static Export-RubrikDatabase section of Get-RubrikAPIData with a TargetLogFilePath parameter seems to fail with an error about TargetLogFilePath being invalid. If I generate my own 'body' with the parameter included, it works OK (but the code looks messy by comparison).

Trying to make some time to review this. FYI, the targetDataFilePath and targetLogFilePath arguments are to support the Simple mode method for restores. I am looking to implement those arguments.
Something that was discovered recently was a bug with our restore and export process. If an export fails, can you check the sys.master_files entries for the failed restore and see if the logical file names and physical files names match? The way to handle this is to map ALL the files in the database (even ones you might not be moving) and it should work.
In the meantime, I will look at this a little more deeply and look to add the simple method arguments.

Simple method added with #140. File path issue was resolved with Rubrik 4.1.


feat(driver): SURF-266 - Launch a Selenium WebDriver Browser

I'll clean up the commit log in a bit, this is for @Droogans to look at.

Well, first off, the branch name definitely makes the commits fit the theme...what about getting this reviewed, and then pushing up a squashed version of this branch, WIP-squashed, and that'll get merged (and this closed)?

This has bits and pieces of several stories in it, so I wasn't planning on just merging it as a single commit, but if you want to. I guess.

It doesn't have to be one commit, but it would be helpful to have it grouped a little bit better than it is now.

That's actually why I said in the initial post that I planned on cleaning up the commit log 😺

To be fair, I haven't done it as quickly as I should have 😺


Refactorization to manage multiple contracts

During the playground phase of my contribution for the Aeternity hackathon, I found myself with two contracts soon. I realised, that the current CLI only generated a javascript contract wrapper at a time, overwriting the last generation.
This could be easily fixed by removing the line in DappScratch.writeWrapper which deleted the old dapp-scratch-wrapper folder, but I also found, that having more than one contract, the initialisation part for web3 and the account initialisation should not be part of the contract wrapper class in a scenario that manages more than one contract, so I separated the contracts from the initialisation part and introduced a manager class, that manages the account related initialisation and instantiates the contracts.

@tillkolter is the identity observer just for the Haello app?

@okwme well, I needed it for my scenario, because I wanted to be informed when the account is "identified" to query more identity specific details from the contract. I thought this kind of pattern might be helpful for others as well.


New version: IObit.DriverBooster <IP_ADDRESS>

[] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: https://github.com/microsoft/winget-pkgs/tree/master/manifests/i/IObit/DriverBooster/<IP_ADDRESS> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree


Implement Blazor wrapper for number-text column

Pull Request
🤨 Rationale
This adds Blazor support for the number-text column, which is part of #1011
👩💻 Implementation

Add Blazor component and tests for the number-text column following the pattern we've used for other table columns
Add number-text column to the example Blazor app

🧪 Testing

Added new unit tests
Manually verified that the example app behaves as expected

✅ Checklist

[ ] I have updated the project documentation to reflect my changes or determined no changes are needed.

@atmgrifter00, can you buddy this for me?


Memory leak in DRBG thread local code

Starting with commit 7caf122e717e79afcb986fe217e77a630b67bf4c
we have a very obscure memory leak:
./config enable-asan && make
ASAN_OPTIONS=fast_unwind_on_malloc=0 make test V=1
fails on all tests on the 70-range with:
=================================================================
==12163==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x2b911ee70468 in __interceptor_calloc ../../../../gcc-trunk/libsanitizer/asan/asan_malloc_linux.cc:95
    #1 0x2b91208e168f  (/lib/x86_64-linux-gnu/libdl.so.2+0x168f)
    #2 0x2b91208e110e in dlclose (/lib/x86_64-linux-gnu/libdl.so.2+0x110e)
    #3 0x2b911edc50ef in __interceptor_dlclose ../../../../gcc-trunk/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:5585
    #4 0x2b91202f6430 in dlfcn_unload crypto/dso/dso_dlfcn.c:151
    #5 0x2b91202f660f in DSO_free crypto/dso/dso_lib.c:78
    #6 0x2b91203935a0 in dynamic_data_ctx_free_func crypto/engine/eng_dyn.c:140
    #7 0x2b91203e4547 in CRYPTO_free_ex_data crypto/ex_data.c:353
    #8 0x2b91203947f5 in engine_free_util crypto/engine/eng_lib.c:98
    #9 0x2b9120395600 in engine_list_remove crypto/engine/eng_list.c:125
    #10 0x2b9120395600 in ENGINE_remove crypto/engine/eng_list.c:239
    #11 0x2b9120395724 in engine_list_cleanup crypto/engine/eng_list.c:38
    #12 0x2b91203943ad in engine_cleanup_cb_free crypto/engine/eng_lib.c:159
    #13 0x2b91204ba60d in OPENSSL_sk_pop_free crypto/stack/stack.c:363
    #14 0x2b912039495b in sk_ENGINE_CLEANUP_ITEM_pop_free crypto/engine/eng_int.h:58
    #15 0x2b912039495b in engine_cleanup_int crypto/engine/eng_lib.c:166
    #16 0x2b91203ecfa5 in OPENSSL_cleanup crypto/init.c:512
    #17 0x2b9120d441a8  (/lib/x86_64-linux-gnu/libc.so.6+0x3c1a8)
    #18 0x2b9120d441f4 in exit (/lib/x86_64-linux-gnu/libc.so.6+0x3c1f4)
    #19 0x41f9b4 in main apps/openssl.c:269
    #20 0x2b9120d29f44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
    #21 0x4202e8  (/home/ed/OPC/openssl/apps/openssl+0x4202e8)

SUMMARY: AddressSanitizer: 32 byte(s) leaked in 1 allocation(s).
exit code 256 from server process
Dubious, test returned 1 (wstat 256, 0x100)

disassembling /lib/x86_64-linux-gnu/libdl.so.2 on my computer gives the following:
    166a:       8b 3d 70 1a 20 00       mov    0x201a70(%rip),%edi        # 2030e0 <_dlfcn_hook+0x20>
    1670:       e8 8b f7 ff ff          callq  e00 <__pthread_getspecific@plt>
    1675:       48 85 c0                test   %rax,%rax
    1678:       48 89 c3                mov    %rax,%rbx
    167b:       0f 85 76 ff ff ff       jne    15f7 <dlerror+0x237>
    1681:       be 20 00 00 00          mov    $0x20,%esi
    1686:       bf 01 00 00 00          mov    $0x1,%edi
    168b:       e8 90 f7 ff ff          callq  e20 <calloc@plt>
    1690:       48 85 c0                test   %rax,%rax
    1693:       48 89 c3                mov    %rax,%rbx
    1696:       74 21                   je     16b9 <dlerror+0x2f9>
    1698:       48 83 3d 48 19 20 00    cmpq   $0x0,0x201948(%rip)        # 202fe8 <dlmopen+0x201688>
    169f:       00
    16a0:       0f 84 51 ff ff ff       je     15f7 <dlerror+0x237>
    16a6:       8b 3d 34 1a 20 00       mov    0x201a34(%rip),%edi        # 2030e0 <_dlfcn_hook+0x20>
    16ac:       48 89 c6                mov    %rax,%rsi
    16af:       e8 ec f7 ff ff          callq  ea0 <__pthread_setspecific@plt>
    16b4:       e9 3e ff ff ff          jmpq   15f7 <dlerror+0x237>

This might be a thread local object getting overwritten.

Hmm....
ASAN_OPTIONS=fast_unwind_on_malloc=0 LD_DEBUG=all make test TESTS=70 V=1
shows the reason why dlerror is called up is there is a dlsym lookup for an unknown symbol.
     13094:     symbol=swift_demangle;  lookup in file=../../apps/openssl [0]
     13094:     symbol=swift_demangle;  lookup in file=/home/ed/gnu/install/lib64/libasan.so.5 [0]
     13094:     symbol=swift_demangle;  lookup in file=../../util/../libssl.so.1.1 [0]
     13094:     symbol=swift_demangle;  lookup in file=../../util/../libcrypto.so.1.1 [0]
     13094:     symbol=swift_demangle;  lookup in file=/lib/x86_64-linux-gnu/libdl.so.2 [0]
     13094:     symbol=swift_demangle;  lookup in file=/lib/x86_64-linux-gnu/libpthread.so.0 [0]
     13094:   symbol=swift_demangle;  lookup in file=/lib/x86_64-linux-gnu/libc.so.6 [0]
     13094:     symbol=swift_demangle;  lookup in file=/lib/x86_64-linux-gnu/librt.so.1 [0]
     13094:     symbol=swift_demangle;  lookup in file=/home/ed/gnu/install/lib/../lib64/libstdc++.so.6 [0]
     13094:     symbol=swift_demangle;  lookup in file=/lib/x86_64-linux-gnu/libm.so.6 [0]
     13094:     symbol=swift_demangle;  lookup in file=/home/ed/gnu/install/lib/../lib64/libgcc_s.so.1 [0]
     13094:     symbol=swift_demangle;  lookup in file=/lib64/ld-linux-x86-64.so.2 [0]
     13094:     /home/ed/gnu/install/lib64/libasan.so.5: error: symbol lookup error: undefined symbol: swift_demangle (fatal)

and afterwards there is a memory leak in this process.

FYI: I am using gcc 6.4 and I'm seeing the same memory leak.
==9604==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f81f7b1c740 in calloc (/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libasan.so.3+0xc7740)
    #1 0x7f81f6d3b8fe  (/lib64/libdl.so.2+0x18fe)
    #2 0x7f81f6d3b16e in dlclose (/lib64/libdl.so.2+0x116e)
    #3 0x7f81f7a86e93 in __interceptor_dlclose (/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libasan.so.3+0x31e93)
    #4 0x7f81f7172e20 in dlfcn_unload crypto/dso/dso_dlfcn.c:151
    #5 0x7f81f7173102 in DSO_free crypto/dso/dso_lib.c:78
    #6 0x7f81f71e7dd0 in dynamic_data_ctx_free_func crypto/engine/eng_dyn.c:140
    #7 0x7f81f72357bc in CRYPTO_free_ex_data crypto/ex_data.c:354
    #8 0x7f81f71ea3a5 in engine_free_util crypto/engine/eng_lib.c:99
    #9 0x7f81f71eb243 in engine_list_remove crypto/engine/eng_list.c:125
    #10 0x7f81f71eb243 in ENGINE_remove crypto/engine/eng_list.c:239
    #11 0x7f81f71eb354 in engine_list_cleanup crypto/engine/eng_list.c:38
    #12 0x7f81f71e9f4d in engine_cleanup_cb_free crypto/engine/eng_lib.c:164
    #13 0x7f81f72f4d00 in OPENSSL_sk_pop_free crypto/stack/stack.c:368
    #14 0x7f81f71ea55b in sk_ENGINE_CLEANUP_ITEM_pop_free crypto/engine/eng_int.h:58
    #15 0x7f81f71ea55b in engine_cleanup_int crypto/engine/eng_lib.c:171
    #16 0x7f81f723d7ed in OPENSSL_cleanup crypto/init.c:543
    #17 0x7f81f67a334f  (/lib64/libc.so.6+0x3834f)
    #18 0x7f81f67a33b9 in exit (/lib64/libc.so.6+0x383b9)
    #19 0x5610bc05a44b in main apps/openssl.c:269
    #20 0x7f81f678b540 in __libc_start_main (/lib64/libc.so.6+0x20540)
    #21 0x5610bc05acb9 in _start (/home/msp/src/openssl/apps/openssl+0x9ecb9)

SUMMARY: AddressSanitizer: 32 byte(s) leaked in 1 allocation(s).
Waiting for s_server process to close: 9603...
exit code 256 from s_server process
Dubious, test returned 1 (wstat 256, 0x100)

But I didn't see the missing  swift_demangle symbol:
msp@msppc:~/src/openssl$ LD_DEBUG=all ASAN_OPTIONS=fast_unwind_on_malloc=0 make test TESTS=70 V=1 |& grep swift_demangle
msp@msppc:~/src/openssl$

Why are sure it is caused by 7caf122e717e79afcb986fe217e77a630b67bf4c? Did you do a bisection?

Wow, the libdl uses thread key 0.
I cant confirm that it is ever free'd, BUT it holds a memory from the system heap,
outside of asan's control.
Until the drbg code cleans it up accidentally.
Then the next dlclose allocates it again, but now from the asan heap.

PS: You can't believe how hard it is to debug inside libdl.so

You‘re a djinn 🧞♂, that’s for sure!

PS: You can't believe how hard it is to debug inside libdl.so

I can't believe you actually found that.

Note: The strange looking "🧞♂" is actually a djinn emoji,,,

Okay, unfortunately I don't fulfil no three wishes. ;-)

Okay, unfortunately I don't fulfil no three wishes. ;-)

Are you sure? It's just a matter of picking the right wishes.

Maybe 'magician' would have been the better word. Anyway, thanks for fixing our bugs ;-)


feat(test): test opendal fs engine on main cron with large dataset

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
This test use s3 source to generate a slightly larger amount of data, which will last about ten minutes and will cross the checkpoint. And it will run daily on main-cron.
part of https://github.com/risingwavelabs/risingwave/issues/8266

Checklist For Contributors

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] I have demonstrated that backward compatibility is not broken by breaking changes and created issues to track deprecated features to be removed in the future. (Please refer to the issue)
[ ] All checks passed in ./risedev check (or alias, ./risedev c)

Checklist For Reviewers

[ ] I have requested macro/micro-benchmarks as this PR can affect performance substantially, and the results are shown.

Documentation

[ ] My PR DOES NOT contain user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

The new test in main-cron passed: https://buildkite.com/risingwavelabs/main-cron/builds/390#0186fdc3-0408-46fe-a388-fe5d0cbc3ce8

The new test added by this pr in main-cron passed: https://buildkite.com/risingwavelabs/main-cron/builds/390#0186fdc3-0408-46fe-a388-fe5d0cbc3ce8

Another test failed though, but it seems to also fail on main-cron a while ago
[cargo-make] INFO - Execute Command: "sqllogictest" "-p" "4566" "-d" "dev" "e2e_test/backup_restore/tpch_snapshot_drop.slt"
--
  | e2e_test/backup_restore/tpch_snapshot_drop.slt               .. [BEGIN]
  | \| e2e_test/backup_restore/../tpch/drop_tables.slt.part         .. [OK] in 41 ms
  | [END] e2e_test/backup_restore/tpch_snapshot_drop.slt         .. [OK] in 73 ms
  | [cargo-make] INFO - ==================Time Summary==================
  | [cargo-make] INFO - [Setup Env]:                46.53%     0.64 seconds
  | [cargo-make] INFO - [Setup Env - Rust]:         46.38%     0.63 seconds
  | [cargo-make] INFO - slt:                        5.63%      0.08 seconds
  | [cargo-make] INFO - [Load Makefiles]:           1.10%      0.01 seconds
  | [cargo-make] INFO - warn-on-missing-tools:      0.29%      0.00 seconds
  | [cargo-make] INFO - [Setup Env - Vars]:         0.07%      0.00 seconds
  | [cargo-make] INFO - [Setup Env - Duckscript]:   0.00%      0.00 seconds
  | [cargo-make] INFO - [Setup Env - Crate Info]:   0.00%      0.00 seconds
  | [cargo-make] INFO - [Setup Env - Git]:          0.00%      0.00 seconds
  | [cargo-make] INFO - [Setup Env - CI]:           0.00%      0.00 seconds
  | [cargo-make] INFO - [Setup Env - Project]:      0.00%      0.00 seconds
  | [cargo-make] INFO - ================================================
  | [cargo-make] INFO - Build Done in 0.73 seconds.
  | launching risectl
  | create snapshot 3 succeeded
  | try to restore snapshot 4
  | Error: Other(snapshot id 4 not found
  |
  | Stack backtrace:
  | 0: anyhow::error::<impl anyhow::Error>::msg
  | at ./.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.69/src/error.rs:83:36
  | 1: risingwave_meta::backup_restore::restore::restore_impl::{{closure}}
  | at ./src/meta/src/backup_restore/restore.rs:163:39
  | 2: risingwave_meta::backup_restore::restore::restore::{{closure}}
  | at ./src/meta/src/backup_restore/restore.rs:216:48


Release imap-flow 0.1.0

Check for warnings
Does everything still compile?
Does the proxy still work?
Rename imap-flow

There is already a well established ImapFlow

Close (put relevant issues here)
Check what is uploaded to crates.io (e.g., exclude justfile?)
Polish README for a release

#180 (?)
#170
#168
#147
#105
#8 (activate after release)

FYI: @soywod. Current plan is to release imap-flow soonish (hopefully end of this week.)

Does it includes other workspaces like task, tag-generator etc? Regarding tasks, any news if they should move to a dedicated repo (with the client) or not?

imap-tasks not. Hm... tag-generator I don't know. I like how small and helpful it is. Any suggesstion? proxy should eventually get its own repository as it's too good to be hidden here :-)

You inlined imap-tasks already in imap-client, right? Thus, I propose to remove it here quickly :-)

I initiated sth so I could close the PR and replace crate inside email-lib, nothing definitive. It depends on your decision with @jakoschiko. Let me know :slightly_smiling_face:

I feel like tag-generator should be inlined into imap-types. Not ideal but the best option I see. Other suggesstions?

Does not fit either imap-types nor imap-codec, and it looks "too small" to fit in a dedicated repository. Mmh. What about a imap-utils? The proxy could even fit there?

Looks like there is not so much remaining except for:

https://github.com/duesee/imap-flow/issues/199#issuecomment-2140931484
imap-{types,codec} release

Do you confirm?

Yes 💪🏻

https://crates.io/crates/imap-next 🎉


[IOTDB-1511] Rename Template Enum

Description
Based on pr #3656, rename enum SET_DEVICE_TEMPLATE and SET_USING_DEVICE_TEMPLATE to SET_SCHEMA_TEMPLATE adn SET_USING_SCHEMA_TEMPLATE. Only rename operation, no logic change.

This PR has:

[ ] been self-reviewed.

[ ] concurrent read
[ ] concurrent write
[ ] concurrent read and write

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods.
[ ] added or updated version, license, or notice information
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious
for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold
for code coverage.
[ ] added integration tests.
[ ] been tested in a test IoTDB cluster.

Key changed/added classes (or packages if there are too many classes) in this PR

Coverage increased (+0.001%) to 68.28% when pulling c4e719f9f0863259750856b39581a5bb61680106 on zyk990424:RenameTemplatePlan into 319674d26757b7bcd501dddb7ea63387367e02e6 on apache:master.


Stop saying all container errors occured in win32

ContainerError always reported that failures occured in win32. This behaviour is now the same as ProcessError.
Signed-off-by: Darren Stahl<EMAIL_ADDRESS>

Can we say failed in a Windows system call or something instead? The reason I originally put that in is the chances are (mostly) that if a Win32 call fails, it's more obvious where the cause is likely to be. Rather than "oh docker failed, so it MUST be a docker issue".

Updated to be about failing in a Windows system call, also fixed some more differences between Container and Process errors.

LGTM.


How to zoom the map after initialising it

Issue description
I would like to change the zoom of map after its initialisation. Kindly let me know how to do it.
Using latest nagular2 and map version.
in the html passing zoom as [zoom]="zoom" and this value is given in typescript.
I am trying to change this zoom value after map is initialised but it is not changing.

From the description, we cannot do much. Please create a reproduction so we can help you. For now, I'll close this since it's probably not an issue, but feel free to reopen with a reproduction if you still face this problem. Thanks!


Track 'Remix'

Vendor Site - https://remix.run/
Example Site - https://remix.run/
Category - Web frameworks
Detection - Find a script tag containing window.__remixContext

Hey there, сouldn't find examples.

Hey there, сouldn't find examples.

Yea its a pretty new framework, here is an example i could find (for now) https://remix-jokes.lol/
I will post more if i'll find more.


Unable to create project. All fields disappear

What happened?
Installed the Projects plugin.  Clicked to create new project.  After adding fields in, one of two things occur:

If I switch away from the project, when I come back to it, all the fields are gone
I also turned on 'Enable Rich Text Formatting' while creating a field and that caused all the fields to disappear
If I have created the fields and attempt to create a note, after prompting for the note name there is a new row that appears in the table view, but it is empty. it doesn't contain the note name.

The only thing that is saved is the project name and the views that I have selected.  Everything else is gone.
What did you expect to happen?
I would expect this to work. if I use the demo project, I'm able to add notes to that successfully. I cannot edit the demo itself as going into any of the field configuration says that changing the field is not yet possible
How can we reproduce it (as minimally and precisely as possible)?
I have no clue as I'm sure this isn't expected behavior.  What I haven't done is disable all other plugins that I have installed to see if there's a conflict there.
Anything else we need to know?
No response
Plugin version
1.17.2
Obsidian version
1.5.12
OS
macOS

I've turned off all community plugins except for the following:
Projects
Style Settings
Templater
Restricted mode is OFF
Core plugins disabled are:
Daily Notes
Outline
Publish
Random Note
Slides
Sync
Templates
Unique Note Creator
Word Count

Attempted to switch back to the Default theme and disable ALL community plugins except for Projects. Still seeing the same behavior

Just tried creating a new vault with all defaults and just added the Projects plugin. Still the same behavior.  Something isn't right here.

Oh that should be an edge case. Without existing note the added field won’t persist. Could you please add a note first (via Projects table row or the Obsidian / file system, both are expected to work), then adding fields?

I've tried adding a note.  If you use the demo project, I can click the 'Add Note' button and the box asking for a note name comes up and once I enter a note name and click ok, the note name appears in the table.
When I'm trying to create a note in the project I'm creating a new blank row is created but it doesn't contain the name of the note. There is nothing there.

Seems like a pretty likely edge case as there is nothing in the documentation noting that you cannot create the project structure without adding a note.

Finally was able to get this working. The key is to create the folder location first.  My thought was that setting the project folder in the project creation dialog would create it. It does not.  I had to create the folder hierarchy first, then SELECT it from the list of available directories.

Yeah there's a need to enhance the onboarding / guiding docs. As for the request on creating new folder if it is not yet created upon building a new project, this is logged in #663.


Fix zcl_abapgit_frontend_services xml  - new format

@sbcgua

ah yeah ... had to rebase the code ... thanks ... is this new class xml stable enough ? I guess it will change all my other repositories ? =))

so far its been stable
yeah, it changes all existing CLAS xml files


Microsoft Edge adding dot to end of spoken word

When trying out the Annyang website on Edge, when you say something it automatically adds a dot to then end of the spoken word/sentence.  Because of this, the library can't find a match.

I'll take this if you'd like :)

That would be great! Thank you.

Hi.. I tested the Demo page, and the issue still exists. I have a website and use the H5P plugin (which is using the Annyang library), and I really hope this issue can be fixed. Sorry for bumping up this thread.


Minor Autofill UI updates

Task/Issue URL: https://app.asana.com/0/0/1205435116192702/f, https://app.asana.com/0/0/1205495150811753/f, https://app.asana.com/0/0/1205495150811762/f, https://app.asana.com/0/0/1205533338187716/f
Tech Design URL:
CC:
Description:
Copy and layout updates resulting from "on by default" PFR

Steps to test this PR:
Note: Autofill is intentionally (and temporarily) enabled by default for the purposes of the Ship Review and I'll be reverting before merging, which will also fix this failing unit test AppUserDefaultsTests.testDefaultAutofillStateIsFalse()

In both empty state and when logins are present, confirm the label "Logins are stored securely on your device" is always visible as the section footer and screen looks similar to the figma design (note there was one change requested from the design review -> the label is now indented) :

In the Autofill prompts, confirm the max width of the content is now restricted to 480px especially in iPhone landscape and on iPad as per figma:

In the Save Logins prompt, confirm the body copy is now Logins are stored securely on your device in the Logins menu
In the Password Generation prompt, confirm the title is now Use a strong password from DuckDuckGo?, the body is now Passwords are stored securely on your device in the Logins menu. and the CTA copy is Use Strong Password
Confirm the prompt to disable Autofill now triggers after 2 instead of 3 dismisses of the Save Login prompt (across 2 different sites)

Copy Testing:

[ ] Use of correct apostrophes in new copy, ie ’ rather than '

Orientation Testing:

[ ] Portrait
[ ] Landscape

Device Testing:

[ ] iPhone SE (1st Gen)
[ ] iPhone 8
[ ] iPhone X
[ ] iPhone 14 Pro
[ ] iPad

OS Testing:

[ ] iOS 14
[ ] iOS 15
[ ] iOS 16

Theme Testing:

[ ] Light theme
[ ] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template

@THISISDINOSAUR I just realised I forget to answer this question

"In the Save Logins prompt, confirm the body copy is now Logins are stored securely on your device in the Logins menu"
Just to confirm this should only be for new users?

That should be for all users (we don't differentiate at all between new and existing users anymore in this prompt)


The root cause for this bug is inconsistent behaviour of operator.itemgetter when invoked for single-vs-multiple args (active variables here). Working on a fix.


Design System > Across application drop down issue, as data not visible in drop down

Fixed on staging


Option to hide the title / desc once the quiz starts

https://wordpress.org/support/topic/hide-title-and-description-on-quiz-start?replies=2

Maybe you simply can put a class to the main slickQuiz container after it started. "quiz_started".

If you are comfortable modifying the source code it's a pretty simple change:
add the following to the startQuiz function:
$quizName.fadeOut(300, function (){});
$quizHeader.fadeOut(300, function (){});


IOS (Swift) Sample with new speech SDK

Please update sample for iOS (swift) with new speech SDK.
This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [x] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Swift/MacOS/XCode

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

There aren't any Swift bindings of the SDK yet, although they are being planned for one of the next relases. However, iOS bindings for Objective-C are available.

Hi,
We are planning to use the Objective-C SDK in our Swift based application via the Bridging Header, but we are facing an issue when we try to leverage the Microphone Streaming as there's no valid sample app to refer to, although the quickstart example that you have mentioned in the reply only takes a file input (wav).
Is the integration of Objective-C SDK via Bridging Header and using Microphone Stream to perform Speech to Text not possible currently?
If it's possible would you mind sharing with us a sample for the same?

Could you give some details on the issue you are encountering?
We will update the quickstart article to cover usage of the microphone soon.

Thanks @chlandsi. We are looking for microphone specific examples (ObjC/Swift) Please let us know once updated.

Any ETA on this microphone specific example's availability?

@rohitgadia it should be ready by next week or so. In Objective-C, this snippet can be adapted to do speech recognition from the microphone:
    SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion];
    if (!speechConfig) {
        NSLog(@"Could not load speech config");
        return;
    }

    SPXSpeechRecognizer* speechRecognizer = [[SPXSpeechRecognizer alloc] init:speechConfig];
    if (!speechRecognizer) {
        NSLog(@"Could not create speech recognizer");
        return;
    }

The updated quickstart tutorial for Objective-C is now available. Note that we also released a new version of the SDK (1.0.1) available from https://aka.ms/csspeech/iosbinary, which includes a few fixes.
Closing this issue -- if there are problems using the sample, please open a new one.


TECH-336: Migrate Button component to TS and other refactors

JIRA

https://jira.jahia.org/browse/TECH-336

I don’t understand the value to have the type definition in a shared-types folder instead of the component folder?

Initially, I thought shared types should be a level higher to avoid dependency between components but, after thinking about it more, since dependencies already exist and because our dist has plain javascript as well now (not just bundled/minified/etc), I think it's okay to move them back to the component folders. I'll update the PR.

I don’t understand the value to have the type definition in a shared-types folder instead of the component folder?

Initially, I thought shared types should be a level higher to avoid dependency between components but, after thinking about it more, since dependencies already exist and because our dist has plain javascript as well now (not just bundled/minified/etc), I think it's okay to move them back to the component folders. I'll update the PR.


add npm installation and usage instructions

@dominicbarnes any news on this? Can you merge?

Thanks @dominicbarnes


Support canceling requests of skipped pages

When a user scroll the list really quickly, this component should skip loading the intermediate pages from server to improve performance.

This would be very helpful. I just got a good way through an implementation of something using this and realized this isn't gonna work for our needs without that. 🤦♂
That'll show me for not going through all the issues of any third-party component I might need to use.


Arrow Placement is Inconsistent

Windows 10, Chrome
https://silasreinagel.github.io/index.html
is inconsistent with the last page which is
https://silasreinagel.github.io/page8/

@timeracers Bug accepted. Payment sent.


[BUG] JSQLParser fetch next statement can't support name parameter parser

Failing SQL Feature:
fetch next statement can't support name parameter parser
SQL Example:
SELECT table_schema
FROM information_schema.tables
fetch next :variable rows only;

Software Information:

JSqlParser version : 4.6
Database : Oracle

Greetings.
https://jsqlparser.github.io/JSqlParser/syntax.html#fetch
Good catch, it seems to support SimpleParameter only -- which is a mistake of course.
I will correct it, thanks for reporting.

thank you for the quick response
Can you give me an estimate of how long it will take to fix the bug?

I'll do that tomorrow.


Add Fortran support

Adds support for the language-fortran package via gfortran. Satisfies #777.

Shipped in 3.8.0 (and 3.8.1) :ship:


How to configure using videojs.plugin instead of data-setup

data-setup='{
  "plugins": {
  "vastClient": {
    "adTagUrl": "http://pubads.g.doubleclick.net/gampad/ads?env=....",
    "adCancelTimeout": 5000,
    "adsEnabled": true
    }
  }
}

The video tag with the above data-setup work fine to play the ad.
But if i remove the data-setup and using the ads-setup plugin configuration  wouldn't  play the ad
videojs.plugin('ads-setup', function (opts) {
var player = this;
var adsCancelTimeout = 3000;
var vastAd = player.vastClient({
  //Media tag URL
  adTagUrl: "http://pubads.g.doubleclick.net/gampad/ads?env=....",
  playAdAlways: true,
  //Note: As requested we set the preroll timeout at the same place than the adsCancelTimeout
  adCancelTimeout: adsCancelTimeout,
  adsEnabled: !!options.adsEnabled
});

});
Instead of data-setup i need pass the adTagUrl dynamically in videojs.plugin . If i remove data-setup the ad was not playing only the video is playing at the moment. Documentation is not clear. Please help to solve this issue.

This might be a bit more helpful
var player = videojs("video",{
	plugins: {
		"vastClient": {
			"adTagUrl": "http://pubads.g.doubleclick.net/gampad/ads?env=....",
			"adCancelTimeout": 5000,
			"adsEnabled": true
		}
	}
})


How do I remove the lettering?

Hi. Please tell me how to remove "Server: game.brawlstarsgame.com (PROD) via rmnet_data2
latencyTestResults:".
Interferes, very long text reaches the middle of the screen and covers the brawler.
thx

that's done with the apk and i do this for credit and to know some info


Finalize Mighty game environment (WIP)

Finalize Mighty game environment and integrate to seoulai gym.

Currently, it is assumed that the agent runs without exploiting the gym. If the agent wants to see all the information of the other players, the agent can do it.
I think that it is not necessary for this version to prevent all possible exploits. I think it is necessary only at a point when I need to verify the performance of agent created by another developer without reviewing its code.
In the next version, I will add several logic that blocks the exploits at the part of the pass call, and use the verification method such as is_valid_card.

Thank you very much for your support. 💯


Added function with feedback when DEFAULT profile does not exist

Description

Created a function that verifies that the profile_config contains data before continuing, if not it will raise an exception detailing why it failed
Related Issue

https://github.com/Nike-Inc/gimme-aws-creds/issues/265
Motivation and Context

Provides better feedback to end users with customized configs that may have removed or renamed the [DEFAULT] profile, which can cause unexpected behavior
How Has This Been Tested?

modified config to not contain [DEFAULT] profile (replaced with parent)
ran gimme-aws-creds --action-list-profiles
received new error
ran gimme-aws-creds --action-list-profiles -p fake
received 'Configuration profile not found! Use the --action-configure flag to generate the profile.'
ran gimme-aws-creds --action-list-profiles -p parent
recieved list of profiles
created and ran unitTest test_fail_if_profile_not_found, which passed

Screenshots (if appropriate):
Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation. (not sure, might be good to call out that 'DEFAULT' is a required profile)
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have added tests to cover my changes.
[X] All new and existing tests passed.

Thanks!


Security vulnerabilities in sample app

Fixes #12886

System.Security.Cryptography.Xml taken to 4.4.2 per CVE-2018-0764 and CVE-2018-0765.
Sample app confirmed running after this update.


User Story

User Story

As a user, I should be able to register for a SWGEmu server via Citadel and then log in to the game server with the newly registered account.

Our first goal and proof of concept for Citadel will be to build a web registration interface for a SWGEmu server. It will allow a user submit a form that includes their desired username, email and password. Once the form is submitted, the user will be added to the server's database. The user can then launch SWGEmu and log in to the server with their new account.
Our focus for this first feature will be purely on functionality, with little to no styling.

Build Tasks:

[ ] Integrate the existing SWGEmu user schema into a Rails model
[ ] Create an accounts_controller to handle accounts related routes and actions
[ ] Create registration route with an associated view and registration form partial
[ ] Define the registration actions and logic to save a user to the database

QA/Testing Tasks:

[ ] Successfully register a new account via Citadel
[ ] Successfully log in to the connected SWGEmu server with the new account created by Citadel

➤ James McLean commented:
Test comment from Jira

Complete with #24 ?


MinimumInteritemSpacing not working in sectionController

New issue checklist

[X] I have reviewed the README and documentation
[X] I have searched existing issues and this is not a duplicate

General information

IGListKit version: 3.1.1
iOS version(s): 11.01
CocoaPods/Carthage version: -
Xcode version: 9
Devices/Simulators affected: All devices
Reproducible in the demo project? (Yes/No): No
Related issues:

ISSUE
I am not shure if i have misunderstood how the minimumInterItemSpacing works on the UICollectionViewFlowLayoutbut I am having a problem with it not changing when I set it inside a section controller.
I have created a custom FlowLayout, where i override the layoutAttributesForElements function.
class DashboardCustomFlowLayout : UICollectionViewFlowLayout {

    override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
        guard let superAttributes = super.layoutAttributesForElements(in: rect) else { return nil }

        let leftPadding: CGFloat = 0
        let interItemSpacing : CGFloat = minimumInteritemSpacing

       ______MORE CODE_____
      ....
      ....

The problem is that even if i set minimumInteritemSpacing = 32 inside the section controller, it is always equal to 10 inside off the layoutAttributesForElementsfunction. But my impression is that each section can have its own minimumInteritemSpacingvalue.
SectionController
class DashboardMeasurementSectionController: DashboardSectionController {
    override init() {
        super.init()
        self.inset = UIEdgeInsets(top: 80.0, left: 0, bottom: 0, right: 0)
        self.minimumInteritemSpacing = 32.0
    }
       ______MORE CODE_____
      ....
      ....

ViewController
DashboardCustomFlowLayout *layout = [[DashboardCustomFlowLayout alloc] init];
    UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];

@aleksanderaleksic when you do
let interItemSpacing : CGFloat = minimumInteritemSpacing

You're accessing the value on the layout itself and not the response from the delegate. If you're going to subclass the flow layout, you need to do something like this to ask the delegate for the item spacing at each section:
let interItemSpacing: CGFloat
if let delegate = collectionView?.delegate as? UICollectionViewDelegateFlowLayout {
  interItemSpacing = delegate.collectionView(collectionView, layout: collectionView?.collectionViewLayout, minimumInteritemSpacingForSectionAt: indexPath.section)
} else {
  interItemSpacing = 0
}

thanks @rnystrom , that works for me.


Can't figure out how to install modules please help

I have tried to follow the big number example but I can't get it to work when i require() in my js code.
I used $npm install bignumber.js
This creates a node_modules folder in my root folder, but when i try to use var BigNumber = require("bignumber.js");
I get the following  error:
E/JSEXCEPTION: Unhandled exception: Error: java.lang.reflect.InvocationTargetException
service.js:2
var BigNumber = require('bignumber.js')
^

this repo seems not maintain anymore


[IBCDPE-416] - Fixes/Re-Writes Tests for utils.py

This PR implements new and improved testing, more detailed docstrings, and improved error handling for utils.py. For error handling, yaml file test cases were added to specifically trigger yaml.parser.ParserError's and yaml.scanner.ScannerError's in order to test the handling of these error types.

Something in my tests is causing them to fail during CI, though they are passing locally, I converted this PR to a draft while I fix the problem.

🚀 Excellent!


Perform root-finding to tune the final step of an integration with a DiscreteTerminatingEvent

A common feature in ODE solvers that feature event handling (e.g. scipy, DifferentialEquations.jl) is a root finding step that ensures the final step of the integration is placed on (or within tolerance, at least) the surface defined by the event. However, in Diffrax the integration is simply cut off after this boundary, placing a point wherever that happened to be.
Is this a planned feature? It would be very useful, especially in cases such as mine where having this finishing point finely resolved in time is very important.
edit: adding a plot to illustrate what I mean

So this is the reason why the currently-supported events are referred to as "discrete" events.
"Continuous" events are a planned feature. If this is a priority for then it's one that I'd be happy to accept a PR on. Probably the best thing to do would be to rename DiscreteTerminatingEvent -> TerminatingEvent and have it accept an optional nonlinear solver argument; if passed it would try to find the exact termination time.

So this is the reason why the currently-supported events are referred to as "discrete" events.
"Continuous" events are a planned feature. If this is a priority for then it's one that I'd be happy to accept a PR on. Probably the best thing to do would be to rename DiscreteTerminatingEvent -> TerminatingEvent and have it accept an optional nonlinear solver argument; if passed it would try to find the exact termination time.

Hi Patrick,
I really like diffrax and am extensively testing it these days. I also encountered the same issue that the state upon event happening is not exact. Before, I used the odeint_event in torchdiffeq, where the event state is exact and the derivative wrt. input parameters is also exact (using methods from this paper). As I am switching to jax gradually, I am wondering if similar functionality as odeint_event in torchdiffeq is a future plan of diffrax?

Yes, it's a future plan.

Thank you for your great library. I am very interested by this feature. Do you have plan to implement it on near future?
I implement a very simple version to find the boundary thanks to a binary search using the interpolation method.  I am very new on jax and diffrax and I know its not the best approach but if it could help someone:
    def f(t, x, args):
        y = x
        return y

    terms = diffrax.ODETerm(f)
    t0 = 0.0
    t1 = 1000
    y0 = jnp.array([1.0])
    dt0 = 0.0002
    saveat = diffrax.SaveAt(dense=True, t1=True)

    solver = diffrax.Kvaerno5()
    stepsize_controller = diffrax.PIDController(rtol=1e-8, atol=1e-8)  # rtol=1e-8, atol=1e-8

    class TerminatingEvent:

        def __init__(self, fun):
            self._fun = fun
            self.last_t_before_threshold = 0.0
            self.last_t_after_threshold = 0.0

        def set_last_t_before_threshold(self,last_t_before_threshold):
            self.last_t_before_threshold = last_t_before_threshold

        def set_last_t_after_threshold(self,last_t_after_threshold):
            self.last_t_after_threshold = last_t_after_threshold

        def fun(self, state, **kwargs):
            def false_fn():
                jax.experimental.io_callback(self.set_last_t_before_threshold, None, state.tprev)
                return False

            def true_fn():
                jax.experimental.io_callback(self.set_last_t_after_threshold, None, state.tprev)
                return True

            return jax.lax.cond(self._fun(state.y), true_fn, false_fn)

        def search_optimal_t(self, interpolation):
            def cond(state):
                low, high = state
                midpoint = 0.5 * (low + high)
                return (low < midpoint) & (midpoint < high)

            def body(state):
                low, high = state
                midpoint = 0.5 * (low + high)
                state = interpolation.evaluate(midpoint)
                result = self._fun(state)
                low = jnp.where(result, low, midpoint)
                high = jnp.where(result, midpoint, high)
                return (low, high)

            low_result, high_result = jax.lax.while_loop(cond, body, (self.last_t_before_threshold, self.last_t_after_threshold))
            solution = (low_result + high_result)/2.0
            return solution

    terminating_event = TerminatingEvent(lambda y: y[0] > 2.0)
    sol = diffrax.diffeqsolve(
        terms,
        solver,
        t0,
        t1,
        dt0,
        y0,
        saveat=saveat,
        stepsize_controller=stepsize_controller,
        discrete_terminating_event=diffrax.DiscreteTerminatingEvent(terminating_event.fun),
        max_steps=100000
    )
    print("Times interval", terminating_event.last_t_before_threshold, terminating_event.last_t_after_threshold)
    result = terminating_event.search_optimal_t(sol.interpolation)
    print("computed result",result)
    print("expected result", jnp.log(2.0))
    print("error",jnp.abs(result-jnp.log(2.0)))

    ## Times interval 0.6906340910469938 0.8243209092563926
    ## computed result 0.6931471700829934
    ## expected result 0.6931471805599453
    ## error 1.047695186162656e-08

One of the issue of this implementation, is that require the dense=True of SaveAt which require to save a lot of state. It's possible to avoid the need to save the whole domain by first computed the diffeqsolve with dense=False and after that call again the diffeqsolve on the interval (terminating_event.last_t_before_threshold, terminating_event.last_t_after_threshold) with dense=True.

It looks like you have a solution that works well for your case. I have a similar situation, found a different solution and am posting it here just in case someone is interested.
Basically, I have a vector field of the form d/dt [x, v] = [xdot, vdot], where vdot happens to always be positive. The goal is to integrate up to exactly when v hits some vmax, regardless of the value of t there. To do this I perform a change of variables, appending the trivial d/dt t = 1 to the original dynamics just to keep track of everything. Then I can just scale the vector field such that the new independent variable is v, giving us:
d/dv [x, v, t] = [xdot / vdot, vdot / vdot = 1, 1 / vdot]
obviously in this new form we have vdot = 1, so we may consider this our new independent variable (confusingly still named ts by diffrax). So I remove v from the state, and solve for [x, t] as a function of v. This makes it trivial to specify vmax as the integration boundary and we know its exact final value, without any kind of nonlinear solving required! (although granted with the additional requirement that the variable related to the termination event is monotonous). Also, be careful that the change of variables does not mess up the solution accuracy -- especially if vdot is small at some points or changes quickly this is a risk. In my case though the standard adaptive works wonderfully.


Added EKS-D 1.26 dev release 1

Issue #, if available:
Description of changes:

Initial dev release of EKS-D 1.26

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/test cloud-provider-vsphere-tooling-presubmit

/test flux-tooling-presubmit


Hardcode Conda environment path

The previous way of passing CONDA_ENVIRONMENT_PATH from CMake to C++ didn't work correctly. I'm changing this to hardcode the path. I don't suspect this path to change anyway. If it changes, however, it will be an easy error to resolve.

CI MESSAGE: [5291228]: BUILD STARTED

CI MESSAGE: [5291228]: BUILD PASSED


New sample script: Bulk delete SharePoint list items in batches

Docs

Author
Mathew Yarlett

Original Post
Inspired from this article

Description
Bulk deleting items from a SharePoint list in batches

Keywords
SharePoint Online Maintenance

so just to confirm 🤔 the sample should use the spo listitem list command with pages and spo listitem remove to remove each item by id from the list right?
If this is what could/should be done maybe I could try to do it?

Not quite. I think the idea of the script is to use SharePoint batching to minimize the number of requests. Unfortunately, right now we don't support batching in CLI, so we'd need to implement it first before we can proceed with this script.

@pnp/cli-for-microsoft-365-maintainers seems like it's been a while and we still don't support batching. maybe if we are still interested in it we could add a issue for it and for now close this one as it's already been some time?

Let's close it for now and revisit when we support batching.


Add playwright reporter and separate "Timeline" component

### Tasks
- [x] Separate test for timeline present
- [x] Add playwright reporter for "Qase"
- [x] Add github app for Qase

Test description: https://app.qase.io/project/IBF?case=15&suite=9


Add in support for transform_keys

This closes  #3413
This also depends on https://github.com/rapidsai/cudf/pull/9198

build


Pypi project page has broken link

Subject of the issue
The Pypi page for this project includes and broken "/examples" link.
Your environment
Website
Steps to reproduce
View the Pypi project page:
https://pypi.org/project/fastapi-versionizer/#description
Click on the link in this statement:
'You can find examples in the examples directory.'
Looks like this is re-using the readme.md from the github repo, where that is a relative link to the examples in github.
Expected behaviour
This shouldn't be a link, or it should be a hard-coded link to the github examples.
Actual behaviour
Clicking on link goes https://pypi.org/examples and gets a 404.

Thanks for the find. Fix is here: https://github.com/alexschimpf/fastapi-versionizer/pull/59

Ok it's fixed: https://pypi.org/project/fastapi-versionizer/


Kiota should treat Default as 4XX + 5XX

If an OpenAPI document identifies a response with the key default then Kiota should treat this as equivalent to a response that could response to 4XX or 5XX.
Independently described 4XX or 5XX responses should take precedence over default.

I've just come across this issue having looked at code generated from an OpenAPI document that only specifies default for all operations.
From https://swagger.io/specification/:

The default MAY be used as a default response object for all HTTP codes that are not covered individually by the Responses Object.

The Responses Object MUST contain at least one response code, and if only one response code is provided it SHOULD be the response for a successful operation call.

To my mind, that means if we have:
"get": {
  ...
 "responses": {
  "default": {
    ... (response object)
  }
 }
}

... then the detail of that response object should be treated as a success result, not a failure. (In 1.18.0 it is regarded as an error response.)
@darrelmiller Am I misinterpreting the OpenAPI spec, or is it a bug fact that Kiota treats the above response object as an error? Let me know if I should create a new issue for this.


Jasmine 2.4.1

Current coverage is 100% (diff: 100%)

Merging #5 into master will not change coverage

@@           master    #5   diff @@
===================================
  Files           3     3
  Lines          44    50     +6
  Methods         4     4
  Messages        0     0
  Branches        9    11     +2
===================================
+ Hits           44    50     +6
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 12d283b...037947e

Reviewed.

Reviewed, a few things noticed.

Reviewed and looks good.

Approved.


New account creation won't allow Continue after entering name and bio

What is the bug?
I have a Farcaster account from a couple years ago and decided to reactivate. After using my seed phrase to recover, I cannot go past the screen to enter name and bio. The Continue button is disabled no matter what I do.
How can it be reproduced? (optional)
Here is a video showing what happens after I enter the seed phrase and authorize passkeys:
Additional context (optional)
This happens on both IOS and Mac OS.

I can confirm I have the samr issue. This is also reproducible on Android.

I've since discovered that it's because you have to upload an avatar photo first. There's not indication on the screen that avatar is required.

Thanks for the report! This issue is specific to Warpcast, so I'll report to that team and close this issue here.


Missing output parts when cat'ing UTF-8 stress test

Environment
Windows build number: Win32NT 10.0.18362.0
Windows Terminal version (if applicable): 0.5.2762.0

Steps to reproduce
ssh to a Linux box.
Get Markus Kuhn's UTF-8 decoder capability and stress test file.
cat UTF-8-test.txt
Expected behavior
Consistent output (which, by the way, reasonably closely matches what's described in the file), regardless of timing, including with various parameters to slowcat.
Actual behavior
Faulty and inconsistent output, presumably depending on the timing of events.
Often the output terminates way too prematurely, e.g. during the intro or section 1 or 2 of the file. Sometimes the succeeding shell prompt isn't printed either, although the shell is already ready to accept a new command.
Other times the output ends as the end of the text file, but as you scroll back you'll notice that a big chunk is missing.

I've tried it with the original PowerShell embedded in Win10, PowerShell Core Preview 7 and cmd.exe, the problem exists in all the above environment. This isn't really a WT specific issue.

#3380 might fix this, but I can't fully repro the original problem so I'm not certain.

Indeed fixed in v0.7, thanks!


[New] add enforce-node-protocol-usage rule

Fixes #2717
Added a new rule prefer-node-builtin-imports.
All test cases are taken from eslint-plugin-unicorn_test

@GoldStrikeArch are you still interested in completing this PR?

@GoldStrikeArch are you still interested in completing this PR?

Yeah, forgot about this. I will try to finish it on this weekend

Any updates on this PR? I'm very excited about this rule.
(I'd like to take over this PR if needed)

@sevenc-nanashi if you'd like to do so, please do NOT make a new PR - instead, comment here with a link to your branch containing this PR, rebased and updated per https://github.com/import-js/eslint-plugin-import/pull/3024#discussion_r1665739477, and i'll pull in the changes.

I rebased and added some changes according to the review:
https://github.com/sevenc-nanashi/eslint-plugin-import/tree/feat/prefer-node-protocol?tab=readme-ov-file

This rule now accepts always or never.
Fixed tests.

I think the name should be prefer-node-protocol, as the name prefer-node-builtin-imports sounds like preferring using node's builtin over other packages.

@sevenc-nanashi i don't think it should have "prefer" in it at all, because the rule won't be expressing an opinion that using, or avoiding, the protocol is preferred, but I agree that "node protocol" is better wording.
Perhaps enforce-node-protocol-usage?

@ljharb I renamed to enforce-node-protocol-usage.

The rule should either default to “never” - the far more universal behavior - or have no default at all.
The docs will need a lot of work too - deno and hun only support the protocol, i believe, so you’d want to set the rule to “always”; if you’re supporting a node version, bundler, or tool that doesn’t understand the node protocol, you’d want to set it to “never”.
Additionally, prefix-only core modules, like node:test, node:sea, node:sqlite, etc need to remain unaffected by the “never” setting. Although, because module.builtinModules doesn’t include prefix-only modules, you may not need to do anything here but add test cases.

@ljharb
I made these changes:

The rule will throw error when the option is not specified
Added test cases that require("node:test") is valid in 'never'

k, i've pulled in and rebased the changes. I also made it use is-core-module since module.builtinModules isn't available in older node versions.

@sevenc-nanashi i haven't reviewed the tests yet; assuming that every module being tested is tested with both configurations, and that eg node:test and node:sea are tested, and that tests pass, then this should be good.

@ljharb I made some changes:

Use object-based option schema to create mandatory option
Added some test cases

hmm, lots of the tests are failing for me locally, but i'm not sure why. the logic seems correct.

@ljharb Looks like the issue caused by the guard of visitor.

The fix
diff --git a/src/rules/enforce-node-protocol-usage.js b/src/rules/enforce-node-protocol-usage.js
index f8f3ee39..548f303b 100644
--- a/src/rules/enforce-node-protocol-usage.js
+++ b/src/rules/enforce-node-protocol-usage.js
@@ -96,11 +96,16 @@ module.exports = {
       url: docsUrl('enforce-node-protocol-usage'),
     },
     fixable: 'code',
-    schema: [
-      {
-        enum: ['always', 'never'],
-      },
-    ],
+    schema: {
+      type: 'array',
+      minItems: 1,
+      maxItems: 1,
+      items: [
+        {
+          enum: ['always', 'never'],
+        },
+      ],
+    },
     messages,
   },
   create(context) {
@@ -115,18 +120,12 @@ module.exports = {
         return checkAndReport(arg, context);
       },
       ExportNamedDeclaration(node) {
-        if (!isStringLiteral(node)) { return; }
-
         return checkAndReport(node.source, context);
       },
       ImportDeclaration(node) {
-        if (!isStringLiteral(node)) { return; }
-
         return checkAndReport(node.source, context);
       },
       ImportExpression(node) {
-        if (!isStringLiteral(node)) { return; }
-
         return checkAndReport(node.source, context);
       },
     };

In my environment, all tests passed with this patch.

btw: is it actually worth supporting Node v4?

No one uses that,
It's dangerous not to upgrade Node,
It makes CI slower,
It makes installation slower and node_modules heavier, (because of polyfills)
It makes development slower, (I saw spread expression was replaced with [].concat; there would be less code changes for backward compatibility like this)
And users can choose not to upgrade eslint-plugin-import (There should be a major version change though)

@sevenc-nanashi yes, people do; it's not dangerous in many contexts; i don't care about CI speed; disk space is infinite and free and npm installation is very fast; the [].concat is something i'd do in any codebase, spread is slow and should forever be avoided; doing a major version bump like that means that users on the old major are stuck without features, bugfixes, and security patches, so it's actually the most harmful thing any package can do for the ecosystem.

So one thing to note: the list of core modules is dependent on the node version that eslint is running in.
I think perhaps it might make sense to add a settings option for "node version" that this rule uses, that will override the current eslint node version (isCoreModule has that API already). Thoughts?

ok, updated. lmk what yall think


Error when changing vite.config.ts

When I edit vite.config.ts while vite is running, it prints the following error:
[vite] vite.config.ts changed, restarting server...
TypeError: Cannot read properties of null (reading 'name')

This error only appears when the plugin was installed initially, not when it's added and then saved.

Specifically, _activePlugin is null in this line:
https://github.com/vitejs/vite/blob/57c6c158ca0546962d0644f9ea3ee1bddbbaaf2c/packages/vite/src/node/server/pluginContainer.ts#L306


Add ConfigurationFile option to syntax frontmatter

PR Summary

Fixes #18092 - Help text for pwsh does not list -ConfigurationFile in the opening syntax for v7.3.
This PR adds the missing option.
PR Context

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[x] Issue filed: #18092

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

/backport to release/v7.3.0-rc.1


Hosting request for Black Duck Coverity on Polaris Plugin

Repository URL
https://github.com/blackduck-inc/blackduck-coverity-on-polaris-plugin
New Repository Name
blackduck-coverity-on-polaris-plugin
Description
Black Duck Coverity on Polaris for Jenkins simplifies implementing Coverity on Polaris static analysis in Jenkins builds.
Currently we have a similar kind of plugin in Jenkins marketplace -https://plugins.jenkins.io/synopsys-polaris/ which we will deprecate after releasing this new plugin as we are re-branding the Synopsys products as Black Duck products.
GitHub users to have commit permission
@zaman-akib
@blackduck-saraf
@manjeet-s
Jenkins project users to have release permission
zaman_akib
Issue tracker
GitHub issues

Security audit, information and commands
The security team is auditing all the hosting requests, to ensure a better security by default.
This message informs you that a Jenkins Security Scan was triggered on your repository.
It takes ~10 minutes to complete.
Commands
The bot will parse all comments, and it will check if any line start with a command.
Security team only:

/audit-ok => the audit is complete, the hosting can continue :tada:.
/audit-skip => the audit is not necessary, the hosting can continue :tada:.
/audit-findings => the audit reveals some issues that require corrections :pencil2:.

Anyone:

/request-security-scan => the findings from the Jenkins Security Scan were corrected, this command will re-scan your repository :mag:.
/audit-review => the findings from the audit were corrected, this command will ping the security team to review the findings :eyes:.
	It's only applicable when the previous audit required changes.

Only one command can be requested per comment.

(automatically generated message, version: 1.29.21)

:x: Jenkins Security Scan failed.
The Security team was notified about this.

/request-security-scan

The Jenkins Security Scan discovered 15 finding(s) :mag:.
For every identified issue, please do one of the following:

Implement the recommended fix to address the issue.
If you think it's a false positive, suppress the warning directly within the code.
Alternative, you write an explanation here about why you think it's irrelevant. That will require a manual review, leading to a slower process.

After addressing the findings through one of the above methods:

If all modifications have been made to the code, please initiate a new security scan by triggering the /request-security-scan command.
If there are any unresolved findings (those not corrected or suppressed), request a review from the Jenkins security team by using the /audit-review command.

Stapler: Missing POST/RequirePOST annotation
You can find detailed information about this finding here.
FreestyleCreateChangeSetFile.java#118
Potential CSRF vulnerability: If DescriptorImpl#doFillBuildStatusOnSkipItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

PolarisBuildStep.java#127
Potential CSRF vulnerability: If DescriptorImpl#doFillPolarisCliNameItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

WaitForIssues.java#65
Potential CSRF vulnerability: If DescriptorImpl#doFillBuildStatusForIssuesItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

PolarisGlobalConfig.java#201
Potential CSRF vulnerability: If PolarisGlobalConfig#doConfigDotXml connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

PolarisGlobalConfig.java#121
Potential CSRF vulnerability: If PolarisGlobalConfig#doFillPolarisCredentialsIdItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

ExecutePolarisCliStep.java#119
Potential CSRF vulnerability: If DescriptorImpl#doFillPolarisCliItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

Stapler: Missing permission check
You can find detailed information about this finding here.
FreestyleCreateChangeSetFile.java#118
Potential missing permission check in DescriptorImpl#doFillBuildStatusOnSkipItems

PolarisBuildStep.java#127
Potential missing permission check in DescriptorImpl#doFillPolarisCliNameItems

WaitForIssues.java#65
Potential missing permission check in DescriptorImpl#doFillBuildStatusForIssuesItems

ExecutePolarisCliStep.java#119
Potential missing permission check in DescriptorImpl#doFillPolarisCliItems

Jenkins: Plaintext password storage
You can find detailed information about this finding here.
FindOrInstallPolarisCli.java#34
Field should be reviewed whether it stores a password and is serialized to disk: proxyPassword

PolarisAccessTokenResolver.java#27
Field should be reviewed whether it stores a password and is serialized to disk: accessTokenFilePath

PolarisAccessTokenResolver.java#25
Field should be reviewed whether it stores a password and is serialized to disk: accessToken

PolarisServerConfig.java#44
Field should be reviewed whether it stores a password and is serialized to disk: accessToken

AccessTokenPolarisHttpClient.java#37
Field should be reviewed whether it stores a password and is serialized to disk: accessToken

/hosting re-check

/hosting re-check

/request-security-scan

The Jenkins Security Scan did not find anything dangerous with your plugin, congratulations! :tada:

:bulb: The Security team recommends that you are setting up the scan in your repository by following our guide.

/audit-review

I reviewed the previous audit, everything seems fine!

/audit-ok

Do you really need the dependency to xstream? https://github.com/blackduck-inc/blackduck-coverity-on-polaris-plugin/blob/ff9baa1617415bc70fd07ce3a419c6c541e73930/pom.xml#L100

Doy ou really need the dependency to structs? https://github.com/blackduck-inc/blackduck-coverity-on-polaris-plugin/blob/ff9baa1617415bc70fd07ce3a419c6c541e73930/pom.xml#L113

So you really need the dependency to localizer? https://github.com/blackduck-inc/blackduck-coverity-on-polaris-plugin/blob/ff9baa1617415bc70fd07ce3a419c6c541e73930/pom.xml#L129

You have dependencies to commons-text, commons-lang3, common-compress and org.apache.httpcomponents:httpclient without declaring any kind of dependency to them. That means you get them transitively from another plugin. You should make that dependency explicit in your pom and use the corresponding api plugins

You're using both commons-lang and commons-lang3, I suggest to only use commons-lang3
https://github.com/blackduck-inc/blackduck-coverity-on-polaris-plugin/blob/ff9baa1617415bc70fd07ce3a419c6c541e73930/src/main/java/com/blackduck/integration/jenkins/polaris/extensions/global/PolarisGlobalConfig.java#L46

@mawinter69

Removed the unused dependencies (xstream, structs, localizer)
As per your suggestion updated commons-text, commons-text and common-compress with io.jenkins.plugins:commons-lang3-api
And regarding httpclient, that we cannot replace with io.jenkins.plugins:apache-httpcomponents-client-5-api because the jenkins-common library that we are using is dependent on httpclient-4.5.14 and apache-httpcomponents-client-5-api uses a higher version which is httpclient5 and this is not compatible with the jenkins-common library. That is reason we need to use httpclient4. The httpclient4 is not yet updated to httpclient5 in the jenkins-common library.

io.jenkins.plugins:commons-lang3-api is only for commons-lang3, it doesn't contain any other commons library nor any httpclient, so you need:
commons-text-> https://plugins.jenkins.io/commons-text-api/
commons-compress -> https://plugins.jenkins.io/commons-compress-api/
httpclient-> https://plugins.jenkins.io/apache-httpcomponents-client-4-api/
Looking at the resulting hpi file I can see several jar for which api plugins in Jenkins exists.
https://plugins.jenkins.io/gson-api/
https://plugins.jenkins.io/json-path-api/
https://plugins.jenkins.io/jackson2-api/
I assume you get them transitively via some other dependency (your jenkins-common maybe)
So those should be excluded and explicit dependencies be declared.
Also the 2 annotations jar files, are they required at runtime? Or are they compile time only?

@mawinter69
I have updated accordingly. Please check now.
And about those 2 annotations jar files, Yes they are required in compile time only.

if possible please exclude them from packaging.
https://github.com/blackduck-inc/blackduck-coverity-on-polaris-plugin/blob/21b549ea992af21f36db80342b58f3ac255c4e0f/src/main/java/com/blackduck/integration/jenkins/polaris/extensions/global/PolarisGlobalConfig.java#L46
replace with commons.lang3.StringUtils
Then you don't have any reference to commons-lang2 (which is included in Jenkins core and that's why you can make use of it, but that kind of dependency should be avoided)

@mawinter69
Updated accordingly

@mawinter69 any update on this?

@mawinter69 do you have any follow up review or are we good to host?

From my point of view it looks good, but I don't have the powers to host

From my point of view it looks good, but I don't have the powers to host

Thanks and it will be great if you can refer this hosting request to someone who can host.

/hosting host