Duplicate URL in API coverage when using with FastAPI

Description

Duplicate URLs in API coverage when using with FastAPI.
FastAPI usually mounts two url for an single route

With / at the end
Without / at the end

Started adapting route: /administrator/v1.0/bulk/{job_type}/import/ with methods: {'GET'}
Adapter result: url: /administrator/v1.0/bulk/{job_type}/import, methods: [GET]

Started adapting route: /administrator/v1.0/bulk/{job_type}/import with methods: {'GET'}
Adapter result: url: /administrator/v1.0/bulk/{job_type}/import, methods: [GET]

These routes are treated as separate routes in api coverage table but these shoule be treated as one route

|       0% | /administrator/v1.0/bulk/{job_type}/import                                                                               | GET    |          |           0 | missing in spec |
|          |                                                                                | POST   |          |           0 | missing in spec |
|     100% | /administrator/v1.0/bulk/{job_type}/import/                                                                              | GET    |      200 |           1 | covered         |
|          |                                                                                |        |      400 |           1 | covered         |
|          |                                                                                | POST   |      200 |           1 | covered         |
|          |                                                                                |        |      400 |           1 | covered         |                                                                                | POST   |      200 |           1 | covered         |

Steps to reproduce

Create an flask server with some routes.
Create an API specification for the same.
Run specmatic contract test and check the coverage table.

Expected behaviour
Same routes ending with and without / should be treated as an single route.
System Information:

OS & version: MacOS 12.4
Specmatic version: 0.81.0(Node Wrapper)
JDK version: 11.0.16

@barath121 Thanks for reaching out. Need a few clarifications.
You are referring to a Flask app, however in the "System Information" section you have mentioned Specmatic "node wrapper". Did you mean to say "Python wrapper". This was fixed quite some time ago (0.15.1).
Can you please check on the latest Python wrapper release 0.22.0?

@harikrishnan83 Sorry we were running specmatic python wrapper 0.15.1 but still are facing this issue. I will try updating to the latest version and check if this issue still exists and update here.

Thanks for the help @jaydeepk , Spec had the / in it.


Problem with http m3u8 on web

Describe the bug
I receive error on web version of Iptvnator when I try to play http live stream urls. The url works because if I past it on vlc it is correctly reproduced.
To Reproduce
Steps to reproduce the behavior:

Go to https://iptvnator.vercel.app/

Click on 'Import as text'

Paste this:
#EXTM3U
#EXTINF:-1,[1] TEST
#EXTVLCOPT:http-user-agent=Mozilla/5.0
http://wms.shared.streamshow.it/canale51/canale51/playlist.m3u8

then click on 'Import'

Try to play the channel and see the error

Expected behavior
I want to reproduce http url like https urls.

The application is deployed in https:// context, but the stream domain is using http://, see: https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content
There are two possible solutions:

Self-host the app locally in http context
Use desktop (electron-based) version of the app

I tried to self-host app locally in http context but I have CORS error. There is a way to add on header the value: 'Access-Control-Allow-Origin *'?

I confirm, same problem on linux application.

I run it with docker.

Okay, check this docker-compose file please, there you can specify the client and backend urls with respective ports https://github.com/4gray/iptvnator/blob/electron/docker/docker-compose.yml
Also feel free to check this issue for some configuration details and examples: https://github.com/4gray/iptvnator/issues/220

Ok, I write wrong the backend url with http instead of https. Now URL of iptv list is loaded correctly.


X windows not on screen boundaries

Build :  Microsoft Windows [version 10.0.17134.254]

What is happening : Two screens, unplug one. WSL X windows that were on the other screens do not pop back to the remaining screen.

What should be happening instead : The windows should be moved to the remaining screens.

Using vcXsrv v<IP_ADDRESS> (31/09/2018), Ubuntu 18.04 distrib for WSL.

This behavior is determined by VcXsrv and/or your X window manager (if you are running one). You'll get better service on the question from the purveyors of those products. Tag linux-bevavior because you will (surely) see the same thing running a Real Linux VM with identical client-side setup. Ref #637 (message).


Additions to the leadership team on About Us

Sanjiva Weerawarana, PhD
Founder, Chairman & CEO of WSO2

Dr. Natasha Perera
Medical Coordinator to Red Cross Elixir Project

@anjula-sack please remove Charuka Karunanayake also

@anjula-sack please remove Charuka Karunanayake also @dinuka-rp

sure


PR for tasks

This PR does not resolve any outstanding issues.

Attempted to fix "missing data" flag issues

There are issues inside of the large_anomaly_flag function and generate_flag_report function that I am not positive are resolved. There many combinations of flags that have "missing data" in them and I am not sure that I got all of them.

Moved functions from 01-organize_raw_data.Rmd to their own folders.

verification_functions
plotting_functions
flagging_functions
data_munging_functions

Created flagging_descriptions folder for the flag markdowns.

Created standard_deviation_flag.Rmd and pushed the .html as well.

Moved the percent_flagged script from scratch/misc. into the qaqc folder

I'm pulling without reviewing, as I plan to make substantial changes that I will be submitting as a pull request to you @juandlt-csu. Stay tuned for that this evening!


22 hamcrest in tests

Closes #22

@Graur please take a look.

@includealex Can you change this version please: https://github.com/objectionary/eo-files/blob/master/pom.xml#L107

@Graur 3.10.1 is the newest version now. Should I change it back to 3.8.1 to restore changes of this pull request?

@includealex Yep

@Graur please have a look

@Graur please check this one

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 6min)


Digest template is broken

