Import geoman with leaflet as an es module

I have trouble importing geoman after importing leaflet as an es module.
This works fine:
import './node_modules/leaflet/dist/leaflet.js';
import<EMAIL_ADDRESS>
This doesn't:
import * as L from './node_modules/leaflet/dist/leaflet-src.esm.js';
import<EMAIL_ADDRESS>
and gives the following error: leaflet-geoman.min.js:1 Uncaught ReferenceError: L is not defined.
Here is repo with a minimal example: https://github.com/AronSchoffer/import-geoman-with-leaflet-as-esm
I want to import leaflet as esm because typescript gives me errors otherwise.
Maybe more importantly, importing leaflet as an es module allows for partial imports e.g. import {map} from leaflet.
Does geoman support importing leaflet as an es module? If so, how do I do this properly?
Any workarounds would also be appreciated.
Thanks!

Please try Lazy Loading.

That still gives the same error.
I am not using a bundler, could that be a problem?
I updated the repo so it now tries to lazy load geoman, if you want to see for yourself.

I cannot get js on https://unpkg.com/<EMAIL_ADDRESS>I can't see the map on https://geoman.io/leaflet-geoman also.
What happened?

Any news on this?
If I understand correctly, Leaflet is moving towards esm support so shouldn't this be working if Leaflet officially starts supporting esmodules?
My use case is that I want to use the Leaflet map in a vanilla web component which in turn can be embedded in a different site. So I'd rather avoid globally importing Leaflet.

I have the same issue

if in one file (lets call it leaflet-base.js) you put in
import * as L from 'leaflet/dist/leaflet-src.esm.js';
globalThis.L = {};
for (const [key, value] of Object.entries(L)) {
    globalThis.L[key] = value;
}
import "leaflet/dist/leaflet.css";

then in another file (lets call it leaflet-more.js) you put in
import "@geoman-io/leaflet-geoman-free";
import<EMAIL_ADDRESS>
then in a 3rd (lets call it leaflet.js)
import './leaflet-base.js';
import './leaflet-more.js'

export default globalThis.L;

then you can just do import L from './leaflet.js' and it will work.
geoman (and a lot of leaflet extensions) are written in an object oriented way that makes it hard to turn into es modules without a big rewrite (this isn't their fault it was the "recommended way" to do leaflet)


Docs improvement

In help message for environment:httpaccess command there seems to be a mistake.
It says:
Restrict access to only one IP address:
   platform httpaccess --access deny:any --access allow:<IP_ADDRESS>

when AFAIK the order should be reveresed:
platform httpaccess --access allow:<IP_ADDRESS> --access deny:any

as per online docs here:

I tested both ways and it seems to me that the second works as intended.

Right, thank you!


Ollama should start automatically by default, Ollama without nvidia support (e.g. for Apple server).

add autostart to ollama and add ollama without nvidia support
Summary
The docker-compose file should suggest an ollama installation where the autostart is activated by default.
I spend one day figuring out why the chat did not work after reboot. Therfore, ollama should start automatically like librechat.
For the apple servers, there is no nvidia support needed. Therefore, a code block without nvidia is helpful for a fast proof-of-concept installation.

@jowin202, what's the purpose of this? Couldn't someone simply delete the deploy section? You could include a default Ollama without NVIDIA support, and then at the bottom of the Ollama configuration, you could add a comment like # NVIDIA support. This way, people can easily uncomment it if they want to enable NVIDIA. It would also be fantastic if you could add AMD support as well!


Error when running snakemake

Hi. As with my precedent issue, this is probably an error linked to the system I work on but I am hoping someone will have an idea as to why this is happening.
I have set up the R4.0 environments and wanted to run it on the test data generated with the generate_data.py script provided in the data directory. The dry run snakemake --configfile configs/test_data-R4.0.yaml -n --use-conda works fine but i get the following error after snakemake --configfile configs/test_data-R4.0.yaml --cores 10 --use-conda  :
ERROR conda.cli.main_run:execute(41): `conda run python scripts/preprocessing/runPP.py -i data/adata_norm.h5ad -o /SCRATCH-BIRD/users/tnoel/atlas/tools/scib-pipeline/data/test_data_r4/prepare/unscaled/full_feature/adata_pre.RDS -b batch --hvgs 0 -r -l` failed. (See above for error)
Save as RDS

Traceback (most recent call last):
  File "scripts/preprocessing/runPP.py", line 80, in <module>
    runPP(file, out, hvg, batch, rout, scale, seurat)
  File "scripts/preprocessing/runPP.py", line 51, in runPP
    scib.preprocessing.saveSeurat(adata, outPath, batch, hvgs)
  File "/CONDAS/users/tnoel/scib-pipeline-R4.0/lib/python3.7/site-packages/scib/_package_tools.py", line 20, in wrapper
    return func(*args, **kwargs)
  File "/CONDAS/users/tnoel/scib-pipeline-R4.0/lib/python3.7/site-packages/scib/preprocessing.py", line 707, in save_seurat
    ro.r('sobj = as.Seurat(adata, counts="counts", data = "X")')
  File "/CONDAS/users/tnoel/scib-pipeline-R4.0/lib/python3.7/site-packages/rpy2/robjects/__init__.py", line 438, in __call__
    res = self.eval(p)
  File "/CONDAS/users/tnoel/scib-pipeline-R4.0/lib/python3.7/site-packages/rpy2/robjects/functions.py", line 199, in __call__
    .__call__(*args, **kwargs))
  File "/CONDAS/users/tnoel/scib-pipeline-R4.0/lib/python3.7/site-packages/rpy2/robjects/functions.py", line 125, in __call__
    res = super(Function, self).__call__(*new_args, **new_kwargs)
  File "/CONDAS/users/tnoel/scib-pipeline-R4.0/lib/python3.7/site-packages/rpy2/rinterface_lib/conversion.py", line 45, in _
    cdata = function(*args, **kwargs)
  File "/CONDAS/users/tnoel/scib-pipeline-R4.0/lib/python3.7/site-packages/rpy2/rinterface.py", line 677, in __call__
    raise embedded.RRuntimeError(_rinterface._geterrmessage())
rpy2.rinterface_lib.embedded.RRuntimeError: Error in as.Seurat(adata, counts = "counts", data = "X") :
 cannot find function "as.Seurat"

[Thu May 12 16:31:59 2022]
Error in rule integration_prepare:
    jobid: 10
    output: /SCRATCH-BIRD/users/tnoel/atlas/tools/scib-pipeline/data/test_data_r4/prepare/unscaled/full_feature/adata_pre.RDS
    shell:

        conda run -n scib-pipeline-R4.0 python scripts/preprocessing/runPP.py -i data/adata_norm.h5ad         -o /SCRATCH-BIRD/users/tnoel/atlas/tools/scib-pipeline/data/test_data_r4/prepare/unscaled/full_feature/adata_pre.RDS -b batch         --hvgs 0  -r -l

        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

I'm also getting a lot of warnings but I am not sure this would be linked to my problem seeing as most of them are about deprecated names.
Has anyone encountered this kind of issue ? I've checked and am able to use the as.Seurat function in R from both R4.0 environments.

Hi, it seems as though Seurat is not installed. Have you tried rerunning the installation script again? That should update the environments after failed tries.
Btw, --use-conda should not be necessary, since the pipeline doesn't create conda environments from the yaml files, but instead uses the pre-installed conda environments. This is mainly due to rpy2 and wrong library path issues.

I thought as much but i couldn't launch the script without adding --use-conda. I'll try rerunning the installation script.

So, rerunning the script did not help. It basically tells me that all required packages are already installed (for both conda and pip installed packages).
Here is what happens when i try launching the script from the scib-pipeline-R4.0 env :
$ snakemake --configfile configs/test_data-R4.0.yaml -n
Error: --use-conda must be set if --conda-prefix or --create-envs-only is set.

However when I open R from this same environment and look at the .libPaths() :
> .libPaths()
[1] "~/scib-pipeline-R4.0/lib/R/library"

I have no idea why this is happening..

The .libPaths looks fine. Not quite sure why the error pops up, seeing that you didn't specify any conda flags on the command. Could you try to see if a minimal example in snakemake works? https://snakemake.readthedocs.io/en/stable/tutorial/short.html

If you're reffering to the ~ at the start of the path i replaced some personal ids with it.
I'll try that, thank you for your help!

Hi again,
So the need to use the --use-conda flag seems linked to a few variables set by the admin of my system that I was not made aware of. This shouldn't however be responsible for the problems I am meeting with the library paths. I will try and see if I can find out where this is coming from but the admin I have asked doesn't know either what could be causing this.

Regarding the libpaths, it might that the script was having issues detecting the conda prefix path and using $HOME instead. I suggest you set these variables manually for both variables.

Hi, please let me know if you're still facing any issues otherwise we can close this issue.

Hi, sorry for not getting back to you. I didn't find the time to get back to this issue. But seeing as this is clearly linked to the system I am working on i'd say we can close this issue.
Thank you for your help.


Is there any other way to get step 1 file(resnet34_feat.zip)?