2016-05-11 12:00:45,104 ERROR    Problem handling data on queue digest_emails
Traceback (most recent call last):
File "/home/zulip/deployments/2016-05-11-09-39-39/zerver/worker/queue_processors.py", line 72, in consume_wrapper
self.consume(data)
File "/home/zulip/deployments/2016-05-11-09-39-39/zerver/worker/queue_processors.py", line 335, in consume
handle_digest_email(event["user_profile_id"], event["cutoff"])
File "/home/zulip/deployments/2016-05-11-09-39-39/zerver/lib/digest.py", line 206, in handle_digest_email
'zerver/emails/digest/digest_email.txt', template_payload)
File "/usr/lib/python2.7/dist-packages/django/template/loader.py", line 98, in render_to_string
template = get_template(template_name, using=using)
File "/usr/lib/python2.7/dist-packages/django/template/loader.py", line 42, in get_template
return engine.get_template(template_name)
File "/home/zulip/deployments/2016-05-11-09-39-39/zproject/jinja2/backends.py", line 36, in get_template
sys.exc_info()[2])
File "/home/zulip/deployments/2016-05-11-09-39-39/zproject/jinja2/backends.py", line 29, in get_template
return Template(self.env.get_template(template_name),
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 791, in get_template
return self._load_template(name, self.make_globals(globals))
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 765, in _load_template
template = self.loader.load(self, name, globals)
File "/usr/lib/python2.7/dist-packages/jinja2/loaders.py", line 125, in load
code = environment.compile(source, name, filename)
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 554, in compile
self.handle_exception(exc_info, source_hint=source)
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 742, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/zulip/deployments/2016-05-11-09-39-39/zproject/../templates/zerver/emails/digest/digest_email.txt", line 1, in template
{% load app_filters %}
TemplateSyntaxError: ("Encountered unknown tag 'load'.",)

@umairwaheed can you investigate?

@timabbott on it.

@timabbott I have fixed this, just adding a test now.

Fix merged, thanks for reporting this @AcidWeb!


shellIntegration-bash.sh: parse last history command a little more rigorously

The bash shell integration's __vsc_history_verify feature can be confused if HISTTIMEFORMAT is set. It also unnecessarily invoked the external sed simply to remove the history number prefix.
This updates the implementation to avoid both of these probably-minor issues.

Without these changes, this is what we store in Run recent command when I have set HISTTIMEFORMAT="%d/%m/%y %T "

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Adds needed capitalization.

Webpack was not capitalized, noticed it on https://jestjs.io/docs/getting-started and then found it here.

Codecov Report

Merging #12245 (5edfea7) into main (5d483ce) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main   #12245   +/-   ##
=======================================
  Coverage   67.51%   67.51%
=======================================
  Files         328      328
  Lines       17246    17246
  Branches     5071     5071
=======================================
  Hits        11643    11643
  Misses       5570     5570
  Partials       33       33

Continue to review full report at Codecov.

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

https://github.com/facebook/jest/pull/12246#pullrequestreview-865872014


CLOUDSTACK-10310 Fix KVM reboot on storage issue

Rebase of #2472 onto 4.11
If the KVM heartbeat file can't be written to, the host is rebooted, and thus taking down all VMs running on it. The code does try 5x times before the reboot, but the there is not a delay between the retires, so they are 5 simultaneous retries, which doesn't help. Standard SAN storage HA operations or quick network blip could cause this reboot to occur.
Some discussions on the dev mailing list revealed that some people are just commenting out the reboot line in their version of the CloudStack source.
A better option would be have it sleep between tries so it isn't 5x almost simultaneous tries. Plus, instead of rebooting, the cloudstack-agent could just be stopped on the host instead. This will cause alerts to be issued and if the host is disconnected long-enough, depending on the HA code in use, VM HA could handle the host failure.
The built-in reboot of the host seemed drastic

Looks like there is an additional Issue open #2657

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2154

@blueorangutan test

Trillian test result (tid-2827)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 30394 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr2722-t2827-kvm-centos7.zip
Intermitten failure detected: /marvin/tests/smoke/test_deploy_virtio_scsi_vm.py
Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermitten failure detected: /marvin/tests/smoke/test_vm_life_cycle.py
Intermitten failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Intermitten failure detected: /marvin/tests/smoke/test_vpc_vpn.py
Intermitten failure detected: /marvin/tests/smoke/test_hostha_kvm.py
Smoke tests completed. 63 look OK, 4 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestDeployVirtioSCSIVM>:setup
Error
0.00
test_deploy_virtio_scsi_vm.py

test_03_vpc_privategw_restart_vpc_cleanup
Failure
1116.27
test_privategw_acl.py

test_05_rvpc_multi_tiers
Failure
319.98
test_vpc_redundant.py

test_05_rvpc_multi_tiers
Error
341.79
test_vpc_redundant.py

test_hostha_enable_ha_when_host_in_maintenance
Error
2.44
test_hostha_kvm.py

@Slair1 why not master instead of 4.11?
4.11.1 just went out.

@borisstoyanov I didn't know if there was going to be another 4.11.x release or not.  If we prefer, i can rebase to master?

@Slair1 this is a bug fix. It can go into 4.11 and if we merge we also merge forward to master

This PR doesn't seem to completely fix the reboot problem. We installed the RC release with this PR on a test system and are still able to get the KVM host to reboot by using iptables to drop outgoing requests to NFS. My investigation shows that the line storage = conn.storagePoolLookupByUUIDString(uuid); blocks indefinitely.  So, kvmheartbeat.sh is never executed, a host investigation is started, the host with blocked NFS is marked as Down and finally all VMs on that host are rescheduled and result in duplicate VMs.
I pulled a thread dump and found the KVMHAMonitor thread will hang here until NFS is unblocked, didn't dig any deeper yet though.
   java.lang.Thread.State: RUNNABLE
        at com.sun.jna.Native.invokePointer(Native Method)
        at com.sun.jna.Function.invokePointer(Function.java:470)
        at com.sun.jna.Function.invoke(Function.java:404)
        at com.sun.jna.Function.invoke(Function.java:315)
        at com.sun.jna.Library$Handler.invoke(Library.java:212)
        at com.sun.proxy.$Proxy3.virStoragePoolLookupByUUIDString(Unknown Source)
        at org.libvirt.Connect.storagePoolLookupByUUIDString(Unknown Source)
        at com.cloud.hypervisor.kvm.resource.KVMHAMonitor$Monitor.runInContext(KVMHAMonitor.java:95)
        - locked <1afb3370> (a java.util.concurrent.ConcurrentHashMap)
        at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
        at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - None```

Good find @csquire, @Slair1 any comments? /cc @PaulAngus @borisstoyanov @DaanHoogland

Sorry, I misspoke in my last comment (edited to make it correct). The blocked host doesn't reboot, it just gets marked as Down and the VMs are actually still running on it when duplicate VMs get provisioned. Maybe it's a completely separate issue, but will still prevent us from using 4.11 in production.

@csquire The VMs should eventually crash themselves since they won't have access to their disks.  In our environment when a host gets marked as down we get alerted and an engineer can take a look at what is going on.  Yes, we rely on VM HA to decide what to do with the problem host also.  We make sure lockd is enabled so we don't get a split-brain situation.
https://libvirt.org/locking-lockd.html

@Slair1 thanks for the feedback, I will run more tests.  The behavior is still incorrect, so I went ahead and submitted issue #2890

@Slair1   Testing with virtlockd,  if the host that crashed can't come back I had to manually clear the locks for VM HA to fire and restart the VM.  At that point it's the same as disabling VM HA and manually restart VM's after a KVM host crash.    How is your setup different ?

@somejfn maybe because I have PR #2474 also installed?

I should n't have taken word on this, I tested and could not reproduce the behaviour @csquire reported. I think we should revert the change and let the KVM host reset. VM disk corruption is worse than VM downtime.

IMHO i'd say if a VM on that storage is marked as ha-enabled,  it should be powered-off and restarted somewhere else, and if it isn't HA enabled, we shouldn't do anything with the running VM (as it's for the user of the VM to deal with it),
in either case we should probably set the host to 'alert' so then an admin can see it and do something about it.


FIX: Improved control over correlations plot

This PR adds a columns argument to the interface and underlying function so that fMRIPrep can select what confounds will be used to estimate the correlations.
The PR also minimizes to 20 (it was 70!) the number of signals that are plotted.
References: poldracklab/fmriprep#1746
References: https://github.com/poldracklab/fmriprep/issues/2245#issuecomment-682618147

The PR also minimizes to 20 (it was 70!)

I'd noticed that when looking through this yesterday. I was also going to suggest 20...

This seems to be working as expected - Merge?


Let UUID determine equality for ensembles

Long ago, we tried to use the string representations of ensembles as the comparison for equality. This was a decent idea, although there are some issues with the ways we handle equality and hashing.
I recently came across a weird edge case where a periodic volume with an edge exactly at -pi was serialized in 2 different ways: one with the edge at -pi and one with the edge at +pi. I'd still like to look into what happened to make that happen, but this would fix the most obvious effect (which is that the resulting ensembles weren't equal). In any case, this is a good shortcut: the same UUID indicates the same object, assuming we can trust the meaning of UUID.

This is ready for review and comment. Without review, I will merge this after at least 24 hours, no sooner than Wed 14 Aug 05:00 GMT (01:00 my local).


Premium Security Content Import

Content import in the premium-security document from https://www.bitdefender.com.au/solutions/premium-security.html

Hero Section

Background image should change
Premium security why uppercase?
Multi device should be smaller
Hero content should be smaller by means of width
Space between the last green tick point line and note in bold.
Background image not seeing below 989px, this is not true for original page

Product Cards Section

Product card values and the content
Product card title and text sizing

Awards Section

Awards section is displayed as column and not complete for 989

CTA Column Section

CTA column title sizing and text coloring

Column section

Bitdefender premium security plus bullet points

Product Features Column

In-line icons and the column texts for the best way to protect your identity online part

Product Features Tabs

Product features should be displayed 3 columns side by side for 992?

Comparing Products

Titles of comparing products are so big, terms of use link for the first column, padding less so that it wont be 3 rows for the text

FAQ

FAQ question headers a big bigger -> 22px


renderBuffer method

Getting error when calling renderBuffer method. Looks like it's not present at all.

See https://github.com/amir20/phantomjs-node/issues/484


Finalize GPS server migration - grwgps4 shutdown

Benefit
Compliance with DTS security needs and expectations.
Acceptance
Fully decommission old GPS network server.

Sprint 1 Tasks

[ ] Confirm config files were retained
[ ] Submit ServiceNow request for hosting team to decommission grwgps4

Closing Notes
Task Complete


Fix port logic

put listening services in shuttle even if they don't have a
GALAXY_PORT set. They may want to still have HTTP requests routed
through shuttle.
-delete old galaxy binary

:+1:


missing function crypto_kdf_derive_from_key

hyperdrive uses crypto_kdf_derive_from_key, which is defined in sodium-native but not sodium-javascript

working on this

woot just landed


[feature] app translation

Translation of the JustNotes interface using Crowdin or Weblate, I could help with Brazilian Portuguese.

https://hosted.weblate.org/projects/justnotes/justnotes/


vulnerableProjects count of portfolio metrics is off

Metrics for vulnerableProjects can currently be higher than the actual total project count:

(Blue line denotes "vulnerable", grey line denotes "total")
In the image above, the total project count is 2, but the vulnerable project count is 48 at its peak.

TODO: Add steps to reproduce.

I can actually reproduce this using the Docker Compose demo setup, and by uploading bloated.bom.json once.


Advanced link features

In neetoKB, we have a requirement where all the links should open in new tab. i.e. target=_blank.
This can be made configurable with a prop: targetForLinks="_blank".

@sandip-mane the links in the "preview" open in a new tab by default. Are you suggesting whether the links in the editor should open in a new tab as well? Currently, clicking the link just triggers the bubble menu.

@AbhayVAshokan my bad, it is opening the links in new tabs. Thank you!
Closing the issue.


Error loading libSecurityServices.so in v1.4.0 (Android x86_64 Emulator)

I am interested in using the Intel AppSecurityApi in a Cordova hybrid application that we're currently developing.
I downloaded the plugin code and added it to my Cordova app with no issues encountered.
When launching the app on an Android x86_64 Emulator with AppSecurityApi installed, the app would exit the moment it loaded up with no errors displayed via ADB, with an apparent 'system.exit()'.
Searching the code for this yielded a single call in /AppSecurityApi/src/android/Services.java
Modified Services.java to add System.out.println(e.toString()); just prior to the exit to get the full message.
Specific error encountered:
I/System.out(2697): dlopen failed: /data/app/io.onsen.helloworld-1/lib/x86/libSecurityServices.so: has text relocations
Using the 1.3.0 AppSecurityApi functions correctly in this same app and emulator with no changes.
Android targetSdkVersion 23.

I, unfortunately, have to report that the 1.3.0 version also is affected, however the app only exits when trying to use the actual library rather than on load.
Now I am not sure if this is a problem with the emulator environment or specific to AppSecurityApi. If you would like further details please advise.

I have setup an x86 (not x86_64) Android emulator, with the same results.

And, following an answer on Stack Overflow regarding a similar error, changing the minSdkVersion to 22 appears to resolve the issue.
This should probably be documented.

Of note, a warning with the same message still exists, it just doesn't trigger the exception.

Hi @vortexau,
Thank you for updating the issue with details that other users may find useful!
We also see the same issue with Android 6 emulator, it's probably related to the new SDK (23) environment.
Please let us know if you see additional error/failure with the AppSecurityAPI plugin.


Fix blocking operation

Fix blocking operation

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.17%. Comparing base (cb07003) to head (76be2be).
Report is 34 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #702      +/-   ##
==========================================
- Coverage   90.35%   90.17%   -0.18%
==========================================
  Files           4        4
  Lines         114      112       -2
  Branches       15       15
==========================================
- Hits          103      101       -2
  Misses         10       10
  Partials        1        1

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


use slog instead of zerolog

Codecov Report

Merging #14 (406ac8d) into main (f36595f) will increase coverage by 0.25%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #14      +/-   ##
==========================================
+ Coverage   90.11%   90.37%   +0.25%
==========================================
  Files           6        6
  Lines         334      343       +9
==========================================
+ Hits          301      310       +9
  Misses         27       27
  Partials        6        6

Files Changed
Coverage Δ

logger/logger.go
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Unify memory pool implementations where possible

Original issue: https://charm.cs.illinois.edu/redmine/issues/105

There are a number of pools to manage memory - mempool, cmipool, pami memory pool etc. We should analyze them and possibly unify them to get one pool.

Original date: 2013-05-29 21:20:21

CmiPool is only used under CONVERSE_POOL in CmiAlloc and in the state-space search engine under an #ifdef there. In the converse use-case, it's never been shown to provide a benefit (per Eric). We should inquire about SSSE (Yanhua, Pritish?), and ditch it if it's not useful there either.

Original date: 2017-02-01 18:44:16

CmiPool is now only used in the state-space search engine, so we don't really need to worry about that one anymore.
"mempool" is used on GNI and by Isomalloc, and Michael is working on generalizing it and using it in Node GPU Manager.

Original date: 2017-02-01 18:56:00

Here's a related patch Nikhil originally wrote to make exceptions for large allocations (to not use the mempool when servicing them): ~~https://charm.cs.illinois.edu/gerrit/#/c/1874/~~ https://github.com/UIUC-PPL/charm/commit/12f605d286fdd7c13d26322803fd749519be8c2c

Original date: 2017-04-11 21:03:28

https://charm.cs.illinois.edu/gerrit/#/c/2306/


Reduced Block UART example - fix for Teensy LC at low power

Teensy LC UART0 doesn't use F_BUS, but uses F_PLL, which is stopped in low power mode. So this uses OSCERCLK instead, which is the 16 MHz crystal. It also changes oversampling from 16 to 4, so that baud divisor starts at 4 MHz instead of 1 MHz, to provide closer baud rates. Upon exiting the reduced block, it restores the original settings.

looks good, I haven't tested it yet but i'll go a head an merge it. Thanks!


test: build: verify sbom files present in image

Description
Test for validation that sbom files were generated and injected into a container image
Issue ticket number and link
https://issues.redhat.com/browse/PLNSRVCE-305
Type of change

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

How Has This Been Tested?
export GITHUB_TOKEN=$APPSTUDIO_GITHUB_TOKEN QUAY_TOKEN=$(base64 < ~/.docker/config.json) GITHUB_E2E_ORGANIZATION=redhat-appstudio-qe QUAY_E2E_ORGANIZATION=redhat-appstudio-qe
rm -rf tmp && ./scripts/install-appstudio-e2e-mode.sh install
# Run after appstudio components are healthy:
make build && ./bin/e2e-appstudio --ginkgo.progress --ginkgo.focus="build-service-suite" --ginkgo.v

Checklist:

[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

Hi @brunoapimentel I created this additional test for sbom validation. Comments/feedback appreciated!

/retest

tests passed, but "gather-extra" step failed, which is probably related to recent issues with openshift-ci

@psturc LGTM.
The only extra thing I thought we could do was to parse the JSON files and check the existence of some fields and their contents, e.g. cyclone-dx has a .bomFormat == "CycloneDX" and len(.components) > 0, but I'm not sure if it's really needed.

Hey @brunoapimentel, good suggestion, I was actually going to add the check for length of components in cyclonedx and length of dependencies in purl, but there is one edge case - when the image doesn't have any dependencies - and that's the case of the component we use for testing :D
This is the content of that image
2022/06/14 17:32:28 cyclonedx contents: {Dependencies:[]}
2022/06/14 17:32:28 sbom purl components: &{Components:[{Name:busybox}]}

We're using this component to keep the this test suite as fast as possible, but on the other hand, adding some tiny dependency wouldn't probably slow it down very much...

Hi @brunoapimentel I addressed your comment with this commit - could you please give it a quick look please?
I decided to update the Dockerfile we use for building. It's still small (15 MB), but now it contains some dependencies and components.
/retest

/retest

/retest


Suggested fix of clone, like commit "a033e50ff414".

Along the lines of the recent commit referenced above, clone requires arrays to be replaced with Generators.

This is fixed in the latest commit. Thanks for your contribution!


context is initially undefined since v1.9.0

Since v1.9.0 the context in a resolver seems to be initially undefined.
This leads to errors like

Cannot read properties of undefined (reading 'session')

Here's a repro: https://stackblitz.com/edit/node-ysprk8
I've just taken the context example from graphql-helix.
When you switch the versions in the stackblitz from v1.9.0 to v1.8.4 in package.json it will work again.

this is related to execute removing support for positional args.
Args for execute were converted to be an object, but they key for context should have been updated to be contextValue but is being passed as context
https://github.com/contrawork/graphql-helix/commit/c8750f308aad58bf9e1b9f5d97f5ea3a55d43c3a#diff-6c8aa63d319597d6d7fff26fda262c760963d5a73d99ad303c0da528bbd376a5R140
Technically this was also a breaking change since any provided context function is now called with completely different arguments.
I think it would probably also make sense to align formatResult with this new API so both are called with contextValue to keep things consistent (this is also a breaking change)

Happy to submit an PR if you want, just need to know how to resolve this (which combination of the following fixes makes sense).

Just call execute with the contextValue
Update types for custom execute function to accept same arg shape as default execute
Map old execute format to new execute format so API does not change
Update formatPayload to also accept context as contextValue

@ardatan can you please check this?

Confirmed this. It also breaks usage with getEveloped (https://github.com/dotansimha/envelop)

Fix is being worked on in https://github.com/contrawork/graphql-helix/pull/91

Confirmed as resolved in 0.9.1.

Working perfect now thanks!

🎉


Add state of UDP connection and remote/foreign address

As in netstat -u

Aah - my #11 seems to be a dup of this.  Are you still interested in this functionality?  I may try to add it.

That would be a neat feature to have! That would help with https://github.com/patrickelectric/linux2rest

I know how to add this for MacOs and Linux but oddly for windows, it's not clear.  The main call at https://github.com/ohadravid/netstat2-rs/blob/master/src/integrations/windows/socket_table_extended.rs#L150 does not ever appear to return a remote IP + port, despite the fact that netstat on windows clearly returns that information:
C:\Windows\System32>netstat -a -p udp

Active Connections

  Proto  Local Address          Foreign Address        State
  UDP    <IP_ADDRESS>:123            *:*
  UDP    <IP_ADDRESS>:3702           *:*
  UDP    <IP_ADDRESS>:3702           *:*
  UDP    <IP_ADDRESS>:3702           *:*
  UDP    <IP_ADDRESS>:3702           *:*
  UDP    <IP_ADDRESS>:5050           *:*
  UDP    <IP_ADDRESS>:5353           *:*
  UDP    <IP_ADDRESS>:5353           *:*
  UDP    <IP_ADDRESS>:5353           *:*
  UDP    <IP_ADDRESS>:5355           *:*
  UDP    <IP_ADDRESS>:27036          *:*
  UDP    <IP_ADDRESS>:50127          <IP_ADDRESS>:443
  UDP    <IP_ADDRESS>:50949          *:*
  UDP    <IP_ADDRESS>:51213          *:*
  UDP    <IP_ADDRESS>:53689          <IP_ADDRESS>:443
  UDP    <IP_ADDRESS>:54675          *:*
  UDP    <IP_ADDRESS>:55262          *:*
  UDP    <IP_ADDRESS>:56871          <IP_ADDRESS>:443
  UDP    <IP_ADDRESS>:57128          <IP_ADDRESS>:443
  UDP    <IP_ADDRESS>:57659          <IP_ADDRESS>:443
  UDP    <IP_ADDRESS>:58755          <IP_ADDRESS>:443
  UDP    <IP_ADDRESS>:59343          <IP_ADDRESS>:443
  UDP    <IP_ADDRESS>:59534          *:*
  UDP    <IP_ADDRESS>:62222          *:*
  UDP    <IP_ADDRESS>:63202          <IP_ADDRESS>:443

Though some of the IPs appear odd (<IP_ADDRESS>!?).  Anyone know what's going on here or where this info is coming from?  Stackoverflow seems to have some erroneous data in it with respect to "No OS's track remote UDP state because UDP is connectionless", so my research has not found any reasonable answers.

I might be wrong, but I'd think <IP_ADDRESS> as x.x.x.100 from some address with mask <IP_ADDRESS>, like <IP_ADDRESS>


tasks assigned not implemented

Duplicate of https://github.com/CS2103-AY1819S1-T09-1/main/issues/45


Import 3f618a11ca: 🎉 Entire pipeline for automated releases with tivoli scripts and launcher on Windows! (by Maki)

This is an automated proposal to look at a commit made by Maki and import it into Overte

Commit:
3f618a11caa82547fc671b958fecfd9d437eeeff

Author:
Maki

Date:
Thu, 13 Feb 2020 04:30

🎉 Entire pipeline for automated releases with tivoli scripts and launcher on Windows!

Stats:

Filename
Stats
Lines
Added
Removed
Lines in blame

.gitlab-ci.yml

124
29
95
6

.gitlab/linux.gitlab-ci.yml

126
126
0
⚠ File gone

.gitlab/tivoli-scripts.py

69
69
0
⚠ File gone

.gitlab/windows.gitlab-ci.yml

65
65
0
⚠ File gone

cmake/compiler.cmake

5
3
2
⚠ 0

docker/.gitignore

3
2
1
2

docker/ice/Dockerfile

6
6
0
⚠ File gone

docker/{ => server}/Dockerfile

0
0
0
⚠ File gone

docker/{ => server}/digitalocean.json

0
0
0
⚠ File gone

docker/{ => server}/docker-compose.yml

0
0
0
⚠ File gone

docker/{ => server}/modify-domain-port.py

0
0
0
⚠ File gone

docker/{ => server}/supervisor.conf

0
0
0
⚠ File gone

12 files
-
398
300
98
8

To work on this, please assign the issue to yourself, then look at the commit and decide whether this would be a good addition to Overte.

If the commit is useful, tag it with "Tivoli: Keep", and keep it open until it's merged.
If the commit is not useful, tag it with "Tivoli: Discard", and close it.
If the commit is not useful right now, but might be later, tag it with "Tivoli: Maybe later", and close it.
If it's hard to decide, tag it with "Tivoli: Discuss", and keep it open.

Useful commits should be submitted as a PR against Overte. Tag this issue in PR, so that it's automatically closed once the PR is merged.
You can cherry-pick this issue with this command:
git cherry-pick 3f618a11caa82547fc671b958fecfd9d437eeeff

Not in blame, gitlab which we don't use


Environment variables are confusing in python actions and shell actions.

Shell actions like core.local and core.remote run as system_user whereas python actions run as user as which st2 processes run. So setting environment variables needs to happen for different users for different actions. We need a less confusing way. Perhaps some documentation around this.
Reported by:  @skarmark on freenode.

To clarify some things (things also need to be clarified in the docs):
By default, st2actionrunner should also run under system_user (stanley) and as such, the result should be the same, unless user wants to run a local runner action under a different user or use sudo to run it as a root.
In this case, we will use sudo and the result will depend on the sudo settings (e.g. should environment variables be preserved or not).

Edit: Actually, I just had a look - we use sudo -E, but user still needs to put setenv option in the sudoers file otherwise environment won't be preserved and -E wont have an affect.

To clarify my comment and question on IRC - that's how it works right now as long as you correctly run st2actionrunner under stanley (system) user.
If you want to use a custom (non stanley / system) user, you need give him paswordless sudo access if you want to run local runner actions as a different user and as a root. In addition to that, you also need to make sure SETENV sudoers option is set for that user - otherwise environment variables would be preserved when running action as a different / root user.

@skarmark Please let me know if my comment above and documentation updates make it more clear and resolve this issue.

@skarmark ping! can you answer kami's question?

Yes, it is clear. Sorry about the delay!  Somehow missed the update on this thread.

Thanks for letting us know.
Closing this issue.


[KeyVault] Regenerate keyvault-* KeyVaultClients to use @azure/core-arm

This change improves upon the work introduced in #3600 which regenerated keyvault-* ServiceClient implementations to use @azure/core-http.  That PR used a tweaked version of autorest.typescript which generated the necessary result paging operations without the need for a ms-rest-azure-js dependency.
This change uses an updated branch of autorest.typescript which adds back the ms-rest-azure-js dependency as our own @azure/core-arm so that the original ServiceClient code is restored but with the new fork of that dependency.

Any thoughts on this change?

@daviwil I'm planning to work on this between today and tomorrow!

Assigned back to @daviwil since he said he'll deal with the conflicts! Sorry for that :sun_with_face:

Thanks @jonathandturner!


feat: add stylelint

Apologies in advance – first time doing this! Hopefully this is in the correct format.
Closes https://github.com/williamboman/mason.nvim/issues/695.

Hmmm, that’s a very good point. I know null-ls has the ‘prefer_local’ option for sources so that should mean that people can still use a different stylelint version for their own project and fallback to the Mason one if none more local? Guess if going that route, a little info in the readme might be useful. I know I in the past I spent more time than I care to remember trying to debug a prettier issue with a version local and another in root before I realised about the ‘prefer_local’ option in null-ls.
By the same token, for this project, it may be more appropriate to not add it to Mason but add a note as to why it should be installed local only 🤷♂

just to add to this, I just tried the mason version, and while it works nicely, it does not play well with plugins installed via a different method (npm).
So other either you use no plugins, or you have to install stylelint from somewhere else regardless.
though adding the most popular plugins like stylelint-order might alleviate this issue at least.


docs(migrate) webpack 5 migration guide

Moving the migration guide with a a lot of phrasing, grammar and formatting changes to meet the contribution guide of our documentation.

Fix sitemap containing printable pages, no more
Change sorting in migrate section
Dont run links lint in printable pages

Hi @Munter
I am not sure why it started to happen now but looks like its checking links against printable.md files which shouldnt be checked at all... any idea?

@EugeneHlushko All the errors look correct to me.  And then if you click the print section menu item on the migration docs you get a left menu filled with broken links.
Looks like both new errors introduced by missing headings in the v5 migrations docs and some regression on top

@Munter but we dont want to check any links on printable pages, they are meant for printing the content and auto-close

Found the issue with missing ids, there was <script> tag in the .md body, it broke the content

Its all passing now, thanks everyone. Going to merge this soon to open the ability to merge the next branch after v4.webpack.js.org is deployed

To everyone interested: i've done a final round of fixes to grammar, phrasing and formatting. This will go in soon

Nice, great additions!

Thanks!

Thank you @EugeneHlushko

LoL :D


Replacing all surmising

This PR replaces all surmising instances with bandframework in order to reflect a github organization change from surmising org to bandframework org.
It is a precursor to documentation changing and other post-move tests #76


Month dot indicators and how to customize the month's list items

Hello,
Great component, definitely fills the void in the calendar components around.
Firstly, in month view, is there anyway to show some dots for each day that has any events?
Secondly, for the events list in month view, can I control any other information to show for each event item?
Thank you!

@squaredonut
It's possible to add dots under the day, basically for days having events will get assigned the "monthview-primary-with-event" css class. Then you just need to override the style of this class. For example,
.monthview-primary-with-event:after {
    content: '.';
    display: block;
    font-size: 12px;
    font-weight:bold;
    line-height: 0px;
}

Regarding the second question, currently the calendar doesn't expose the option to show more information of the event. Other user also asked the similar question, I plan to expose some options. You can also fork my repository and customize it for your own needs.
Below code snippets in month.html is the place you need to modify.

                {{::event.startTime|date: 'HH:mm'}}
                    -
                    {{::event.endTime|date: 'HH:mm'}}

                All day
                {{::event.title}}

Oh great, ok I will try those suggestions, thank you for the reply!


NIFI-5985: Added capability for DBCPConnectionPool to use KerberosCre…

…dentialsService.
Refactored KerberosAction to return a result from execute()
Removed usage of ProcessContext.yield() from KerberosAction, which should instead be handled the component using the KerberosCredentialsService.
Updated SolrProcessor to yield a flowfile on error, rather than the KerberosAction invoking the yield.
Example flow template repository: https://github.com/jtstorck/nifi-impala.  Please view https://github.com/jtstorck/nifi-impala/blob/master/README.md for instructions on how to configure the flow for usage.

Looks good to me, going to merge


Conditional buttons in row action menus are broken in APEX 22.1

Hi,
Example 6 on https://fos.world/ords/f?p=10000:2010 does not work with APEX 22.1 as the row action button has no class "js-menuButton" set anymore. This class is called 'a-Button--actions' in the latest universal theme.
It can be easily fixed by changing js-menuButton to a-Button--actions in line 317 of script.js:
// this is how we get the record associated to the currently opened row actions menu
var record = grid.getContextRecord(grid.view$.find('.a-Button--actions.is-active'))[0]; // js-menuButton
I've noticed, that this plugin has no confirmed APEX 22.1 compatibility yet, but I hope this might help anyway.
Regards
Michael

Hi Michael, thanks for reporting the issue, it's been implemented already with #10.


Ability to disable shortcut detection in the UI.

You can now demonstrate keyboard ninja skills! For issue #40.

Moving ISettingsService to the Logic project.
Adding ISettingsService to the ShortcutProvider implementation.
Checking if shortcuts are enabled before returning results.
Adding DetectShortcuts to ShellViewModel.
Adding DetectShortcuts to ShellView.

Various CTRL+D,E and consistency fixes and one csproj that VS fooled around with.

I couldn't for the life of me figure out how to do the unit test - still the current ones pass.

Redoing because of the merge saga.


Add unsafeHtml option for extensions to use on trusted input

Fixes #568

Basically this allows extensions to use something like $Element['unsafeHtml'] to output arbitrary data.
There are a couple of rules though:

If the text key is set it is always preferred, so you MUST unset it if you wish to use unsafeHtml
unsafeHtml will behave like text if safe mode is enabled (i.e. unsafe behaviour will be disabled if the user of the extension disagrees about the input being trusted).

I've renamed "unsafeHtml" to "rawHtml" and added an option such that on a per-element basis the safety of said HTML can be declared to have been checked, and thus allow it in safe mode.
(WIP names for both options).
What do you think?

It's more important that you understand why I have chosen this name

I totally understand what you were trying to achieve by choosing unsafeHtml - and you're right, our diferent interpretations are proof that neither unsafeHtml nor safeHtml are good choices. Anyway, rawHtml is a good choice. :+1:

I think we might be trying to achieve different things here

Yeah, this explains it. I rather thought the reason behind the $this->safeMode condition is that you want to take additional precaution for bad third-party developers.
Just to explain my point: I strongly believe in self-responsibility. I don't want to end up in a situation in which things get complicated for me just because someone else though additional precaution is necessary because some bad third-party developers can't read the manual (yes, I understand that this wasn't your intention). Just calling it rawHtml is IMO absolutely sufficient. We don't have legacy code out there using rawHtml (because it is a new feature), thus we can demand that every extension developer reads the manual and understands that he is in charge of enforcing safe mode before using rawHtml. Being in charge also means that the developer must know whether the output he generates might be unsafe. If it might be unsafe, he must evaluate $this->safeMode and act accordingly, either by adding additional escaping or disabling the feature. In brief, I truly believe that we can demand that extension developers know that $this->safeMode exists (not least because we're telling them that it exists...) and demand that they take its existance into consideration.
Thus I believe that allowRawHtmlInSafeMode isn't really necessary. However, by adding allowRawHtmlInSafeMode Parsedown basically predetermines a possible solution when safe mode is enabled - and this causes no harm, because I can still set it to true and take care of it myself. Thus I'm absolutely fine with it. :+1:

Btw: I still think that !== true is unnecessary. It is literally impossible that any of these variables ever hold something else than true or false :wink:
Lines 1503 to 1517 can be refactored to just two lines:
$allowRawHtmlInSafeMode = isset($Element['allowRawHtmlInSafeMode']) && $Element['allowRawHtmlInSafeMode'];
$permitRawHtml = !$this->safeMode || $allowRawHtmlInSafeMode;

Lines 1503 to 1517 can be refactored to just two lines [...]

Tyty, I've refactored that now :)

Btw: I still think that !== true is unnecessary. It is literally impossible that any of these variables ever hold something else than true or false 😉

This is me trying to protect against type juggling surprises, but I've foregone doing it for now since there are examples of me not doing this even within the same method ;p
At some point I'll try and enumerate the instance variables that might be prone to type casting and put stronger type checks there – you're quite right about it not really mattering for the locally scoped stuff that we're setting explicitly though ;p

@hvt I'll try to get 1.8.0 out this weekend :)


why no kubeadm command in shell

could you please add kubeadm command in the shell?

Kubeadm is not needed for EKS clusters, is there something you're using it for with EKS?

Closing with no response


Search box locks on submit

To replicate:
Go to andi, and type something in the search box on the dataset list page. Press enter. The search bar should no longer be editable

Not reproducible


weekday() not consistent with weekdays() across locales

Description of the Issue and Steps to Reproduce:
There's an inconsistency between weekday() and weekdays() across locales. In monday-first locales, weekday() has monday indexed at 0, but weekdays() still returns sunday first.
> moment().weekday()
4
> moment.weekdays()
[ 'Sunday',
  'Monday',
  'Tuesday',
  'Wednesday',
  'Thursday',
  'Friday',
  'Saturday' ]
> moment.weekdays()[moment().weekday()]
'Thursday'
> moment.locale("es")
'es'
> moment().weekday()
3
> moment.weekdays()
[ 'domingo',
  'lunes',
  'martes',
  'miércoles',
  'jueves',
  'viernes',
  'sábado' ]
> moment.weekdays()[moment().weekday()]
'miércoles'

Environment:
MacOS Node.js v8.8.1
> console.log( (new Date()).toString())
Thu May 03 2018 17:40:16 GMT-0700 (PDT)
> console.log((new Date()).toLocaleString())
5/3/2018, 5:40:16 PM
> console.log( (new Date()).getTimezoneOffset())
420
> console.log(moment.version)
2.19.3

The 'es' locale has start of the week defined differently as that is what the 'es' region/country considers the first day of the week to be. You can just pass the first parameter to weekday() as true to ignore the locale awareness.
From the documentation,
As of 2.13.0 you can pass a bool as the first parameter of the weekday functions. If true, the weekdays will be returned in locale specific order. For instance, in the Arabic locale, Saturday is the first day of the week, thus:

moment.locale('ar');
moment.weekdays(true); // lists weekdays Saturday-Friday in Arabic
moment.weekdays(true, 2); //will result in Monday in Arabic
Note: Absent the locale specific parameter, weekdays always have Sunday as index 0, regardless of the local first day of the week.

Thank you @louisnow


Data access adaptors

This just adds two Data Access Plugins, one which imports nodes and transactions from a Pajek file into the graph, and one which finds selected nodes in a pajek file and imports the incident transactions and adjacent nodes.

Thank you so much for this


Bugfix 25

issue25: 删除nodes配置

Codecov Report
Base: 70.82% // Head: 70.88% // Increases project coverage by +0.06% :tada:

Coverage data is based on head (7a0d696) compared to base (b0bf91c).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #187      +/-   ##
==========================================
+ Coverage   70.82%   70.88%   +0.06%
==========================================
  Files          93       93
  Lines        2283     2281       -2
  Branches      272      271       -1
==========================================
  Hits         1617     1617
+ Misses        633      631       -2
  Partials       33       33

Impacted Files
Coverage Δ

...ps/portal-web/src/clusterops/slurm/bl/submitJob.ts
19.04% <ø> (+1.65%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Build failure: yamlfix

Steps To Reproduce

Use nixpkgs-unstable
Build yamlfix

Build log
       > E                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       > E       ResourceWarning: unclosed file <_io.FileIO name='/build/pytest-of-nixbld/pytest-0/popen-gw0/test_check_one_file_changes0/source.yaml' mode='rb+' closefd=True>
       > E
       > E       For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning
       >
       > /nix/store/cv4lvgqf3m7g1jdyqrw9nq2kpgkfmdi5-python3.11-pluggy-1.4.0/lib/python3.11/site-packages/pluggy/_callers.py:49: PluggyTeardownRaisedWarning
       > =========================== short test summary info ============================
       > FAILED tests/unit/test_services.py::TestFixCode::test_fix_code_ignore_jinja2 - pluggy.PluggyTeardownRaisedWarning: A plugin raised an exception during an ...
       > ======================== 1 failed, 106 passed in 2.09s =========================

Full log
https://gist.github.com/atimofeev/8d310327f735b27d0ef0421ea14600b2
Additional context
While yamlfix builds fine on 23.11, it's failing on unstable.
Notify maintainers
@koozz
Metadata
[root@milaptop:~]# nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.71, NixOS, 23.11 (Tapir), 23.11.20240110.3dc440f`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

Looks like it was fixed in https://github.com/NixOS/nixpkgs/pull/307791


Update BERT import to new name, transformers

HuggingFace's repository updated their name to "transformers": https://github.com/huggingface/transformers.

Edit: actually this won't work. There are breaking changes in the new transformers version.
https://github.com/huggingface/transformers#Migrating-from-pytorch-pretrained-bert-to-transformers
There should be a full migration before this PR is accepted.


[PopupMenuButton] Delay in Displaying Dropdown Menu Background

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
When using a PopupMenuButton in my Flutter application, I've noticed an unusual behavior in the dropdown menu's animation. Upon clicking the button to open the menu, the text items are displayed first without the menu background. After a brief delay, the background of the menu then appears with a downward sliding animation. This behavior results in an inconsistent and visually disruptive user experience.

Add a PopupMenuButton to a widget in a Flutter application.
Assign a list of PopupMenuItem to the PopupMenuButton.
Run the application and click on the PopupMenuButton to open the menu.
Observe that the text items appear first, followed by the background of the menu after a short delay.

Expected results
I would expect the menu background and text items to appear simultaneously, without any delays or visual artifacts during the animation.
Actual results
The text items are displayed first without a background, followed by the appearance of the menu background after a brief delay.
Code sample
https://github.com/andgar2010/bug_flutter_popup_menu_button
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    final formKey = GlobalKey<FormState>();

    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.all(24),
              child: Expanded(
                child: Form(
                  key: formKey,
                  child: Column(
                    children: <Widget>[
                      CustomDropdownFormField(
                        itemBuilder: (BuildContext context) {
                          List<DropdownItem> menuItems = List.generate(
                            50,
                            (index) => DropdownItem(
                              text: 'Ítem ${index + 1}',
                              icon: Icons.ac_unit_outlined,
                            ),
                          );

                          return [
                            for (DropdownItem item in menuItems)
                              PopupMenuItem<DropdownItem>(
                                value: item,
                                child: Row(
                                  children: [
                                    Text(item.text),
                                    const SizedBox(width: 8),
                                    Icon(item.icon),
                                  ],
                                ),
                              ),
                          ];
                        },
                        validator: (DropdownItem? value) {
                          if (value == null || value.text.isEmpty) {
                            return 'Por favor selecciona un ítem';
                          }
                          return null;
                        },
                      ),
                      const SizedBox(height: 8),
                      ElevatedButton(
                        onPressed: () {
                          if (formKey.currentState!.validate()) {
                            // Procesar datos del formulario
                          }
                        },
                        child: const Text('Enviar'),
                      ),
                    ],
                  ),
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

class DropdownItem {
  final String text;
  final IconData icon;

  DropdownItem({required this.text, required this.icon});
}

class CustomDropdownFormField extends FormField<DropdownItem> {
  CustomDropdownFormField({
    super.key,
    super.onSaved,
    super.validator,
    super.initialValue,
    required List<PopupMenuEntry<DropdownItem>> Function(BuildContext)
        itemBuilder,
    AutovalidateMode super.autovalidateMode = AutovalidateMode.disabled,
  }) : super(
          builder: (FormFieldState<DropdownItem> field) {
            return Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: <Widget>[
                PopupMenuButton<DropdownItem>(
                  position: PopupMenuPosition.under,
                  onSelected: (DropdownItem value) {
                    field.didChange(value);
                  },
                  itemBuilder: itemBuilder,
                  constraints: const BoxConstraints(maxHeight: 230),
                  child: Container(
                    padding:
                        const EdgeInsets.symmetric(horizontal: 10, vertical: 5),
                    decoration: BoxDecoration(
                      border: Border.all(color: Colors.grey),
                      borderRadius: BorderRadius.circular(5),
                    ),
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: <Widget>[
                        Text(
                          field.value?.text ?? 'Selecciona un ítem',
                          style: const TextStyle(color: Colors.black),
                        ),
                        const Icon(Icons.arrow_drop_down),
                      ],
                    ),
                  ),
                ),
                if (field.hasError)
                  Padding(
                    padding: const EdgeInsets.only(top: 5),
                    child: Text(
                      field.errorText ?? '',
                      style: const TextStyle(
                        color: Colors.redAccent,
                        fontSize: 12,
                      ),
                    ),
                  ),
              ],
            );
          },
        );
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/flutter/flutter/assets/19521054/3ee9f5d9-ac51-427c-a658-c53a5eab1765

Logs
Logs

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.16.0, on macOS 14.1.1 23B81 darwin-arm64 (Rosetta), locale en-CO)
    • Flutter version 3.16.0 on channel stable at /Users/XXXXXX/.puro/envs/_3_16_0/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision db7ef5bf9f (2 days ago), 2023-11-15 11:25:44 -0800
    • Engine revision 74d16627b9
    • Dart version 3.2.0
    • DevTools version 2.28.2

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/XXXXX/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.2

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] Connected device (2 available)
    • iPhone SE (3rd generation) (mobile) • XXXXXXXXXX • ios          • com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64 • macOS 14.1.1 23B81 darwin-arm64 (Rosetta)

[✓] Network resources
    • All expected network resources are available.

I try changed
´´´dart
useMaterial3: false
´´´
https://github.com/flutter/flutter/assets/19521054/f9853722-099e-4b7f-8bb3-8b93a7f2b2c8

Also try changing the length of the elements between 5-50. The error starts from elements 7
https://github.com/flutter/flutter/assets/19521054/72162826-abab-4868-9d81-e7aa38b9968e

Thanks for filing this @andgar2010.
I can reproduce these behaviours on the latest master and stable channels.
I think the delay seems to be caused when constraints is set in the PopupMenuButton.
stable, master flutter doctor -v

[!] Flutter (Channel stable, 3.16.0, on macOS 14.0 23A344 darwin-arm64, locale
    en-NG)
    • Flutter version 3.16.0 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    ! Warning: `dart` on your path resolves to
      /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/damilolaalimi/sdks/flutter.
      Consider adding /Users/damilolaalimi/sdks/flutter/bin to the front of your
      path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision db7ef5bf9f (4 days ago), 2023-11-15 11:25:44 -0800
    • Engine revision 74d16627b9
    • Dart version 3.2.0
    • DevTools version 2.28.2
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio
      Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.84.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • Damilola’s iPhone (mobile) • 00008110-001964480AE1801E            • ios
      • iOS 17.1.1 21B91
    • iPhone 15 (mobile)         • F17D2919-6D61-4295-8408-1719692FE958 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator)
    • macOS (desktop)            • macos                                •
      darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)               • chrome                               •
      web-javascript • Google Chrome 119.0.6045.159

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