Hello, I study Face Recognition and I'm interested in the paper 'NAN'. So, I'm looking for some open sources about this paper and I come in your github.
First of all, Thank you for sharing your code. But, I have a problem with using your source code. The problem is that I can't download step 1 file(resnet34_feat.zip) from baidu website. I should login that website when I download the file. But, I can join that website. Because I have no cell phone in China.
So, Could you let me know another way to get that file(I already refer your github 'COSENet', But, I don't know How to get resnet34_feat.zip from that source) or send me by email(My email address is<EMAIL_ADDRESS>or dongho92@postech.ac.kr)?
Hope you have a nice day!
Thank you.

Hello, I study Face Recognition and I'm interested in the paper 'NAN'. So, I'm looking for some open sources about this paper and I come in your github.
First of all, Thank you for sharing your code. But, I have a problem with using your source code. The problem is that I can't download step 1 file(resnet34_feat.zip) from baidu website. I should login that website when I download the file. But, I can join that website. Because I have no cell phone in China.
So, Could you let me know another way to get that file(I already refer your github 'COSENet', But, I don't know How to get resnet34_feat.zip from that source) or send me by email(My email address is<EMAIL_ADDRESS>or dongho92@postech.ac.kr)?
Hope you have a nice day!
Thank you.

Sorry for my late response. You can download the data from the link of https://1drv.ms/u/s!As-0B0Wcu9-Rgft22c2yfmqFdvm-AA?e=USmQLM


Upgrade Surefire 3.5.1 -> 3.5.2

This PR contains the following updates:

Package
Type
Update
Change

Surefire
build
patch
3.5.1 -> 3.5.2

Release Notes

apache/maven-surefire (Surefire)
v3.5.2: 3.5.2

🚀 New features and improvements

[SUREFIRE-2278] - Don't say please. (#792) @elharo

📦 Dependency updates

[SUREFIRE-2281] - Doxia 2.0.0 ga (#794) @michael-o
Bump commons-io:commons-io from 2.2 to 2.14.0 in /surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1 (#789) @dependabot

👻 Maintenance

[SUREFIRE-2282] - surefire-report-plugin: Update Introduction documenta… (#796) @michael-o
Reduce cyclomatic complexity (#793) @elharo

Full Changelog: https://github.com/apache/maven-surefire/compare/surefire-3.5.1...surefire-3.5.2

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade Surefire 3.5.1 -> 3.5.2

See:
- https://github.com/apache/maven-surefire/releases/tag/surefire-3.5.2
- https://github.com/apache/maven-surefire/compare/surefire-3.5.1...surefire-3.5.2


 Can someone please clarify the shortcut?

when I press shuffle keybind (C-s), it opens up a shortcut menu and there is no shuffle option

which shortcut does it open? Is it similar to the one below?

If not, I guess C-s is probably the shortcut to open a shortcut menu for your terminal. You can bind Shuffle command to another key in your .config/spotify-player/keymap.tom. More details: https://github.com/aome510/spotify-player/blob/master/doc/config.md#keymaps

I don't think it is a terminal shortcut menu, as it has details such as sorting by album and artist name. Here is an image

So I changed the keymap.toml so that the shortcut for shuffle was "s h", and now it shows up in the shortcut menu:

I don't think it is a terminal shortcut menu, as it has details such as sorting by album and artist name. Here is an image

Oh I see. I think it's because the app or the terminal doesn't recognize the control-s combination and it is parsed as a s key. That's why the shortcut menu for commands with s key prefix is shown. One possible workaround is to change the shortcut like u already did. Hope that's not too much of a trouble.


how hello world program is run

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/create
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

how is this run i am new

the link you provided is not working

You should consider ditching this tutorial, and use a tutorial that is based on an IDE (integrated development environment), personally I believe that is easier to understand than typing commands and just explain it with "magic happened when you typed the commands".
A better starting point IMHO is:
if you want to use Visual Studio
https://docs.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio
Or if you want to use Visual Studio Code
https://docs.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio-code

But to answer your question if you followed the tutorial precisely all you should have to do is type dotnet run into the console window.
https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/run
You must run this command on the location of your Program.cs file, so don't forget to call cd (change directory) to the said directory.
eg.
cd "C:\Users\[UserName]\myApp"
dotnet run
If you want to just double click a *.exe, dotnet run triggered a build of your application and you should find a exe at this location
C:\Users\[UserName]\myApp\bin\debug\net5.0\myApp.exe
Notice:
double clicking it, will only pop up a window and imidiatly close it, as the application only prints Hello World and doesn't wait for a user input, if you want to to exit the application on a key stroke of the user you have to add Console.ReadKey(); into your Program.cs

Thanks for the suggestion @Rand-Random.
@suraj1020 is there anything else you need to complete this tutorial?

Thanks for the suggestion @Rand-Random.
@suraj1020 is there anything else you need to complete this tutorial?


ILambdaMessaging: Reset message visibility timeout when handler returns failed status

Describe the feature
Not sure if this a feature or a bug.
It appears there is some handling for resetting the visibility timeout when using the SQS Poller. However, the same feature doesn't exist when using the ILambdaMessaging.ProcessLambdaEventWithBatchResponseAsync.
Use Case
When the handler returns a Failed status, the message visibility should be reset, so that it can be immediately re-attempted and doesn't block that message group from processing the next message.
Proposed Solution
No response
Other Information
Using FIFO queue
Acknowledgements

[X] I may be able to implement this feature request
[ ] This feature might incur a breaking change

AWS.Messaging (or related) package versions
AWS.Messaging.Lambda 0.9.1
Targeted .NET Platform
.NET 8
Operating System and version
AmazonLinux/Lambda

Actually, it looks like this behavior is already called out as a potential TODO here:
awslabs/aws-dotnet-messaging/docs/docs/design/message-visibility-timeout-handling.md
Having some configurability around this would be nice.
I can probably work around it in the short term, by manually changing the visibility back to zero.

This is my current work-around. Rolling my own handling of this, Would be nice to be handled by "the framework".
public async Task<SQSBatchResponse> HandleAsync(SQSEvent evnt, ILambdaContext context)
{
    using var scope = Host.Services.CreateScope();
    var lambdaMessaging = scope.ServiceProvider.GetRequiredService<ILambdaMessaging>();
    var batchResponse = await lambdaMessaging.ProcessLambdaEventWithBatchResponseAsync(evnt, context);
    await ChangeMessageVisibilityForFailures(evnt, scope, batchResponse);
    return batchResponse;
}

private static async Task ChangeMessageVisibilityForFailures(SQSEvent evnt, IServiceScope scope, SQSBatchResponse batchResponse)
{
    var failureCount = batchResponse.BatchItemFailures.Count;
    if (failureCount == 0) return;

    using var sqs = scope.Resolve<IAmazonSQS>();
    var lookup = evnt.Records.ToDictionary(x => x.MessageId);

    if (failureCount == 1)
    {
        await sqs.ChangeMessageVisibilityAsync(new()
        {
            QueueUrl = AwsMessagingExtensions.MainQueueUrl,
            ReceiptHandle = lookup[batchResponse.BatchItemFailures[0].ItemIdentifier].ReceiptHandle,
            VisibilityTimeout = 0
        });
        return;
    }

    await sqs.ChangeMessageVisibilityBatchAsync(new()
    {
        QueueUrl = AwsMessagingExtensions.MainQueueUrl,
        Entries = batchResponse.BatchItemFailures
            .Select(x => new ChangeMessageVisibilityBatchRequestEntry
            {
                Id = x.ItemIdentifier,
                ReceiptHandle = lookup[x.ItemIdentifier].MessageId,
                VisibilityTimeout = 0
            }).
            ToList()
    });
}

Needs review with the team.

I wouldn't by default reset visibility to 0 if the handler failed. The failure that would be successful in a retry is often due to a transit dependency issue that might need sometime to recover. But I can see use cases where you do want to retry right away especially in a FIFO environment so you aren't blocking other messages in the group like you said.

Fair point that a default of 0 may not be best. But some OOTB configurability around what that number is would fit the bill.
May not be best practice, but I've typically setup my default visibility timeout to mirror my lambda timeout (15 minutes), with a MaxReceiveCount to 1 or 2 and reset visibility to zero to retry effectively immediately. Otherwise with the 15 minute timeout you get some pretty big backups in the queue.

Happy to take a stab at a PR if you're open to it.
But don't want to spend time on it if you'd like to leave it out.

I'm happy to take a PR for an opt in feature to turn this on.


HamburgerMenu and PageHeader control in "Narrow" mode

I've set the NarrowMinWidth value to 500. When the show site is smaller than 500 pixels, the menu is hidden, the Hamburger button is still shown in the header, but the header content is shown behind the button:

I cannot reproduce what you describe by setting the NarrowMinWidth in Style.xaml as:
<x:Double x:Key="NormalMinWidth">500</x:Double>. Can you provide more info how you did it, and on which emulator your run it?

Are you using the latest version? Take a look at the PageHeader.cs file - there is no xaml for the PageHeader (or I cannot see it?). Where do you update the NarrowSpacer visibility?

Hmmm... I don't exactly follow you, so forgive me if the following doesn't make sense to you.
If you change NarrowMinWidth (I don't even see the need for this, as the visual state with NarrowMinWidth  is meant to cater for the upper bounds of mobile devices), I think, you should only do it from the customization file, which in this case is Custom.xaml.

Wait a minute: I thought you're NormalMinWidth to 500.
Why do you want t change NarrowMinWidth sitting at 0 to 500? I a not surprised that you're getting some anomaly as you describe.

I have to change it because customer wants it at 500 :-)
I can see the properties in PageHeader.cs file and my value is set there correctly from Custom.xaml. But I cannot find the code or xaml where the value is set into any kind of adaptive trigger that will cause the page header to show or hide the NarrowSpacer.
In earlier versions of Template10 there was a PageHeader.xaml and a PageHeader.xaml.cs file. The xaml contained the VisualStateGroup and triggers to show and hide the NarrowSpacer. Current version only has a PageHeader.cs file.
Do I miss anything?

have you checked themes/generic.xaml ?

Wow.... thanks.


Tested again with nightly 14.10:
After deletion of all OC-caches and going back to live-map, they are still shown.
But when closing and reopening the app and opening the live-map the OC-caches are gone.

What do you call "delete"? Because right now, if you delete a cache from a list, it just goes to the default status, that is a "cached" cache to avoid reloading the information when it is accessed. So if I understand what you're saying, this is expected.

Yes, I deleted the OC-cache from the list.
Are you sure about the caching and reloading. We were talking about OC.com caches imported by GPX.
I thought, they would be out of the database after deleting them.

Yes.
After deleting the oc-caches they are still on the mp, only the saved-marker is gone.
Also after restart of the app they are still there...thats different to before.


Improve tests + Comb through unused fixtures in tests

After #1094 and other similar tasks, we now implement good defaults in creating assets. This eliminates the need for many fixtures such as nfts, tokens that will get created with create or create1. Same, after all the recent refactoring, some things inside the tests have become obsolete or can be done better.

The fixtures part is done and I think this issue: https://github.com/oceanprotocol/ocean.py/issues/929 covers the rest of the changes needed, so I'm going to close.


add rescue mode to nova

nova supports rescue mode - we should add it and then add to exercise.sh

moved to https://blueprints.launchpad.net/devstack/+spec/rescue-mode


Update openvpn-azure-ad-tenant.md

Tenant: TenantID for the Azure AD tenant

Enter https://login.microsoftonline.com/{AzureAD TenantID}/	for Azure Public AD
Enter https://login.microsoftonline.us/{AzureAD TenantID/	for Azure Government AD
Enter https://login-us.microsoftonline.de/{AzureAD TenantID/ for Azure Germany AD
Enter https://login.chinacloudapi.cn/{AzureAD TenantID/	for China 21Vianet AD

@v-lwagnon : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

#reassign:anzaman

#sign-off

@anzaman: I'm sorry - only the author of this article, @cherylmc, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#reassign:cherylmc
looks fine


How to install?

There is no clear set of instructions that I can find on how to install. I see the one on how to configure, but I'm wondering if you have installation instructions anywhere?

All you have to do is go into the plugins page in the Homebridge app, and search for homebridge-smartthings-ik .

I'm going to close this for now.


Retrieval of the ORCID logo is causing a 'Connection not Secure' violation in Firefox

The ORCID logo is being retrieved via http and is thus causing the below warning in Firefox:

Suggest switching urls to https

looking at the latest Roadmap code, I can see we are now using https instead of http when retrieving the ORCID logo so this should no longer be an issue


add springmvc archetype

Signed-off-by: zhengyangyong<EMAIL_ADDRESS>Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Format the pull request title like [SCB-XXX] Fixes bug in ApproximateQuantiles, where you replace SCB-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Run mvn clean install to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

add springmvc provider archetype
it's a part of https://issues.apache.org/jira/browse/SCB-439

Eclipse warnings check

Coverage remained the same at 87.474% when pulling b45ddf02a4426cd19a10b3cd2632cc7518bbed63 on zhengyangyong:SCB-442 into b31dce3692db1f6b01fdbe98e3e65e7f9740ad14 on apache:master.


Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes.

Bicep or Terraform?
Bicep
Module Classification?
Resource Module
Module Name
avm/res/fabric/capacity
Module Details
Microsoft Fabric is a unified platform that can meet your organization's data and analytics needs.
documentation: https://learn.microsoft.com/en-us/fabric/
[MB] Related documentation: https://learn.microsoft.com/en-us/rest/api/microsoftfabric/operation-groups
Do you want to be the owner of this module?
No
Module Owner's GitHub Username (handle)
hundredacres
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

Hi @FlorisWaternet - Please can you elaborate on the resource module here? Provide a like to the bicep ref etc?

@ChrisSidebotham , I'm not if I understand your question correctly. But I did find another issue under the bicep repo in Github Azure, that points to the same question. I don't know what the correct place would be to follow up. But either one would be enough I guess..
https://github.com/Azure/bicep/issues/12905

Hi @FlorisWaternet - I am asking the module should consist of, currently bicep only support Microsoft.Fabric/Capacities which we can make a resource module. However to support full configuration of Fabric, bicep at this moment does not yet support this

@ChrisSidebotham I can take on ownership of the module and support the existing Capabilities aspects of the service. We can add support for more features as they get unlocked.

@matebarabas I can take this one if we determine it's needed and can work on it during Hackathon.

Hi @hundredacres,
Thanks for requesting/proposing to be an AVM module owner!
We just want to confirm you agree to the below pages that define what module ownership means:

Team Definitions & RACI
Shared Specification (Bicep & Terraform)
Module Support

Any questions or clarifications needed, let us know!
If you agree, please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team
#RR

I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER

Hi @hundredacres,
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!
Before starting development, please ensure ALL the following requirements are met.
Please use the following values explicitly as provided in the module index page:

For your module:

ModuleName - for naming your module
TelemetryIdPrefix - for your module's telemetry

For your module's repository:

Repo name and folder path are defined in RepoURL
Create GitHub teams for module owners and contributors and grant them permissions as outlined here.
Grant permissions for the AVM core team and PG teams on your GitHub repo as described here.

Check if this module exists in the other IaC language. If so, collaborate with the other owner for consistency. 👍
You can now start the development of this module! ✅ Happy coding! 🎉
Please respond to this comment and request a review from the AVM core team once your module is ready to be published! Please include a link pointing to your PR, once available. 🙏
Any further questions or clarifications needed, let us know!
Thanks,
The AVM Core Team

PR is here: https://github.com/Azure/bicep-registry-modules/pull/3266

[ ] Module published. Failed pipeline: https://github.com/Azure/bicep-registry-modules/actions/runs/11269350751 @hundredacres, please let me know when the module was successfully published! Thank you!
[x] GitHub teams are available and assigned to their parents.
[x] CODEOWNERS file updated.
[x] Issue template file updated.

@matebarabas is there anything I'm missing from this in order to close it out?

Hi @hundredacres, all I was waiting for was a confirmation from you that the pipeline did eventually run successfully. I've just re-checked it and can see that you already have 2 versions published, so we can close this. Thank you for your work!


Add Kured project

Signed-off-by: Daniel Holbach<EMAIL_ADDRESS>Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you added your SVG to hosted_logos and referenced it there?
[ ] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[ ] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~30 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

9:05:45 AM: FATAL: Kured: Only svg logos are supported

This one means that SVG logo is wrong, we do not support anything but SVG, without any raster images embedded

done via https://github.com/cncf/landscape/pull/2804


Proposal for expansion of expression language

Changes introduced with this PR
This PR proposes three main changes to the expression language.
See the files changed for the proposal itself.
Voting Period is 7 days
Voting ends Friday March 24th.

By contributing to this repository, I agree to the contribution guidelines.

I would like to add one more element: every expression language component should be built in such a way that the expression language can create a resulting schema without executing the expression itself if a schema for the referenced value is available. This will help with later adding static workflow analysis.

Especially since you're already implementing it, and it is required regardless as an implementation detail, I'll leave that out of the proposal. The proposed changes in this proposal change how the users create and interact with workflows.

I assume this is a breaking change, particularly:

Make subexpressions default within map access since it is unintuitive as-is, removing the old () syntax. Moving from map[(sub-expression)] to map[sub-expression]

The new functions and operators I suppose could add functionality in a non-breaking way.
IIUC this would cause a workflow built before the change to be incompatible with the engine after the change, and new workflows will not be backward-compatible. This will require some housekeeping across the workflows we already have published, and a good set of release notes. Documentation should be a concurrent requirement with the new engine release, when ready.

I'm taking the liberty to extend the voting date on this to April 7 since the process is still new for us and many of us were distracted by an internal event.


Icon multi-replace

Because replacing hotlinked galleries with uploaded ones takes a long time. (Discussion)

Alternatively have a way to upload hotlinked icons to the site. Probably on the client-side so it's only as dangerous as uploading any other icon.

Less critical after #372.


If ViewPager is initialized with setCurrentItem(0) then header won't refresh

If viewpager is initialized with current item set with the first item:
mViewPager.getViewPager().setCurrentItem(0);

or just remove that line, then header's listener won't trigger. In other word the first page's header will not refresh its color or image either from url or resources, at least for the first time. The demo sample is using the second item or setCurrentItem(1).
I seem to remember that the default listener for Android ViewPager is OnPageChangeListener which is only triggered if the page is changed. I assume Material View Pager is deriving the listener from it.
For this I found one work around which is super ugly. Basically do two setCurrentItem in sequence
mViewPager.getViewPager().setCurrentItem(1);
mViewPager.getViewPager().setCurrentItem(0);

please look at https://github.com/florent37/MaterialViewPager/issues/122


private_metadata not being passed back in User

I'm using the .users.get() method to get the User object but it's not returning the private_metadata. I checked the raw response and the private_metadata is in there, so I think it's a problem with the unmarshalling with pydantic...

I managed to resolve this by setting
class PrivateMetadata(BaseModel):
class Config:
extra = "allow"
pass
I'm assuming private_metadata should be allowed to be an arbitrary JSON? So I think the PrivateMetadata type should reflect that

It looks like you're using speakeasy for that, so could be a speakeasy configuration issues


[WIP] PHP Functions generator

Continues https://github.com/coreruleset/coreruleset/pull/3228.
Opening this draft PR to show the current status of the work and get some feedback based on the diffs on 933161.ra, php-function-names-933150.data, and php-function-names-933151.data files.
The Script

The script takes about 5 hours to retrieve all the frequencies. I don't think we want to merge the frequencylist.txt, still committed it if anyone wants to play with it (Run command example ./php-dictionary-creator.sh --frequencylist frequencylist.txt --verbose).
Updating 933161.ra requires running the toolchain. The script currently only prints a reminder about it. If we feel that it is in the scope of this script, this call could be also automated.

Rule 933160

The script currently does basically nothing about 933160. 🚧 It requires some manual work to update it.
I was taking into account adding to 933160 the PHP functions interpreted as English words (933161) into 933160 but it does not seem right to me considering that 933161 is the stricter sibling of the two. We should maybe do it the other way around (adding to 933161 also the manual list we have in 933160)

Rule 933161

As already reported by Christian, currently this list is way smaller than the current one. But it will be increased by:

🚧 Running the script with the spell.sh extended
If 933160 list has also to be included in 933161

Rules 933150 and 933151

933150 would become way bigger with lots of 933151words moved into 933150. The decision about putting a word under one or the other is based on the FREQUENCY_LIMIT, set by default at 100. 🚧 It might have to be fine-tuned.
For example, setting it at 150 moves out of 933150:

-collator_compare
-curl_pause
-curl_share_init
-curl_share_setopt
-curl_share_strerror
-curl_unescape
-gmp_binomial
-imageaffine
-imageavif
-imagegetclip
-inflate_get_read_len
-ldap_exop_refresh
-ldap_parse_exop
-locale_get_display_language
-locale_get_display_name
-locale_get_display_region
-mysqli_get_client_stats
-mysqli_refresh
-mysqli_stmt_more_results
-mysqli_stmt_next_result
-net_get_interfaces
-normalizer_get_raw_decomposition
-openssl_cms_sign
-openssl_get_curve_names
-openssl_pkcs7_read
-openssl_pkey_derive
-openssl_x509_verify
-pcntl_unshare
-pg_lo_truncate
-phpdbg_get_executable
-pspell_config_data_dir
-pspell_config_dict_dir
-pspell_config_repl
-pspell_new_config
-realpath_cache_get
-sapi_windows_cp_conv
-sapi_windows_cp_get
-sapi_windows_set_ctrl_handler
-socket_addrinfo_bind
-socket_addrinfo_explain
-sodium_crypto_aead_aes256gcm_keygen
-timezone_location_get

180 further moves out:
-curl_share_close
-curl_share_errno
-datefmt_set_timezone
-dns_check_record
-enchant_broker_dict_exists
-enchant_broker_free
-enchant_broker_free_dict
-enchant_broker_get_error
-enchant_broker_set_dict_path
-enchant_broker_set_ordering
-enchant_dict_add_to_session
-enchant_dict_check
-enchant_dict_get_error
-enchant_dict_store_replacement
-fdatasync
-get_mangled_object_vars
-gmp_popcount
-gmp_rootrem
-hash_hmac_algos
-imageaffinematrixconcat
-imageaffinematrixget
-imagecolorclosesthwb
-imagecropauto
-imageopenpolygon
-imagesetinterpolation
-imap_fetchmime
-imap_gc
-imap_getacl
-imap_getsubscribed
-imap_lsub
-imap_rfc822_write_address
-imap_set_quota
-imap_setacl
-imap_undelete
-inflate_add
-inflate_get_status
-inflate_init
-json_validate
-ldap_exop
-ldap_parse_reference
-locale_get_default
-locale_get_primary_language
-locale_get_region
-msg_queue_exists
-msg_set_queue
-msgfmt_format
-mysqli_get_connection_stats
-mysqli_get_links_stats
-mysqli_get_warnings
-mysqli_savepoint
-mysqli_stmt_attr_set
-mysqli_stmt_error_list
-mysqli_savepoint
-mysqli_stmt_attr_set
-mysqli_stmt_error_list
-normalizer_is_normalized
-openssl_get_cert_locations
-openssl_pbkdf2
-password_algos
-pcntl_setpriority
-pg_escape_identifier
-phpdbg_start_oplog
-posix_access
-posix_mknod
-posix_setrlimit
-pspell_add_to_personal
-pspell_config_create
-pspell_config_personal
-pspell_save_wordlist
-readline_callback_handler_install
-readline_callback_handler_remove
-readline_callback_read_char
-snmp2_getnext
-snmp2_walk
-snmp3_get
-snmp3_real_walk
-snmp_read_mib
-snmp_set_oid_output_format
-snmpgetnext
-socket_addrinfo_connect
-sodium_base642bin
-sodium_bin2base64
-sodium_crypto_aead_aes256gcm_decrypt
-sodium_crypto_aead_aes256gcm_encrypt
-sodium_crypto_aead_chacha20poly1305_encrypt
-sodium_crypto_aead_chacha20poly1305_ietf_decrypt
-sodium_crypto_aead_chacha20poly1305_ietf_encrypt
-sodium_crypto_aead_xchacha20poly1305_ietf_decrypt
-sodium_crypto_aead_xchacha20poly1305_ietf_encrypt
-sodium_crypto_box_keypair_from_secretkey_and_publickey
-sodium_crypto_box_open
-sodium_crypto_box_seal_open
-sodium_crypto_box_secretkey
-sodium_crypto_pwhash_str_verify
-sodium_crypto_sign_publickey_from_secretkey
-sodium_crypto_sign_seed_keypair
-sodium_crypto_stream
-stream_supports_lock
-timezone_version_get
-variant_cat
-variant_int
-variant_mul
-variant_sub
-zend_leak_variable
-zend_test_func

Thank you very much. Very good progress here.
A few remarks.
frequency stats file
I would prefer not to commit frequencylist.txt, but 5h is a very long time. What options do you see?
933160
The second item in your bullet list is not clear to me. I think that anything marked as English word in 933161 should be added manually to 933160, but this is probably what you had in mind.
933161
Agreed
933150 and 933151
The limit of 100 is completely arbitrary. Adjusting it seems feasible to me. I'd aim for a similar size as we have now for 933150.
Am I getting you right, that your description brings the PHP function list that would be removed from 933150 if we raise the frequency limit from 100 to 150 and then further down to 180?

Do you have an update here for the meeting tonight? We should really get this done now.

Latest commit:

Adds php-high-risk-functions.txt. A manual list of high-risk functions becomes the second source to 933150.
php-high-risk-functions.txt is made of lots of 933160 entries, that are now moved from 933160 to 933150. They are non-English words that we still want to detect at PL1.
Removes leftovers about 933150 in the script. It is a manual list.
Adds code to iterate over 933160 entries and add them to the stricter sibling 933161 if not already present.
Adds code to iterate over php-high-risk-functions.txt and adds them to 933150.

Next steps / elements to be considered:

We might want to create another file alongside php-high-risk-functions.txt and let the script generate 933150.ra from it. The two files with manual lists would be closer, and these two .ra files would become fully generated.
Double check 933160.ra and php-high-risk-functions.txt entries
The spell checker based on WordNet is already used by this PR. With extended spell.sh I meant the spell.sh script with also the hardcoded list of terms added to the output of spell.sh suggested by @theseion. The examples were basename, unset, syslog, symlink. Now, not being matched by spell.sh:

basename: moved from 933161 to 933150 (high frequency) (PL3 -> PL1).
unset: removed. It is not found anymore as a PHP function 🧐.
syslog: moved from 933161 to 933151 (PL3 -> PL2).
symlink: moved from 933161 to 933151 (PL3 -> PL2).

remove / gitignore frequencylist.txt
Update rules description

I think there is going to be a consolidation project after CRS v4 comes out where we try to integrate all these automated word lists into the CRS toolchain. All work into developing an advanced scheme to minimize work in the future will have to be re-evaluated and streamlined. Likely being thrown out in favor of a new approach.

But you do the work, so you get to decide.

The script takes about 5 hours to retrieve all the frequencies. I don't think we want to merge the frequencylist.txt, still committed it if anyone wants to play with it (Run command example ./php-dictionary-creator.sh --frequencylist frequencylist.txt --verbose).

I agree that we don't need it. However, I'd like for the lists and assembly files to include the script parameters in a header comment, so that when they are regenerated, it is clear which parameters were used.

Updating 933161.ra requires running the toolchain. The script currently only prints a reminder about it. If we feel that it is in the scope of this script, this call could be also automated.

I think you should just try to run the toolchain and then report success or failure.
I don't fully understand what you are doing to the rules. From the comments in the rules file I gather that:

933150 includes symbols often used in attacks
933160 includes frequently used symbols
933151 includes low frequency symbols
933161 should include symbols excluded from the other 3 rules due to FP risk

From that I gather that the symbols in all rules should be mutually exclusive (in the script you include symbols from 933160 in 933161). If this is not the case, then we need to update the rule comment (which needs an update anyway, IMO).
I tried to follow your discussion but it already took me quite some time to just read what you wrote. I trust that you've thought this through :)

I don't fully understand what you are doing to the rules.

Here is a full recap:

933160 (PL2): List of high-risk English (and english-like) words

source: manual entries added to 933160.ra
note: Most of the 933160 entries are now moved to 933150 (via php-high-risk-functions.txt) being words now compatible with an English context.

933161 (PL3): List of PHP function names detected as English words by spell.sh

source: PHP source code, automated by the script (php-dictionary-creator.sh)
source2: 933161 also contains 933160 entries

933150 (PL1): List of PHP functions NOT detected as English words with HIGH frequency + PHP high-risk functions

source: PHP source code, automated by the script
source2: manual list of high risk functions (php-high-risk-functions.txt) all extracted from the old 933160 entries.

933151 (PL2): List of PHP functions NOT detected as English words with LOW frequency

source: PHP source code, automated by the script
note: mutually exclusive with 933150

Thanks for your concerns @theseion. You are quite right, this is very complicated and the approach changed during the discussions. The problem we discovered was that the existing rules were not doing what they were describing to do. So this is not only about automation, but also overhauling existing rules, hence the move of high-risk function names from 933160 to 933150 (double checked, nothing was lost). The new distinction with regex 93316x for English words and 93315x for non-English words seems useful to me. 933150 and 933151 are covering all existing PHP function names and they are distinguished by the manually assessed risk as well as the new idea introduced by @jptosso to use frequency of use as a guidance.
What helps us is the good coverage of tests for 933150 and 933160. So any grave omission should be caught.
@M4tteoP : Thank you for your good writeup of the rule's functionality above. This is a good base for the new description of the rules. I can write the full description on this base if you want.
Also: Do you need anything else to finish the PR?
Do you have a solution for the problem with PHP function dir within English word directory mentioned above?

We still had two problems:

Lack of extended spell.sh that was leading to entries moving from 933161 to 933150 or 933151 (that means also moving from PL3 to PL1/PL2
problem with PHP function dir within English word directory. They were part of 933161 but now moved to 933150 (PL1):

To address both of them at once, I went for implementing the extended spell.sh, I hope that the implementation is kind o what you had in mind (cc @theseion). Adding to this list partial english words and common words like basename permits to not evaluate their frequency (typically very high) and end up in 933150, but they rather take the other path of the mermaid and they end up in 933161, were they used to be.
I squashed commits and rebased to make it easier to review and to address a conflict with the just merged https://github.com/coreruleset/coreruleset/pull/2302 (affecting 933161 regex). Please take a look at:

eec943d if you want to see/review the spell.sh extended implementation. Any suggestion about elements to be added is very welcomed.

Dealing with tests, I found  several duplicated tests for 933150. Please take a look at:

328b1e6 to see the fix.

I think it is mostly ready, trying to deal with the other failing tests now

There is one left failing test: 933161-4. It is one that I fixed because the payload was a duplicate, but the description provided what I think the test was meant to match (dl/*foo*/()).
it seems that dl function in recent PHP versions is not allowed in web environments (ref1, ref2), but I found the occurrence in the PHP repo not inside ZEND_FUNCTION(), but PHP_FUNCTION().
I'm mainly wondering if we should look for also PHP_FUNCTION(*).
I'm running out of time for this week, but I will give it a go and see how many missing functions will be found.
If you have more knowledge about the PHP repo, please let me know.
If we are in a hurry to merge this PR, I would not consider it a blocker.

Wow, you've really put in a lot of effort here! Great job!
I'm just a bit worried about the regex causing a bunch of false positives. It's kind of a bummer since it even catches non-existent PHP function names.
Like, for example, preventivo123 (which means "estimate/quotation" in Italian). There's no injection stuff going on, just a simple [a-z0-9]+ string, but it still ends up matching 933150 at PL1 - PHP Injection Attack: High-Risk PHP Function Name Found.
$ curl -s -A 'test' 'http://sandbox.coreruleset.org/?a=preventivo123' \
   -H 'x-backend: nginx' \
   -H 'x-format-output: txt-matched-rules' \
   -H 'x-crs-paranoia-level: 1' \
   -H 'x-crs-version: pullrequest-3273'

933150 PL1 PHP Injection Attack: High-Risk PHP Function Name Found
949110 PL1 Inbound Anomaly Score Exceeded (Total Score: 5)

Allowing these sorts of false positives to linger at PL1 would turn into an absolute nightmare, and you know how I always mention that we need to be more stringent with injection context syntax. Remember, there's no way we can safeguard against something like eval($_GET[foo]), especially when we're talking about PL1.
I believe we could include a solution to tackle the most notable false positives by appending word boundaries \b after the PHP function name. What do you think about it?
IMO, this would be just a workaround. I think we should match an injection syntax before matching PHP function, at least at lower PLs.

Thank you. This sounds useful.
For the record: Our existing regex is good enough, because the function list is limited, but with the extension of the function list, the lacking injection syntax is blowing up in our face?
+1 on \b. More if needed.

with the extension of the function list, the lacking injection syntax is blowing up in our face?

It is. Unfortunately, blocking PHP functions without an injection context is tricky. If we were to block a [a-z0-9]+ string value at PL1, we would be overwhelmed by false positives.

I'd suggest giving it a shot with \b to avoid matching any other strings that begin with a familiar PHP function name, rather than adding exceptions.

(in the current nightly version, this false positive isn't popping up - IDK if it should and it doesn't work or because we changed something)
curl -s -A 'test' 'http://sandbox.coreruleset.org/?a=preventivo123' \
   -H 'x-backend: nginx' \
   -H 'x-format-output: txt-matched-rules' \
   -H 'x-crs-paranoia-level: 1'

OK. Back at this PR.
The \b idea does not work since the rule 933150 uses @pm. I think the only thing we can do is to remove function names that can be snippets of English words from 933150 and moving them to the manual high-risk list for 933160. We could also add them to 933161 but that's only PL3. Better using 933160 and explaining it in the file.
This includes the following terms:

exp
ord
prev
stat
system (why the heck is this even here. This is an English word and should be in 933160 to begin with)

@M4tteoP can you implement this? Any help needed?

Agreed, I will do it by the weekend

That's very good news. If we can merge this on Monday before the meeting it would be great.
@theMiddleBlue Do you have anything else to add here? More concerns?

uhm... I suggest replacing the @pm operator with a regex (which shouldn't be too challenging with the crstoolchain). Currently, we're essentially shifting the issue to a higher level of paranoia, but I believe it's time to change our approach rather than just accepting false positives.
How difficult would it be to convert this into a regex?
In any case, can we postpone merging this until we've manually tested all of these rules?
thx

I do not think we are accepting FPs here. We are doing all we can within this architecture to avoid them. The basic strategy is: PHP functions names that do not exist in the English language are checked via PM and PHP function names that do exist in the English language either as word or as component of an English word are checked via regex.
What is the advantage of regex over pm when we make sure that the pm only gets those keywords that do not appear in the English language (and as we found out thanks to you: as snippets within words in the English language). I think this really addresses the core of the FP problem with the PM approach.
pm has the advantage that it's easier to read, easier to write and allegedly faster as well. If we stuff everything into a regex (like with the unix commands), we end up with a huge rule. Doable, but I would prefer to avoid it.
Finally, this is one of the roadblocks for CRS v4. Development is dragging along and we can't seem to finish things. I'd rather merge an optimized version of this than change the architecture before the goal and start over. If we optimize it and it still does not work, then I will agree with you.

For the record, I went through the php-function-names-933150.data in the PR and asked chatgpt for English words containing certain snippets where I was not sure. I added unlink and substr to he list above because of unlinked and substring. They seem to be used outside of IT contexts too.

I can't agree @dune73, pm is not the right operator for doing what we're trying to do here.
pm operator, is inadvertently matching English words containing PHP function names.
For example: exp PHP function is included in a tons of English words like
experience
expertise
exploration
exponential
expenditure
etc...
curl -v 'http://sandbox.coreruleset.org/?a=explosion' \
   -H 'x-backend: nginx' \
   -H 'x-format-output: txt-matched-rules' \
   -H 'x-crs-paranoia-level: 1' \
   -H 'x-crs-version: pullrequest-3273'

933150 PL1 PHP Injection Attack: High-Risk PHP Function Name Found
949110 PL1 Inbound Anomaly Score Exceeded (Total Score: 5)

I can find numerous examples similar to this one: prev or ord are other examples
Here we're blocking ?a=preview at PL1!
$ curl -s 'http://sandbox.coreruleset.org/?a=preview' -H 'x-backend: nginx' -H 'x-format-output: txt-matched-rules' -H 'x-crs-paranoia-level: 1' -H 'x-crs-version: pullrequest-3273'

933150 PL1 PHP Injection Attack: High-Risk PHP Function Name Found
949110 PL1 Inbound Anomaly Score Exceeded (Total Score: 5)

Furthermore, we're unintentionally blocking non-PHP functions, which is not our intended outcome.

Instead of continuing the conversation ad nauseam, @theMiddleBlue and I hopped on a call.
We agreed on the course of action laid down in https://github.com/coreruleset/coreruleset/pull/3273#issuecomment-1701850262.
This should address known or expected FPs. If more FPs pop up with 933150, we should shift those keywords over to 933160 via the extended list. This includes stuff before we merge this PR and stuff that pops up during RC or after the release.
Redesigning the four rule of this PR, maybe consolidating into 1-2 regex rules could be an option. But @theMiddleBlue and I agreed this would throw us back at least another month. And we would be trusting our pattern identifying a php function call via the use of parenthesis etc. And we never know if there is a bypass in this regard. The pm operator in 933150 has its merits even if it is more prone to FP.
@M4tteoP promised to deliver an updated PR during the weekend.  @theMiddleBlue and I will review immediately afterwards, namely @theMiddleBlue will try out additional payloads to see if he can provoke more FPs. If things are back to green, I hope to be able to merge before the Monday meeting.

Done, the following terms have been moved out from 933150 and they are now part of 933160 and 933161 (being a stricter sibling).

exp
ord
prev
stat
substr
system
unlink

Considering that system is back to 933160, also the related tests have been moved back. The conversion list of tests has been updated accordingly.
PTAL 🙏

For the record: There is a probability > 0 that random payloads (-> base64!) will hit 933150. The longer the keywords the less likely this is. Yet we have several 5 letter keywords in the list (mkdir, fopen, fputs, rtrim) as well as the 4 letter is_a. While _ is not in the character set for base64, the pure letter words are. We are currently OK with 5 letter words, though. If we start to see random hits on 933150 because of base64 or some other random input, we might have to shift all those keywords out or we we really re-design this entire rule group.


Collect transmission cfg instances

As per title

Opps... this needs #113 to be merged first, which I had totally forgotten, but the code can still be reviewed.

Approved assuming we'll get error handling similar to #113 here.

@gavanderhoorn can you reapprove the PR? I have synced it with the base branch, and added error handling.

Thanks for the review @gavanderhoorn 👍


Combine consecutive unsets

Thanks you @MathiasReker. I must close this PR because it doesn't bring any value.


Incorrect name of Service

The article specifies the below:
--
If you're using Azure Virtual Desktop (classic), choose these apps:
Azure Virtual Desktop (App ID 5a0aa725-4958-4b0c-80a9-34562e23f3b7)
Azure Virtual Desktop Client (App ID fa4345a4-a730-4230-84a8-7d9651b86739), which will let you set policies on the web client
After that, skip ahead to step 11.
If you're using Azure Virtual Desktop, choose this app instead:
Azure Virtual Desktop (App ID 9cdead84-a844-4324-93f2-b2e6bb768d07)
However the screenshots show 'Windows Virtual Desktop' as the service name, and in the Azure portal only the 'Windows Virtual Desktop' service exists. I believe this article has been updated with the new product name, and that the service name has also been updated in error. Please revert the above text to the correct name of the Azure Service - which is still 'Windows Virtual Desktop'
--
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6d1666c5-5bed-be10-287e-0ce6b1c1432a
Version Independent ID: 65db01a7-bb49-aece-b464-df819e73fecd
Content: Azure multifactor authentication for Azure Virtual Desktop - Azure
Content Source: articles/virtual-desktop/set-up-mfa.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

The name has been updated officially to Azure Virtual Desktop. The update happened ~June 2021.
Azure Portal also shows :

The screenshot in the document needs to be updated. I will share this feedback with the author to have the document updated.
Thanks for bringing this to our attention. We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.

I know mthe product has been updated but if you had actually followed the process in the article you would find that the Azure Virtual Desktop service does NOT exist as a selectable service in the portal. The only option is Windows Virtual Desktop.


fix(Deps): Bump cdk to latest

Fixes #

@msessa just more an FYI - latest CDK bumped constructs version, so scanner broke. Just gonna merge, same as the last 2 PR's 😄


Revert "chore: release 0.1.2"

Reverts christerence/react-native-interactive-grid#12

I forgot that it creates a commit to release already :(


Error message after k3s update to 1.22.2

Describe the bug
After upgrading k3s to 1.22.2 i got the error message
the server could not find the requested resource (get ingresses.extensions)
Seems to be a API change.

Looks like there was a breaking change with 1.22: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/

Is there any workaround for this other than downgrading?

Is there any workaround for this other than downgrading?

Currently, no. There are a few other things in my cluster that were not yet updated to support 1.22 so I haven't had a chance to work on this. I plan on attempting to update my cluster this week and will be able to look into this. Should be a simple fix with just a change to the new ingress API path.


Cannot add swtpm PPA source on Ubuntu 20.04

Hi folks,
An error occurred when following common/docs/SIE_ACS_Verification.md to install the swtpm package on Ubuntu 20.04 LTS:
$ sudo add-apt-repository ppa:itrue/swtpm
Cannot add PPA: 'ppa:~itrue/ubuntu/swtpm'.
The user named '~itrue' has no PPA named 'ubuntu/swtpm'
Please choose from the following available PPAs:
 * 'fd-find':  fd-find
 * 'grub-2.12':  grub-2.12
 * 'grubtest':  grubtest
 * 'kiwi':  kiwi
 * 'mesa-riscv64':  mesa-riscv64
 * 'misc':  itrue-misc
 * 'mqueue-dev':  mqueue-dev
 * 'odroid-hc4':  odroid-hc4
 * 'open-build-service':  Open Build Service
 * 'orangepi':  orangepi
 * 'pkcs11-dev':  pkcs11-dev
 * 'rtl8723bt-firmware':  rtl8723bt-firmware
 * 'rtl8723ds':  rtl8723ds-dkms
 * 'sparsecat':  PPA named sparsecat for Isaac True

From this website (https://launchpad.net/~itrue), it seems that Isaac has deprecated the swtpm ppa.
I built it from source code as a solution, so shall we update this doc?
BR,
Weizhao

Hello @ownia,
The guide is updated with steps to build swtpm from source.
Thanks,
ACS team


scrum summary not hitting hubot

scrum summary is not giving me back valid results. I check heroku logs and it seems its the only command not hitting the api.

Hey @aleccool213 Sorry about that, I think we need to release the updated NPM package, I'll do that today!

:dancer:

? issue still open?

It's not working for us either

I'm wondering if there's a permissions problem with Enterprise Slack accounts - having restricted users?


Bump shapeless to 2.2.5

We had a clash between maestro-core and one of coppersmith's dependencies, hence the bump

Sorry, commented on the commit instead of the PR.

I did see that, so I am a little concerned too. Let me explore a little more

:+1: once the comment is removed.

Also can you bump the minor version number.


i cant get mana when i rank up

Are you also using AureliumSkills?

Going to guess yes.. I turned the integration back off by default. If you need help turning it off in the meantime please let me know.


NPE in org.roaringbitmap.FastAggregation.and(Iterator) if Iterator has exactly one element

If the Iterator is empty has at least 2 elements, the result is OK. If it has exactly one element, one get an NPE. Same behavior for the array version of and.
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
	at java.util.ArrayList.rangeCheck(ArrayList.java:635)
	at java.util.ArrayList.get(ArrayList.java:411)
	at org.roaringbitmap.FastAggregation.and(FastAggregation.java:70)

Verified. Thanks. Bug will be fixed in upcoming release.

Issue fixed in 0.4.11. Please reopen if you disagree.


New errand component

Description

fixed the error on the dashboard component when viewing the web version
added the nav bar component to the dashboard
created the skeleton for the add errand component
added the nav bar to the add errand component

How to test
both should be available for viewing on iOS or web
Notes
i noticed that the web view for the css does not always match the iOS view for the css. not sure which one is priority or if this even matters but would like to know if you guys are seeing the same thing
Issue tracking
https://trello.com/c/3xW2NL11/39-add-errand-component-skeleton

 'add errand' component skeleton


Laravel route "login" does not exist.

I'm using Cypress 10, which may be relevant, and version 2.2.1 of this package.
I have a simple test to check the login form works
describe('Login', function () {
    it('redirects to the home page once logged in', function () {
        cy.visit({route: 'login'})
<EMAIL_ADDRESS>            .get('#password').type('password')
            .get('[type="submit"]').click()
            .url().should('eq', Cypress.config().baseUrl + '/');
    });
});

The test passes, but I get the message Laravel route "login" does not exist.

It clearly exists so I'm not sure what is that about. Besides, the message in an assertion and it's green, which indicates it's not an error (which is correct).
Could it be that maybe the package is trying to assert the route exist rather than it doesn't?

facing the same issue

@troccoli I have the same issue but if I add cy.refreshRoutes() to the top of the test then its happy.

It looks like the route handler (in laravel-routes.js) is correctly validating that the route exists, but the "error message" is stating the opposite of what it should state.
I think the feedback Chai and Cypress are giving, should be what we're trying to assert, not what we want to know if the assertion fails. E.g. Assert the route exists, then the message should be "Laravel route "login" should exist"

Placing cy.refreshRoutes() in before() does not fix this for me

I'm ignoring these messages for now. It's only the representation in the Cypress UI that is a bit misleading. The message doesn't appear when running headless mode unless the route actually doesn't exist.


Questions about training

Hello author, I read your paper and feel that the idea is very good. Recently, I tried to reproduce the effect of your model. At first I tried to retrain your model by myself, but the generated c2am effect is always around 44-45, I tried to download your baseline weight and global_CAM_BY_CLASS from your network disk, and then use these two to retrain the model, But the effect is still around 45. But I tried to verify it with the c2am.pth you provided, and the result is around 51 as you reported. I don't know where the problem is. Do you have any additional operations and steps when training c2am? Looking forward to your answer, thanks.
如果方便的话你也可以用中文回答我，万分感谢。

It was resolved as the global_cam was initialized wrong. Quote from the OP

我找到问题所在了，由于目录问题，globalcam那个文件没有读进去被自动初始化成全zero了。还是万分感谢作者回复😊。


FEATURE: block journal entries from being linked

Similar to/alternate solution to #8.
Based on some attribute (privacy settings, journal folder name or something) exclude journal entries from being linked to or linked from.
Most notably Forien's Quest Log.

Was able to open this by navigating via the "linked from" link. Note the exposed GM Notes.

Additional use case: I have handouts that I haven't yet shown to to players. I have visibility on that handout set to None for the players, but I link to journal entries they already have visibility to.
In the journal entries they have visibility to, it links to the journal entry they can't see, including the title of the journal entry. I want the title to be secret.

I think this is also similar to #6 - I'm going to close this as a duplicate.


Getting syntax errors from Dockerfile.all

This seems to fix the problem but I'm not sure if it is the correct fix.
The errors were:
$ docker build -t dev.local/rhdevelopers/greeter:0.0.1  -f Dockerfile.all .
Sending build context to Docker daemon 16.85 MB
Step 1/9 : FROM quay.io/rhdevelopers/quarkus-java-builder as nativebuilder
Error parsing referen>ce: "quay.io/rhdevelopers/quarkus-java-builder as nativebuilder" is not a valid repository/tag: invalid reference format
... then after fixing that one:
Step 6/9 : COPY --from=nativebuilder /project/target/*-runner /application
Unknown flag: from

This seems to be a problem with docker version. Fedora 29 is at Version:         1.13.1
What version is required by the tutorial?

@alanconway  - Docker version does matter . I guess this needs some updated version of docker. I know it works with docker coming with minikube > 0.34.x . Just do $(minikube docker-env) and try ?


support coverage badge generation from pytest --junitxml file

It would be great if we could leverage the same xml from the pytest report generation to generate the coverage badge without needing to install the coverage module.
currently the workflow would be:
# generate reports:
# test report
pytest --cov-report=html:reports/coverage --junitxml=reports/coverage/pytest_coverage.xml
# coverage report
coverage xml -o reports/coverage/coverage.xml

# generate badges
# tests badge
genbadge tests -i < reports/coverage/pytest_coverage.xml -o reports/badges/tests-badge.svg
# coverage badge
genbadge coverage -i reports/coverage/coverage.xml -o reports/badges/coverage-badge.svg

is it possible to consolidate these steps?
pytest --cov-report=html:reports/coverage --junitxml=reports/coverage/pytest_coverage.xml
genbadge tests coverage -i reports/coverage/pytest_coverage.xml -o reports/coverage/

where -o reports/coverage/ will generate badges with default names, and specifying names would require badges to be generated individually.
appreciate the project!
Thanks very much

Thanks @pixelpicnic for the suggestion!

without needing to install the coverage module

pytest-cov is just a tiny wrapper of coverage so you install it already :) : https://github.com/pytest-dev/pytest-cov/blob/master/setup.py#L133
Does it change your opinion about this feature ? Otherwise I'll accept any non-destructive PR (i.e. all existing features must continue to work as is) that would implement it.
You might need to leverage click's multi command design https://stackoverflow.com/a/59391691/7262247 , hopefully this won't get too complex.

Cheers @smarie, I'll give that a shot.
Thanks for the info!


Comment stream dropping comments?

Issue Description
A simple consumer like the below seems to not be processing all comments.
I observed a drop in total comment throughput with the praw stream sometime around december 2018 and it has never really recovered.
I have tested by manually making a number of comments and observing that some of them don't get captured by the praw stream.
IO on the client side is not a limiting factor.
for comment in reddit.subreddit('all').stream.comments():
   do_something(comment)

System Information

PRAW Version: 6.0.0
Python Version: 3.7
Operating System:

@bicubic unfortunately the /r/all comment stream isn't 100% reliable. If you can find a way to increase reliability we'd definitely love to incorporate those ideas. What part of the documentation would make sense to update to state this observation?

The stream docs I guess.
Do you have any clues as to why it's not reliable? Is it the reddit api or is it praw itself? Are you aware of the volume drop I mentioned around December?

I'm not aware of any such volume drop. PRAW can grab up to 100 comments in a single request and makes requests roughly one a second (assuming you have only a single service running using your credentials). That means if Reddit ever gets more than 100 comments in a single second (more precisely, since the last request) items will be missed.
The part PRAW relies on is how quickly Reddit updates those listings. Observations would show that they're pretty reliable at returning results, however anecdotal evidence suggests that for active streams (all comments) that the listing isn't always perfectly updated since it's constantly being updated.
For better results, monitor only communities that you're interested in if you want a real time stream. For non real time results give pushshift a try.

That means if Reddit ever gets more than 100 comments in a single second (more precisely, since the last request) items will be missed.

That is not consistent with the failure mode I am seeing. Below is a count of comments ingested per approx. 1 second. They are floats because the counting mechanism is timed by the stream processor firing and so elapsed delta time may be some fraction higher than 1s.
Note that at no point does the throughput approach 100/s and in fact there is a pretty clear pattern of the throughput dropping to almost 0 on some calls.
4.110971667883664
29.12902488487295
31.61212391783092
1.2129483990617538
24.822695849963917
29.510219336362287
1.9923585240590969
37.163753280067624
3.9991415594933675
28.728541629348506
15.77966205792097
40.240926468318406
2.3981417749479816
24.74006601886485
29.92579635109039
1.3119115163031925
24.50243685705319
23.09836711640005
2.15659769109899
22.514574895599996
22.387294394752487
24.32655040884775
3.1010417302469966

Thanks for the data. If you can narrow it down more, I'd love to be wrong so that things can be fixed. You can try logging the actual requests to see if that helps shed any light on the missed comments:
https://praw.readthedocs.io/en/latest/getting_started/logging.html
Keep in mind too that comments might be going into a spam filter and thus they won't show up in the listings. However, they should be re-added when approved, but I don't know where in the listings they are added.

I'm not sure how I can help narrow it down since I have zero understanding of praw, but here is something you can easily test yourself.
https://gist.github.com/bicubic/774bf7ae25c29d78acb39d6d2b07849c
Couple of observations:

When I tested, the above averaged 55 comments per second, praw was averaging 22 for the same time period
Just like praw, the above does show that some periods show 0 new comments. I'm guessing there's a time gated cache sitting behind that endpoint
The above showed that some outputs contain exactly the maximum number of 100 fresh comments, so it is a source of some drops but does not explain why praw's throughput is so low

I don't know how praw works under the hood, but if it's calling a similar endpoint and sleeps between calls, then I can see how it would be losing fresh comments due to the 100 return limit. Let me know if I can help further.

I tried this script
import logging
import sys
import praw

logging.basicConfig(
        level=logging.DEBUG, stream=sys.stdout,
        format='%(asctime)s %(message)s')

reddit = praw.Reddit(...)
for comment in reddit.subreddit('all').stream.comments():
    print(comment.id)

And here is the result log. As we can see, there are many dropped comments as @bicubic  pointed out, and some of them can be retrieved later via api/info:
>>> import praw
>>> reddit = praw.Reddit('nmtake-script')
>>> dropped = ['t1_eivp01' + c for c in 'pquvxyz']
>>> for comment in reddit.info(dropped):
...     print(comment.id, comment.author)
...
eivp01p InnerRisk
eivp01q Skewered_Planets
eivp01u None
eivp01v Cirkah
eivp01x Chishikii
eivp01y sowaffled
eivp01z None

I too am guessing it's a cache problem (rather than private subreddit or unapproved comment). As the second GET /comments request in the log suggests (it returns only 9 comments and too many holes), PRAW is requesting too fast?

My testing suggests that this might have to do with the suboptimal before param adjusting PRAW does.
I’ve modified bicubic’s script to output comment ids to a text file, and compared them to the ids output by the following script:
import os
import praw

reddit = praw.Reddit()
subreddit = reddit.subreddit('all')

with open(os.path.splitext(__file__)[0] + '.txt', 'w') as fh:
	for comment in subreddit.stream.comments(pause_after=None, skip_existing=True):
		print(comment, file=fh)

I’ve compared the two text files—bicubic_stream.txt and praw_stream.txt—by counting the number of lines that we’re in each but missing from the other, using the following approach.
$ timeout -s SIGINT 120 python3 praw_stream.py & timeout -s SIGINT 120 python3 bicubic_stream.py
$ # diff <(sort bicubic_stream.txt) <(sort praw_stream.txt)
$ diff --color=no -U0 <(sort bicubic_stream.txt) <(sort praw_stream.txt) | tail -n +3 | grep -c '^-'
$ diff --color=no -U0 <(sort bicubic_stream.txt) <(sort praw_stream.txt) | tail -n +3 | grep -c '^+'

Here are some results, running both scripts (in parallel) for 2 minutes, and also some 5 minute trials. The first column is the number of ids in bicubic_stream.txt that weren’t found in praw_stream.txt, and, vice versa, the second column is the number of ids found in praw_stream.txt that weren’t picked up in bicubic_stream.txt. Each line represents a new trial.
# 2 minutes
518,247
715,334
489,662
512,682
573,470
659,508
693,265
678,279
681,557
588,190

# 5 minutes
1552,1012
1236,1199
1058,1835

The results vary inconsistently between trials, but bicubic’s stream seems to have a higher potential to win by a bigger margin.
Now, I’ve repeated the same tests but changed the following line:
https://github.com/praw-dev/praw/blob/dba778ac1fea7cc6f5efd40108d04bd9b0e4c3cc/praw/models/util.py#L172
To
list(function(limit=limit, params={"before": None}))

Here are some results:
# 2 minutes
237,946
250,737
281,831
232,774
173,910
220,751
312,562
208,653

# 5 minutes
925,1587
463,1529
460,1237

PRAW’s stream now consistently beats bicubic’s stream by a very significant margin. I can’t explain why the results differ so much here. I almost feel like there’s some flaw in my testing since I’m getting such positive results, but I’m certain that the before adjusting is a factor to PRAW’s low throughput when streaming comments from r/all.

I noticed this discussion about stream_generator() by @bboe and @Pyprohly. I should have read it before posting my above comment. Also, here is a similar report on /r/redditdev: My comments don't show in sub.stream.comments, and I don't know why

So where do things stand? What change to PRAW, if any, would produce better results? It'd be great to pull such a change in if one exists.

Well assuming that it is a matter of before adjusting, one way to solve things would be to just lose the before adjusting, but this would reduce the efficiency of the stream. Doing this would only benefit those who are specifically streaming comments from r/all, so this is not a good solution.
The best thing to do now would probably be to just have PRAW detect that r/all is being streamed from, and have it use a None before value each time.
This could be implemented by having stream_generator() take a before_adjusting=True parameter, and have it be set to False when r/all is the target stream.

Can you say more about losing the efficiency of the stream? For slower streams, PRAW introduces longer wait limits when nothing has changed, so maybe dropping that param altogether is fine. I'd personally prefer higher accuracy over efficiency, and I suspect many PRAW users would as well.

@bboe I have no idea because I don't know what the root cause of this problem.

Sorry for the confusion @nmtake. That question should have been addressed directly to @Pyprohly regarding this comment:

Well assuming that it is a matter of before adjusting, one way to solve things would be to just lose the before adjusting, but this would reduce the efficiency of the stream.

I think removing the before adjusting would be an acceptable fix for now, although know that everyone who’s not streaming from r/all is going to be slightly worse off, which makes me a little bit uncomfortable.
But it’s not like any other reddit api library does any sort of fancy before param adjusting either.
I’ll reintroduce before adjusting with a more optimal algorithm by the time I’m though with #1025. (My new streaming implementation already tries to detect the target listing’s activity and adjusts before accordingly, and in a future edit I’ll get it choose to keep using a None value for active listings like r/all.)

I'm guessing this isn't praw's fault, but reddit not updating the index's powering the before parameter fast enough, causing it to not properly find submissions "before" the id if that id was added to the index only a second before. The average number of comments being submitted to reddit each second has grown something like 30% in the last year, so I wouldn't be surprised if something on their side isn't able to keep up.
I think removing the before parameter is the right solution, and will at worst undetectably decrease performance. Worst case it fetches 100 items instead of 1, then iterates over all 100 client side and throws away 99 of them, which is a very fast operation compared to the request time.
It might be worth it to special case r/all rather than doing this globally though, since no single subreddit (or even a collection of them) is a majority of the new comments.

None of the approaches discussed here are actually capable of capturing 100% of r/all. That should be kept in mind for any changes to praw. For some use cases a loss rate of 5% is just as bad as 25%.
Perhaps its worth considering a different approach for those who do want the 100% r/all firehose and treating that as a special case.

Aside from this bug, this approach absolutely will capture 100% of r/all as long as you don't make any other requests. And if you are planning to make other requests, there's no endpoint that will let you catch up since no endpoint returns more than a hundred objects.
It could be made more robust by using an incremental id based approach like pushshift does, but that won't solve the underlying problem of reddit getting 60-70 new comments a second and the client only being able to retrieve 100 at a time.
Just use pushshift. That's why it was created.

Having run an incremental ID fetch solution for the last few days, I see multiple time periods where the throughput rate exceeds 100messages/s.
Does that not impose a guaranteed loss on any orthodox api based approach?

It averages out to 60-70 comments a second. As long as you kept track of which ids you had processed and  which you hadn't, you can just keep requesting the ones you hadn't and you'll eventually catch up. In times of peak activity you might fall minutes behind, but as long as you're only requesting comments and not doing anything else you'll be fine.
How are you running an incremental ID approach?

How are you running an incremental ID approach?

Probably in a similar way pushshift does. With a pool of workers across multiple IPs making up to N polls per second for 100 explicit IDs each. I don't think such an approach is viable on a single node without technically violating api rate limits.

Well I'm reasonably sure that u/Stuck_In_the_Matrix only runs one request a second for pushshift. And he fetches comments and submissions in the same request. He's talked recently about adding a second requester, but he hasn't needed to yet.
I'm not really sure where you're getting multiple hundreds of distinct ids a second from, reddit just doesn't get that much content other than a few brief periods during major sporting events.
This might be getting a bit off topic though.

Correct, I have a surplus of polling capacity because I'm re-polling comments to watch scores and thread progression.
To consume 100% of the firehose in real time you need to be capable of fetching up to 2x100 item queries per second. Re-polling at a later time is not ideal due to comments getting moderated or deleted seconds after creation. Re-polling also prevents use cases like bots reacting to firehose comments in real time.
tl;dr I don't think any orthodox approach can consume the firehose at 100% in real time. This is going to become increasingly an issue as daily comment volumes continue increasing. For that reason it might be worthwhile to treat the r/all stream as a special case in praw.

Can y'all see if the following PR improves the streaming functionality?
https://github.com/praw-dev/praw/pull/1050/files
Thanks!

Yes, #1050 works well for me @bboe.
I’ve noticed you’ve decided to do away with limit adjusting as well. You once mentioned to me that part of the reason for the param adjusting is to avoid cached results. I’d like to know about any relevant discussions. There must have been a reason for adding all this adjusting in the first place.

I just want to note that I'm seeing the same issues mentioned here and I'm eagerly awaiting a new version that includes #1050.

In my case, I'm looping through a list of subreddit titles and passing subreddit_title to create the subreddit object.
The following
subreddit = reddit.subreddit(subreddit_title)
for comment in subreddit.stream.comments():
   print(comment.id)

prints 1 commend ID per second / per subreddit.
I thought it might be a rate limiting issue, but every first subreddit that I stream comments from does the same as all the subreddits following. Doesn't rule out rate limiting, but I can't figure out what's wrong.

Maybe the subreddit does output 1 comment/sec. Try on AskReddit, which has a high comment throughput.

Since this issue hasn't been fully resolved yet, is there at least a method to decrease the proportion of comments that are dropped?
I've noticed that the bot I wrote doesn't process most comments.
If I'd had to take a guess I'd say only around 20% of actual comments are retrieved via reddit.subreddit('all').stream.comments()


Request: Rainbow lighting effect

There is an effect is SSE that makes a mouse change it's color from one to another in a cycle. You can pass in any amount of colors and SSE will build a transition between them. It is a very challenging feature to have, but it is (as far as I can see) the only missing lighting feature. Ofc this is a low-priority thing, but rather nice to have. Any thoughts on that?

Hello,
Wich mouse are you talking about?
Rivalcfg supports gradients (and it will be improved in v4.0 that will be released in few weeks), but this is only supported for devices that implement it in the hardware.
Some devices like the Rival 310, 600, 700, 710, Sensei 310,... Have an hardware support for this feature so it is (or it will be) supported by rivalcfg.
And some other devices like the Rival 100, 110, 300, 3,... Have no hardware support of color gradient, so it will not be supported by rivalcfg (because it requires to implement a daemon that updates the color, and this is out of the scope of this software for now).
:)

I added this question in the FAQ to make this more visible:
https://flozz.github.io/rivalcfg/faq.html#why-rivalcfg-does-not-support-color-gradients-color-shift-rainbow-lighting-effect-on-my-mouse-whereas-the-steelseries-engine-does
Thank you for the issue, it helps improving the doc :)

Sorry for the late reply. I have Rival 100, it's a pity it's not supported, though completely not critical. Thanks for your answer andglad to help you improve the doc :)


⚠ Bofrost.at has degraded performance

In 886808e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1162 ms

Resolved: Bofrost.at performance has improved in 6b41af0.


Ticks Not Right

The ticks are in the wrong place in this document. See the descriptions for Example B and Example C. There are tick marks, like this.....:    The following example creates a geometry``Point instance representing the point (3, 4) w  .....   There ought NOT  be NO tick marks, correct?   It reads as if the tick marks are some kind of weird "markdown" anomaly.  It might tick someone off.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 359226f6-b858-ffab-59ac-474e43381fd3
Version Independent ID: 0b8aaaa0-a09a-c72d-eb08-963d631aaec9
Content: Point - SQL Server
Content Source: docs/relational-databases/spatial/point.md
Product: sql
Technology: ****
GitHub Login: @MladjoA
Microsoft Alias: mlandzic

@CubeSpark , thanks Robert, the pull request is on its way.

#please-close

Awesome !   Maybe you can help with the next one?  Bulk Load Format File xsi:type for GEOMETRY Not Available
#6047


Don't include system-generated Forum threads (e.g., new task threads) in the Discourse summary emails

Workers will get the emails anyway from Boomerang, and Requesters will feel inundated with seeing all of each others' tasks.

removed "Tasks" from digest emails


[type:feature] Add sdk-feign's example and integrated test.

Add sdk-feign's example and integrated test.
Make sure that:

[x] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #5099 (df2723c) into master (11cd02a) will decrease coverage by 0.13%.
The diff coverage is 75.00%.

@@             Coverage Diff              @@
##             master    #5099      +/-   ##
============================================
- Coverage     61.83%   61.71%   -0.13%
+ Complexity     8496     8484      -12
============================================
  Files          1227     1227
  Lines         36964    36949      -15
  Branches       3514     3510       -4
============================================
- Hits          22858    22803      -55
- Misses        12144    12182      +38
- Partials       1962     1964       +2

Files Changed
Coverage Δ

...pache/shenyu/sdk/feign/ShenyuClientsRegistrar.java
56.86% <66.66%> (-2.37%)
:arrow_down:

...pache/shenyu/sdk/feign/ShenyuClientCapability.java
76.19% <100.00%> (-3.81%)
:arrow_down:

... and 28 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@yunlongn pls review.


Feature/general style

made sections smaller (including footer) + removed the slant on some pages

Is there any reason why this hasn't been merged yet?

I did this after our meeting, so it hasn't been merged yet


Fix JuMP compatibility

Pkg is allowing MathOptInterface 0.9 to be installed with JuMP 0.19.0. They're not compatible. This attempts to fix the issue, although I don't understand the format of the version specifiers used here (they're not documented at https://julialang.github.io/Pkg.jl/dev/compatibility/#Compatibility-1).

I think the problem is that the Project.toml was only added to JuMP.jl after version 0.19 was tagged. Back then, it was still based on REQUIRE.
The current syntax should be fine and allow MOI in the range [0.8.1, 0.8.2)


Tailscale inside pods: How to get reliable direct connections?

Goal
Allow Tailscale pods to be exposed for direct connections from other devices to Tailscale pods.
Avoid going through relays, since most connections are either roaming to home or within home (avoid extra hop).
Use Tailscale operator to share apps like Kavita and Jellyfin to other Tailnet users, which doesn't allow setting custom labels on the deployed pods, nor does it have predictable labels.
Todo

[ ] Check with others if their Tailscale pods can establish direct connections when roaming to home (other devices to Tailscale)
[ ] Check why SSDP packets (dest <IP_ADDRESS> UDP port 1900) are being dropped according to Hubble because TTL exceeded DROPPED (UDP) but netpols allow it
[ ] Check if MTU is the reason for the above (cannot confirm, but 9000 MTU on both router and Kubernetes nodes makes the Hubble CLI not show the TTL exceeded dropped flows but Hubble UI shows it)

Ideas

Add Multus as 2nd interface in Tailscale pods to another VLAN where static port forwarding or NAT-PMP/UPnP/PCP is allowed (if Tailscale operator doesn't yet support it and Multus can't target controllers, use Kyverno to add labels to managed pods)
Tailscale DERP relay on OPNsense (go install derper? extension?)
Tailscale DERP relay on Kubernetes (custom container image, port forward?)
???

Regular Funnel or non-eBPF CNIs might be happier in terms of ease of routing to Tailscale pods? Either that, or fluke testing because other side of Tailscale pod was reachable as a listener.

Closed as not using Tailscale anymore.


CLOUD-1124: Add support for UAK

https://github.com/veertuinc/anka-cloud-gitlab-executor/issues/11


Add Player World to end of !Layout command (Toggle)

Resolves https://github.com/runelite/runelite/issues/10566

Currently this will only show the world the player receiving/sending the message is on not the world the actual raid is on.

Currently this will only show the world the player receiving/sending the message is on not the world the actual raid is on.

From my tests you can only do the !layout command once a member of your party has entered the raid.
Would a check on whether you are scouting the raid or not help?:
if (config.worldDisplay() && inRaidChambers)

The world needs to be sent along with the data to actually be valid, since it would only ever show the world that the receiving player is on.

That wouldn't do anything, the process of a chat command is it has to be submitted to the server and then the other clients pull it down from the server and the display it.
You will need to have http-service set up to be able to test this properly

If you assume the player is always on your FL/CC you could probably just grab the player world from that, and not show it otherwise.


Increased test coverage

WIP

It's funny, both of us increased coverage at the same exact time, hahaha


Clarification/update to Github Readme with Splunk support status

Github and Readthedocs.io appear to conflict with respect to Splunk support status.
Github states "Community Supported" and Readthedocs states this product is "officially supported". These should be aligned with the same language.

:tada: This issue has been resolved in version 1.79.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Narrowing strangeness with instanceof

TypeScript Version:  nightly (2.1.0-dev.20160804)
Code
function f(s: Set<string> | Set<number>) {

    // (1)
    s = new Set<number>();
    s // s is Set<number>
    if (s instanceof Set) { } // Clearly no side-effects here. No possible changes to s.
    s // s is Set<number> | Set<any>                                                 <===== (1a)
    s.add(42); // ERROR: Cannot invoke an expression whose type lacks call signature <===== (1b)

    // (2)
    s = new Set<number>();
    s // s is Set<number>
    if (s instanceof Promise) { } // Clearly no side-effects here. No possible changes to s.
    s // s is Set<number> | (Set<number> & Promise<any>)                             <===== (2a)
    s.add(42); // No error this time                                                 <===== (2b)
}

function g(s: Set<string> | Set<number>) {

    // (3)
    s // s is Set<string> | Set<number>
    if (s instanceof Set) {
        s // s is Set<string> | Set<number>
    }
    else {
        s // s is never                                                              <===== (3a)
        s.add(42); // ERROR 'add' does not exist on never                            <===== (3b)
    }

    // (4)
    s = new Set<number>();
    s // s is Set<number>
    if (s instanceof Set) {
        s // s is Set<any>
    }
    else {
        s // s is Set<number>                                                        <===== (4a)
        s.add(42); // no error, but we couldn't possibly have a Set instance here    <===== (4b)
    }
}

Expected behavior:

inferred type of s at (1a) is Set<number>
inferred type of s at (2a) is Set<number>
inferred type of s at (3a) is never
inferred type of s at (4a) is never
Compiler errors at (3b) and (4b)
No compiler errors at (1b) and (2b)

Actual behavior:

inferred type of s at (1a) is Set<number> | Set<any>
inferred type of s at (2a) is Set<number> | (Set<number> & Promise<any>)
inferred type of s at (3a) is never
inferred type of s at (4a) is Set<number>
Compiler errors at (1b) and (3b)
No compiler errors at (2b) and (4b)

Notes:
Brought over from #9862 which is closed. See that issue for the discussion leading to the above examples. Cc: @ahejlsberg, @sandersn

Just tried the nightly - works great! Thanks for the brilliant work @ahejlsberg


Doesn't work if no internet connection

Package requires internet connection to read data from AMF_CVs. Could develop an option to download all the required data on package install (when an internet connection is required anyway), include that data within this package (for "from source" builds), or an caching option to save files as it downloads them so they don't need to be downloaded again.

Next thought, package could come with (or download on install?) data for latest version of standard, and then if future versions (or past I suppose) are required, downloads them then?

where would this data be downloaded to and saved on the computer? Linux/Windows/Mac differences?

Added option to use locally stored tsv files in https://github.com/joshua-hampton/ncas_amof_netcdf_template/commit/3baa6d5268a29f5cd5d39fbcd60b857354c33a34
User will need to download tsv files manually - instructions on how to will be added to documentation.

Forgot to add checking for using local files to the product_dict function in tsv2dict, so that a url request was still being made when trying to use local files. Fixed in https://github.com/joshua-hampton/ncas_amof_netcdf_template/commit/03d850e707b2db60a5a572eed0b0a06e38984889


Extract SignPayload and VerifyPayload w unit tests

Improvement intended for #1345

Coverage increased (+0.06%) to 34.933% when pulling 00e11867da7e196a437dd08121520e9dff913db8 on tested-sign-and-verify into 5513cba6e63c36c56cdf70e435af371509faedd4 on master.


support crdt-benchmark

https://github.com/dmonad/crdt-benchmarks

Map/Array/Text, only support js

https://github.com/josephg/editing-traces

Text, edit history in JSON

Implement edit_bench / update_bench in yjs_in_erlang_crdt_benchmark for https://github.com/josephg/editing-traces.


Item positioning when start dragging.

I have a strange issue, when dragging of an item just started, the draggable item jumps about 50px down and a few pixels right. So the cursor stays at nothing but actually drags the item. Any suggestions? Thanks in advance. EDIT: I noticed this is when I use the containment option. Without containment options is ok, but the draggable item doesnt have background.

@dbrezoev How did you manage to fix this problem? I am getting same issue.