[!] Flutter (Channel master, 3.17.0-10.0.pre.60, on macOS 14.0 23A344 darwin-arm64, locale en-NG)
    • Flutter version 3.17.0-10.0.pre.60 on channel master at /Users/damilolaalimi/fvm/versions/master
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/damilolaalimi/fvm/versions/master. Consider adding /Users/damilolaalimi/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 0858ea2ce8 (16 hours ago), 2023-11-19 11:55:23 -0500
    • Engine revision 31059cccee
    • Dart version 3.3.0 (build 3.3.0-149.0.dev)
    • DevTools version 2.30.0-dev.4
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.84.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 14 (API 34) (emulator)
    • Damilola’s iPhone (mobile)  • 00008110-001964480AE1801E            • ios            • iOS 17.1.1 21B91
    • iPhone 15 (mobile)          • F17D2919-6D61-4295-8408-1719692FE958 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 119.0.6045.159

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

Hi @andgar2010!
The example you provided is pretty complex and contains some styling. Could you please cleanup the example and only keep what's necessary to reproduce the issue? Remove text styling, decorations etc if they aren't necessary for the bug to reproduce.

Hi @TahaTesser
I have updated the code to simplify it. Now, there are two simpler examples available.
https://github.com/andgar2010/bug_flutter_popup_menu_button

Thanks a lot for filing this issue! Could you try DropdownMenu to see if it can meet your requirements? I think DropdownMenu can be a good replacement for DropdownButtonFormField. It is a fairly new widget for Material 3:)

dropdown menu example
import 'package:flutter/material.dart';

void main() {
  runApp(const DropdownMenuExample());
}

enum MenuItem {
  item0('Item 0'),
  item1('Item 1'),
  item2('Item 2'),
  item3('Item 3'),
  item4('Item 4');

  const MenuItem(this.label);
  final String label;
}

class DropdownMenuExample extends StatefulWidget {
  const DropdownMenuExample({super.key});

  @override
  State<DropdownMenuExample> createState() => _DropdownMenuExampleState();
}

class _DropdownMenuExampleState extends State<DropdownMenuExample> {
  MenuItem? selectedItem;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(colorSchemeSeed: Colors.blue),
      home: Scaffold(
        body: Padding(
          padding: const EdgeInsets.all(20.0),
          child: DropdownMenu<MenuItem>(
            hintText: 'Selecciona un ítem',
            expandedInsets: EdgeInsets.zero,
            // requestFocusOnTap is enabled/disabled by platforms when it is null.
            // On mobile platforms, this is false by default. Setting this to true will
            // trigger focus request on the text field and virtual keyboard will appear
            // afterward. On desktop platforms however, this defaults to true.
            requestFocusOnTap: false,
            onSelected: (MenuItem? item) {
              setState(() {
                selectedItem = item;
              });
            },
            dropdownMenuEntries: MenuItem.values.map<DropdownMenuEntry<MenuItem>>(
              (MenuItem item) {
                return DropdownMenuEntry<MenuItem>(
                  value: item,
                  label: item.label,
                  trailingIcon: const Icon(Icons.ac_unit)
                );
              }
            ).toList(),
          ),
        ),
      ),
    );
  }
}

https://github.com/flutter/flutter/assets/36861262/45c03204-20c1-4e53-8860-2e862ba588ce

@QuncCccccc
Thanks for responding and offering an alternative solution. Apologies for the late response. I tried implementing your alternative solution, but there's a difference because DropdownMenu lacks the animation functionality during opening and closing. PopupMenuButton does have an animation during opening and closing, which is similar to the client's requirement. I have explained to the client that this is a temporary solution. The client understands, but needs the animation during opening and closing.

@QuncCccccc Thanks for responding and offering an alternative solution. Apologies for the late response. I tried implementing your alternative solution, but there's a difference because DropdownMenu lacks the animation functionality during opening and closing. PopupMenuButton does have an animation during opening and closing, which is similar to the client's requirement. I have explained to the client that this is a temporary solution. The client understands, but needs the animation during opening and closing.

I see! I'm working on a feature to add animation for MenuAnchor, and DropdownMenu: https://github.com/flutter/flutter/pull/143416
Hope this can be helpful!


lettuce plugin support redis cluster.

lettuce plugin support redis cluster.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #6960 into master will decrease coverage by 0.15%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #6960      +/-   ##
==========================================
- Coverage   39.18%   39.02%   -0.16%
==========================================
  Files        3150     3237      +87
  Lines       94053    94513     +460
  Branches    11796    11879      +83
==========================================
+ Hits        36852    36884      +32
- Misses      54239    54665     +426
- Partials     2962     2964       +2

Impacted Files
Coverage Δ

...p/pinpoint/plugin/redis/lettuce/LettucePlugin.java
0.00% <0.00%> (ø)

.../lettuce/interceptor/LettuceMethodInterceptor.java
0.00% <0.00%> (ø)

...ptor/RedisClusterClientConstructorInterceptor.java
0.00% <0.00%> (ø)

...oint/grpc/server/HeaderPropagationInterceptor.java
0.00% <0.00%> (-70.59%)
:arrow_down:

...common/servlet/util/HttpServletRequestAdaptor.java
44.00% <0.00%> (-29.34%)
:arrow_down:

...p/pinpoint/test/TestInterceptorRegistryBinder.java
50.00% <0.00%> (-25.00%)
:arrow_down:

...ercorp/pinpoint/grpc/server/AgentHeaderReader.java
58.69% <0.00%> (-21.31%)
:arrow_down:

...nt/classloading/DebugTransformerClassInjector.java
45.00% <0.00%> (-20.00%)
:arrow_down:

...receiver/DefaultProfilerCommandServiceLocator.java
84.37% <0.00%> (-15.63%)
:arrow_down:

...pinpoint/profiler/instrument/BootstrapPackage.java
47.61% <0.00%> (-14.29%)
:arrow_down:

... and 446 more

Continue to review full report at Codecov.

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


Convert remaining .gifs to .webm

This completes the transition started by @Carreau in #4207.
This reduces the docs/images folder from 84MB to 13MB!
Note that we still need to deal with #4298, but I don't think that should block this PR.
edited by Talley to prevent closing 4298 if this merges

... Aaaand lfs doesn't seem to have worked. wth.

Ok so #4207 only added webm files in specific subdirectories to lfs... Working...

Ok I done fixed it! 😅 This is ready for review.

Note that we still need to deal with https://github.com/napari/napari/issues/4298, but I don't think that should block this PR.

there were two issues in #4298, one was simply modifying the html a bit to get the controls to show... that part shouldn't block this.  The other one was the fact that webm simply won't work on macOS <11.3.  (it just shows an empty area as shown in that issue).  So, going in this direction implies knowingly discontinuing support for a fair number of mac users (yes, it's a couple versions old, but i don't think that's terribly uncommon, particularly for scientific users)

The other one was the fact that webm simply won't work on macOS <11.3. (it just shows an empty area as shown in that issue).

Is that a < or <=? If it's < then I'm 100% ok with it. If it's <=... Well, I still like the stats that @Carreau pointed out it #4207, 97% of desktop users.

97% of desktop users.

from experience targeting web browsers elsewhere, I can tell you that that number (from caniuse) needs to be taken with some context.  not sure if plausible collects napari.org browsers stats, but that would be a better metric.  I for one would like to be able to see the images on napari.org 😉

Sure, we're already in a halfway point, so it doesn't matter much here.  I don't think we're going to have a solution for #4928, so I think we're mostly just deciding whether we care or not.  I'd prefer not to have a broken looking site for somewhat modern devices (even my iPhone on the latest iOS doesn't work), but it's up to @jni

Sure, we're already in a halfway point, so it doesn't matter much here.

ok yeah - i think i will just go ahead and merge this then to create a clean slate, but see below

I'd prefer not to have a broken looking site for somewhat modern devices (even my iPhone on the latest iOS doesn't work)

ok yup - i can confirm that is this case for me too on my iPhone, I hadn't realized that the problem was that bad. i'll try to draw some more attention to #4298 this week. We should work with the somewhat latest stuff.


Index on a table containing columns with no sort order fails while reflecting the table

Environment details

Programming language: Python
OS: debian (can be reproduce on any OS)
Language runtime version: Python 3.11.7
Package version:  sqlalchemy-spanner==1.7.0, SQLAlchemy==1.4.49

Steps to reproduce

Install Packages:

 pip install SQLAlchemy==1.4.49 sqlalchemy-spanner==1.7.0

Setup Engine:

from sqlalchemy import create_engine

# Replace the following with your actual database connection string
DATABASE_URL = "spanner+spanner:///projects/YOUR_PROJECT_ID/instances/YOUR_INSTANCE_ID/databases/YOUR_DATABASE_ID"
engine = create_engine(DATABASE_URL)

Setup Database:

# SQL for creating the table
create_table_sql = """
CREATE TABLE clicks (
  id INT64 NOT NULL,
  date DATE NOT NULL,
  url_hash STRING(32) NOT NULL,
  url STRING(MAX) NOT NULL,
) PRIMARY KEY(id, date DESC, url_hash);
"""

# SQL for creating the index
create_index_sql = """
CREATE INDEX idx_on_clicks ON clicks(id, date DESC, url_hash) STORING (url);
"""

# Execute the SQL commands
with engine.connect() as connection:
    connection.execute(create_table_sql)
    connection.execute(create_index_sql)

Reflect Database:

from sqlalchemy import MetaData, inspect

inspector = inspect(engine)
meta = MetaData(bind=engine)
MetaData.reflect(meta, views=True)

Exception from Step 4:

  File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/schema.py", line 614, in __new__
    table._init(name, metadata, *args, **kw)
  File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/schema.py", line 689, in _init
    self._autoload(
  File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/schema.py", line 724, in _autoload
    conn_insp.reflect_table(
  File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/reflection.py", line 807, in reflect_table
    self._reflect_indexes(
  File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/reflection.py", line 1071, in _reflect_indexes
    if k in c_sorting:
       ^^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable

Note: SQLAlchemy-2.0.30 also has the same issue.

Hi @harshachinta - Can you please check this issue and the attached PR. I have updated the issue with detailed steps to reproduce. Please let me know if you need any information.

Hi @ankiaga - Can you please check this issue and the attached PR. Please let me know if you need any information.

Hi @olavloite - Can you please check this issue and the attached PR. Please let me know if you need any information.


WordPress.Security.NonceVerification.Missing not reported when using filter_input

Bug Description
When using filter_input with INPUT_GET or INPUT_POST or INPUT_COOKIE, it's like accessing the $_GET/$_POST superglobals.
Therefore a nonce validation is required.
Minimal Code Snippet
The issue happens when running this command:
./bin/phpcs --config-set installed_paths ../wpcs

... over a file containing this code:
// should report an error
$foo = filter_input( INPUT_POST, 'email', FILTER_SANITIZE_EMAIL );
update_option( 'abc', $foo, false );

// correctly reports an error:
$foo = $_POST['email'];
update_option( 'def', $foo, false );

Error Code
WordPress.Security.NonceVerification.Missing
Environment

Question
Answer

PHP version
7.4

PHP_CodeSniffer version
3.7.2

WPCS version
2.3.0

WPCS install type
https://github.com/WordPress/WordPress-Coding-Standards#standalone

Tested Against develop branch?

[ ] I have verified the issue still exists in the develop branch of WPCS.

+1

@johnstonphilip Please don't spam issues with "+1"'s which don't contribute anything useful to the discussion. You can use the emoji response on the first post for that.

I didn't intend to spam. My apologies. I'm just wanting to note that this is a very important issue to me. Thanks, and my apologies again!