Simplify The Build

As of right now, SwiftCheck builds with

Carthage
CocoaPods
Swift Package Manager

And maintains a linear number of build scripts and package definitions for each.
This Is Absurd
We need to commit to just SwiftPM now that we're building against Swift 4.0.  My understanding is that a PodSpec can still be provided with the repo even with that kind of change, so this means we're just dropping Carthage on the floor.

This means we can eliminate the Xcodeproj as well and just ship the workspace.

SPM ftw!
I’ve never used Carthage nor CocoaPods, though. Do they even work on Linux?
Also, what did (or do) they have that SPM didn’t (or doesn’t), s.t. they were (are) attractive still?

I’ve never used Carthage nor CocoaPods, though. Do they even work on Linux?

Now AFAIK.

what did (or do) they have that SPM didn’t (or doesn’t), s.t. they were (are) attractive still?

Swift PM was the latecomer for our build system, which was originally based on Carthage because we had a weird dependency structure.  In addition, SwiftPM didn't support custom target layouts and when we first started using it iOS support sucked,  I eliminated that structure a while ago.  Now that the package manager has matured (in particular, so it now has test-only dependencies), we can describe our entire build with it.

The biggest tradeoff here is that we are dropping explicit builds for iOS and tvOS (watchOS still doesn't support testing targets).  I suspect, tho, that we can still recover this with swift package generate-xcodeproj and some plutil hackery to get an iOS build.

Ohh, I see. Nice :)

Please don't drop Carthage support. 😥

You can add the framework as a submodule tracked by carthage, it just won't build a framework automatically.  You'll need to generate the Xcode project with swift package generate-xcodeproj then add it as a sub-project.

I agree that the state of the build systems is messy, and if the goal is keeping only one, I'd too go with Swift PM. Unfortunately dropping Carthage support (for SwiftCheck and in prospect for all the typelift libraries) is going to be extremely painful for iOS developers: Carthage was literally a godsend for iOS devs that didn't want to lose control of their project to CocoaPods, and has become basically a given for many.

We won't be dropping iOS support, we'll just be dropping Carthage's iOS support.  I don't intend to do this now, but when and if we come up with a satisfactory solution that keeps our per-platform builds working - or if Apple decides to allow multiple platforms in one package def - we will be switching


[Enhancement]: Toast Message system errors on canvas leads to bad UX

Is there an existing issue for this?

[X] I have searched the existing issues

Problem
Toast message for system errors like onPageLoad API failures being shown on canvas, blocks the canvas for few seconds and makes it non-intractable.

Internal discussion link
Sub Task

We need to find a good solution for the position of the error messages in edit and view mode.
We also need to theme the error messages so that it doesn't look out of place in view mode.

Toast messages no longer look like this


Output examples

[ ] Update user documentation with outputs from the example commands.
[x] Update example files to match the user documentation.
[ ] Update implementation to match the user documentation.

The linky --root mode is incompatible with the linky | linky --check mode. Root should not be allowed in the ordinary extract mode. A new inspect mode might be introduced - the output from the inspect mode should not be trivially parsable by linky.


Consider some ideas for softDelete

https://github.com/feathers-plus/feathers-hooks-common/pull/260

softDelete2 is a noteable improvement over softDelete. softDelete2 does not run the get and patch hooks on its probing get and removal patch calls. It play correctly with authentication and its restrictToOwner hook.
config.disableParam: Changing semaphore names is problematic since common hooks do in fact check the semaphores set by other hooks. So it could happen another hook needs to check if its running because softDelete2 made a service call. We have also started to standardize these semaphore names and how they will be stored in context.params.
config.allowClientDisable: softDelete2 has the allowIgnoreDeletedAt option.
config.setDeleted: softDelete2 allows a custom patch function for logically removing records. You can affect the record however you want within it.
-$disableSoftDelete in query. softDelete2's uses params.$disableSoftDelete2.
authentication entity field: softDelete2 allows a custom get function for checking if the record is active. You can throw depending on the contents of the record.
babel: Transpiling of the common hooks was removed by error when Buzzard was released. This will be fixed.
I think this issue can now be closed.

Published as v4.15.0


Making the concrete5 core fully complying with GDPR

I have another interesting topic to discuss. Just share my ideas and a possible solution...
The Topic is: "Making the concrete5 core fully complying with GDPR"
Currently there are a lot of 3rd-party add-on's in the marketplace available like GDPR, EU Cookie Law and some other cookie banner add-ons with same functionality.
All add-ons are just showing a regular cookie banner. The EU Cookie Law add-on is the only one i think that holds back the tracking cookies at least.
But non of these solutions are fully comply with the GDPR.
The add-ons showing banners like:
[This website uses cookies to ensure you get the best experience on our website.Learn more] [Got It]
or with an opt-in:
[This website uses cookies to ensure you get the best experience on our website.Learn more] [Deny] [Allow]
In all european countries GDPR is a getting more and more important. There are a lof of evil lawyers that are using automatic web spiders to crwal the internet for websites that are doesn't 100% comply with GDPR and send them a expensive warning. Especially start-ups, and small businesses are having fear to build a website because they don't want to get problems and most start-ups have less budget. So they don't have much money for legal advice. I think when concrete5 would offer a full GDPR support this would be a great marketing booster to promote concrete5.
To fully comply with GDPR, cookies requiring a user's opt-in. First after the user opt-in the cookies are setted.
Furthermore a good cookie implementation is splitting the cookies into certain categories. So the user can see and choose if he want's to accept just the required cookies or also the marketing cookies etc.
When clicking on more details there is also explanation of every single cookie within the banner like the name of the cookie and a small description and which category the cookie has.
This gives the users privacy back and makes sites complying with GDPR
I think the best think is to implement this feature directly into the core.
And here is a possible solution:
In the core is also functionality implemented based on Symfony for creating cookies on server-side. When setting a cookie on server-side the category + usage should be required to describe.
Same for tracking cookies. Maybe we should extend the Tracking Codes section and provide some default trackers with a small database containing the cookies of the analytic providers. So instead of inserting the tracking code in plaintext the users just needs to enter the id in case of Google Analytics. In the background the core know's about what cookies are associated with Google Analytics.
Then depending on the cookies that are on use on a site (client-side and server-side) the user needs to opt-in the cookies and first after he did the user is able to use the complete functionality that is based on cookie-usage.
Furthermore the core should provide a block type for cookie control so that users are able to opt-out too.
And for custom tracking codes (that are not covered) the admin should have the possibility to insert the tracking code in plaintext like usual and provide the missing cookie details.
When this feature is on core level we could write some developer docs about correct cookie usage. The marketplace (when we decide to redesign the marketplace) would benefit from this feature too. Developers could promote their add-ons as "Fully complies with GDPR". Of course the PRB need's to check this.

I would suggest to redesign the tracking codes page like this…

And stoping them is easy. Don’t add the tracker code to the header when cookies are not setted. If the user is opt-in the trackers can be enabled with an page reload or by executing some custom js that is initalizing the enabled trackers
To control server-side cookies the core and all 3rd-party add-on’s should be required to describe cookies and their usage like
CookieManager::registerCookie('name', 'description', CookieManager::ESSENTIAL);
all cookies that are available from core + all add-ons + tracker codes will be collected and added to the dialog.
Server-side cookies are blocked too until the user doesn’t have opt-in to cookie usage
and when creating a cookie like regular
$cookie = $this->app->make('cookie');
$cookie->set('name', $value);
the core is not sending out the set cookie headers until the user has allowed cookies

Furthermore the core should provide a block type for cookie control so that users are able to opt-out too.
Cookie permission blocks have always been a bit of a clunky way of providing a cookie permission popup/banner. The whole mechanism could be globally enabled/disabled from the dashboard without having to add a block to pages or a global area.

I agree that there's a lot of wrong/invalid approaches when talking about GDPR.
In particular:
1, Websites should not simply state that it uses cookies: that's totally pointless and that's not what GDPR requires. GDPR asks that websites should get the consent from the users prior to setting coocies
2. Technical cookies (like the session cookie) does not require such consent, since they don't hold any sensitive/personal data on their own (for example, the session cookie is mostly used to tell the server that the user X is currently logged in, but it's not a sensitive data since the server already knows the personal info of user X since it's a member of the website - privacy is involved in the prior step, that is, how the website creates the record in the User table).
3. Even analytic cookies may not require the users consent, as long as they are "anonymized"
About marketplace add-ons: my GDPR Cookie Notice allows users to use Google Tag Manager to be GDPR compliant.
Here's for example how I configured that add-on for one of our websites:

In Google Tag Manager I then created a custom trigger named "GDPR ok" like this:

And I tell Google Tag Manager to add stuff that requires user consent only when that trigger is activated, for example:

So, my addon activates the "GDPR ok" trigger when the users click the "I agree" button displayed in the web page (or when the users visit a page of the website where they previously clicked the "I agree" button).

@mlocati  German lawyers telling something different...
Here is a translated quote
“Tracking cookies may no longer be set without the real consent of the user. It does not matter whether the cookies actually store personal data or whether only anonymous data is stored.“
Source:
https://www.google.com/amp/s/www.e-recht24.de/artikel/datenschutz/11648-eugh-urteil-cookies-einwilligung.amp.html
There are a lot of articles like this.
You can see in real life that all bigger sites are providing already a “complex cookie banner“ where the user can explicit choose which type of cookies the user wants to opt in and before opt in the user will not be tracked. Also not anonymous. Thats the correct way of implementing this as far as i know.

Its been established by many previous discussions on GDPR that different EU nations have different interpretations.

@JohntheFish yes thats right and germany for example has a strict implementation of GDPR.
So a good technical implementation requires to comply with the national law interpretation of GDPR for all european countries.
Cant speak about other countries but for Germany at least current gdpr implementations for Concrete5 are not enough.

A consequence is, if you are going to bake this into the core the it has to do one of
a) Implement a single union of the strictest interpretation
b) Provide the site owner with a choice of interpretation and features implemented
c) Use client geolookup to provide localised interpretation appropriate to country
If c5 provides a 'fully compliant' implementation, and a site owner gets prosecuted because it doesn't meet local interpretation, can the site owner then start litigation against the developer (who assumed the compliance of c5 was valid) and then c5 or Portland labs? MIT license  tries to say not, but I am not convinced that would be a robust defence.
With such a legal risk in mind, the safe solution from a legal point of view is to leave any final statement or 'conclusion' about compliance to the site owner (b). That way, claiming compliance is always the site owner's responsibility and can never become a legal liability for c5 or Portland labs.

Of course you cant promise the users that this is 100% complies with GDPR. Even if the core is supporting the strictest implementation. Just imagine a user is embeding an image from a 3rd party server or the server isn't using ssl encryption... There are many reasons why a site isnt comply with gdpr even if the core is.
The reponsibility is always up the site owner.
We need to think about the correct naming that concrete5 and/or Portland Labs doesnt get any Problems.
Maybe adding a kind of disclaimer too.

If the site owner does something else that breaks GDPR, that is clearly the owner's problem. The danger scenario is.

c5 says fully GDPR compliant.
Site owner implements a simple brochure site with tracking etc via the c5 GDPR implementation, so assuring themselves they have complied simply by using c5 because c5 says so.
GDPR compliance of c5 turns out not to meet local interpretation of law.

A feature of most law is that a contract (disclaimer) cannot absolve legal responsibility. I am confident of such a conclusion in employment law and in safety law. I am not 100% confident such a broad statement would apply to privacy law such as GDPR.

Okay then it's impossible to make concrete5 GDPR-compliant for every single local law interpretation.
The correct way were to review every release of concrete5 by lawyers for each european country.
This is not possible for an OpenSource project and also very expensive the most enterprise projects.

What you can do is provide a GDPR toolkit 'Use these tools to help with GDPR compliance'. Provide tools that when combined will, in theory, meet the strictest interpretation of compliance as far as you are aware. Make enable/disable of functionality within those tools a configuration made by the site owner. Now judging compliance is the owner's responsibility.

It would be better to say that c5 comes with features built into the core that give you the ability to create a GDPR compliant website rather then stating that c5 is fully GDPR compliant out of the box.
This is an important topic and including these features into the core would be huge.

I also think that cookie management and a feature rich cookie banner with details and categories is much better on core level then developing a 3rd-party add-on.

I really like this idea, @bitterdev . To be honest, I hadn't really thought about how it'd be possible for us to be fully GDPR compliant (i.e not loading the cookies at all until we have the user click Accept) because of the way we currently just have our simple text-based tracking code. But a solution like what you're proposing would work really well for that.
I think the existing GDPR solutions that have been built by @mlocati and others are good too – they've definitely filled a need. We've even used a cookie consent popup add-on from our own marketplace on our own site, with good results. You clearly know a lot about this subject, more than we do.
Historically we haven't wanted to really approach this subject in the core because it doesn't seem that core to the concept of a CMS. But I'm probably wrong on that front, especially given how important international markets are to concrete5, and how much work we've done to make the core so nicely localized. We should offer a robust cookie management solution out of the box, without add-ons.
I agree with @JohntheFish as well: something in the core should be globally enable-able (from the Dashboard.) It should support simple basic tracking cookies, and perhaps some of the more common trackers like Google Analytics out of the box. It should also probably default to the most restrictive model – at least, when it's turned on – so that it complies with more European countries out of the box, not fewer. Obviously, we don't want to force people into using this, but if it gets turned on it should be as compliant a solution as we can make.
We should do this. Let's continue to debate this in this GitHub issue, and we'll see about making time for something like this on the roadmap.
Really nice wireframes and thinking, @bitterdev.

@bitterdev we´ve already done something similiar! see: https://www.concrete5.org/marketplace/addons/active-cookie-consent
It requires the consent of the user to accept cookies, even for youtube block, google maps and the free vimeo addon!

@rii-J Readed the marketplace description of your add-on and reviewed the code of the "active_cookie_consent_third_party" package. This definitely going into the right direction, but:

There are no details about the particular cookies (name, description).
On core-level this would be much more powerful because you could give 3rd-party-developers best practices for working with cookies in frontend and backend. When 3rd-party-addons are reviewed by PRB this should also be required. So customers know that all marketplace items are ready to use without GDPR-issues.

Is this fully resolved in the current core? I have not noticed anything.

Will it include in the 9.0 release?

There are currently no plans to implement a system this large. It would probably have to wait until 9.1. But it is a good idea, so if someone wants to start working on it we'd be happy to review it.

I think we should move it forward but it seems the discussion is still ongoing. What are the requirements?

I'd like to add one more requirement: Make it works on full-page cached pages.


Create proper release process

Make errors / scripts exit with >0 error code when necessary to support further changes
Make the unit test base decent
Add integration test executing basic tasks and checking the result
Execute both test suite on CI before release
Create a github-release provider with a publish hook using github release, and make GuPM use it for further release

GH release needs auto versionning hence dependence on #9 . Closing for now, adding a new ticket


[ONNX] Support stripped ONNX

When running strip_large_tensor with ONNX which has already stripped, occur an error
FileNotFoundError: [Errno 2] No such file or directory: '/path/{"type": "stripped", "average": 0.0002447886217851192, "variance": 0.004106185864657164}'

Because stripped meta information is written as "external data location" and onnx.load try to loading the external location path https://github.com/onnx/onnx/blob/685898bc6f3fd6eb16ba129ea990f96330537e38/onnx/external_data_helper.py#L47
This PR fixed the error, by skipped stripped tensor when (re)stripping.

I'm reviewing but would be great if you could double-check @take-cheeze 😄

For later reference: https://github.com/onnx/onnx/blob/master/docs/ExternalData.md

/test

Sorry I've miss-approved https://github.com/pfnet/pytorch-pfn-extras/pull/208

/test


Add support for body_scanning (Enhanced File Detection) in teams account configuration

Add support for body_scanning (Enhanced File Detection) in teams account configuration.
Description
The teams account configuration APIs support Enhanced File Detection (body_scanning in the API), see links below. This PR adds support for this parameter with the Go SDK - with a view to implement the same functionality on the Terraform provider once released.

Enhanced file detection: https://developers.cloudflare.com/cloudflare-one/insights/logs/gateway-logs/#enhanced-file-detection
API docs: https://developers.cloudflare.com/api/operations/zero-trust-accounts-get-zero-trust-account-configuration

No issue raised as this feels like a minor addition. Happy to raise one if requested.
Has your change been tested?
Unit tests have been updates, and additionally I created a test Go app to confirm the changes work with both get and update functionality, using own Cloudflare account.
Screenshots (if appropriate):
N/A
Types of changes
What sort of change does your code introduce/modify?

[ ] 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 change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] This change is using publicly documented in cloudflare/api-schemas
and relies on stable APIs.

lgtm, thank you for the contribution! 👏


enforce unique event identifiers

due to a weird implementation of tendermint events, we need a unique combination of event type + one other event attribute to ensure our subscribers don't miss any events. I propose to use the module name for this. To help current and future developers prevent accidental collisions we should put a mechanism in place that enforces uniqueness (preferably at compile time, at app start up at the latest)

cosmos now supports strongly typed events, so when we get to refactoring the event system we can use that to make event types unique


Can't lookup added Statement in SPARQLRepository transaction

I wrote a simple application using a SPARQLRepository to connect to a local rdf4j-server. In it, I want to start a transaction, add a statement, and try to retrieve that statement during the transaction, then commit. See below:
    public static void main(String args[]) {
        String queryEndpoint = "http://<IP_ADDRESS>:8080/rdf4j-server/repositories/system";
        String updateEndpoint = "http://<IP_ADDRESS>:8080/rdf4j-server/repositories/system/statements";
        SPARQLRepository sparqlRepository = new SPARQLRepository(queryEndpoint, updateEndpoint);
        sparqlRepository.enableQuadMode(true);
        sparqlRepository.initialize();
        RepositoryConnection conn = sparqlRepository.getConnection();

        ValueFactory vf = SimpleValueFactory.getInstance();
        Statement a = vf.createStatement(vf.createIRI("urn:subject1"), vf.createIRI("urn:predicate1"), vf.createIRI("urn:object1"));

        conn.begin();
        conn.add(a);
        RepositoryResult<Statement> iterator = conn.getStatements(vf.createIRI("urn:subject1"), null, null);
        Statement aRepo = iterator.next();
        System.out.println(aRepo.toString());
        conn.commit();
    }

I get an exception due to an empty iterator:
Exception in thread "main" java.util.NoSuchElementException
	at org.eclipse.rdf4j.common.iteration.LookAheadIteration.next(LookAheadIteration.java:74)
	at org.eclipse.rdf4j.common.iteration.IterationWrapper.next(IterationWrapper.java:91)
	at org.eclipse.rdf4j.common.iteration.ConvertingIteration.next(ConvertingIteration.java:91)
	at org.eclipse.rdf4j.common.iteration.ExceptionConvertingIteration.next(ExceptionConvertingIteration.java:97)
	at org.eclipse.rdf4j.repository.RepositoryResult.next(RepositoryResult.java:58)
	at connection.main(connection.java:23)

Process finished with exit code 1

I would expect to be able to retrieve the statement that I just added. When I do the same operation with a NativeStore I do not have the same issue. I assume this is a bug in the SPARQLRepository?

As @damyan-ognyanov suggested, this is not exactly a bug: SPARQLRepository has no support for transaction isolation (because the SPARQL protocol lacks this support). If you need transaction-safe operations on a remote rdf4j repository, you should use HTTPRepository as the client instead.


Serial to Serial?

Not using RS485 at all, and compared to another modbus library that was going to force me to write what you have on top of it, im having some issues reading it the same, seems all my bits on an 8n1 setup are shifted 4.  I think its due to some rs485 overhead.  Any suggestions?  Amazing library btw.

Sorry for the late response.  Hm.  Well using RS485 or not shouldn't make any difference for this library.  In every Arduino type set-up I've seen, the RS485 to TTL conversion is handled on a separate chip and all the processor sees is the bits in TTL.  So there's either something wrong your whatever-to-TTL chip or there's something wrong with the Stream library you're using to turn the 0s and 1s into characters.  This library doesn't do any of that lower-level stuff.  It needs a stream of correctly read bits to work.
Are you sure that your modbus device actually uses 8N1?  Despite being the really common, 8N1 isn't technically modbus compliant.  If your sensor's default is 8O1/8E1, etc, I'd suggest trying to work with that, if possible.  Some sensors just work better in their default configuration.  HardwareSerial is the only Arduino serial I know of that supports anything other than 8N1.  If possible, you should always use HardwareSerial anyway; it's the best option by far.
You said you're not using RS485, but are you still using an half-duplex protocol?  This library does have code in it for using a pin to flip the communication flow direction, but it doesn't work well or at all with a lot of the RS485 to TTL chips.  I've had much better luck with chips or circuits that have automatic flow control.  Modbus is mostly a half-duplex sort-of protocol.  Arduino support for full-duplex depends on the Stream library you're using, but, again, if you're using anything other than HardwareSerial expect it to be error ridden.

Closing this issue, as it appears resolved.
If this issue needs further discussion, please continue it in a new issue in https://github.com/EnviroDIY/Mayfly-Modbus-Win


Feature Request: Enabling Bluetooth in VM

Is your feature request related to a problem? Please describe.
In order to pair other apple devices, it would be nice to have Bluetooth available in the VM.
Describe the solution you'd like
Forward Bluetooth through a bridge? Or assign the user/group to the VM? (Sorry, I don't know what exactly is necessary to make this work)
Describe alternatives you've considered
None so far.
Additional context
Just started with macOS Catalina on a AMD linux system and it's awesome! Thank you for this easy way of installing macOS.

@schmurian I am not sure how this would work. You could try to pass your Bluetooth card through to the vm.


Issue with Elixir as of 0.2.40

Given this code in a .ex file:
defmodule Monokai do
  def render("show.json", %{post: post, conn: conn}) do
    show(post, conn, %{})
  end

  def render("index.json", %{posts: posts, conn: conn, params: params}) do
    index(posts, Plug.Conn.assign(conn, :body, false), params)
  end
end

with the ElixirLS extension, I had this on 0.2.38:

on 0.2.40, it became this:

and on the latest, 0.2.50, it became:

Both the function name (render) and the module name (Plug.Conn) are no longer colored as they used to be.

@TheFirstAvenger, please check version 0.2.52.
And then write here the results.

Better! Looks like the module attributes (@attribute) and specs (@spec) also lost their color:

@TheFirstAvenger, 0.2.53 version is published, please check.

Looks great, thanks!


[AKS] Mark "--enable-pod-security-policy" deprecated

Mark PodSecurityPolicy deprecated because PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25.

AKS

@bingosummer If you want to release a new extension version to release this change, please also upgrade the version defined in setup.py

@bingosummer If you want to release a new extension version to release this change, please also upgrade the version defined in setup.py

@zhoxing-ms  Thanks! The fix doesn't need a release. It can be released with other PR's changes later.

@zhoxing-ms Thanks for reviews! Resolved the comments.

After removing help, CI raises the below error. Will add them back.
-  FAIL - HIGH severity: missing_parameter_help
    Parameter: aks create, `enable_pod_security_policy` - Missing help
    Parameter: aks update, `enable_pod_security_policy` - Missing help


Internal Server Error when accessing forecast API in Browser via URL

Describe the bug
When accessing the API with URL https://api.pirateweather.net/forecast/[API_KEY]/[LAT],[LONG]?units=si&extend=hourly&version=2, I receive "Internal Server Error". I am using the Home Assistant integration, but this also occurs when loading the URL in the browser.
I have tried regenerating my API key and this does not resolve the issue. Using an invalid API key does return "Kong Error: Invalid authentication credentials".
Expected behavior
The API should load weather data.
Actual behavior
"Internal Server Error"
API Endpoint
Production
Location
Redlands, California, United States
Other details
No response
Troubleshooting steps

[X] I have searched this repository and Home Assistant Repository to see if the issue has already been reported.
[X] I have read through the API documentation before opening this issue.
[X] I have written an informative title.

Sorry, this is already opened in https://github.com/Pirate-Weather/pirateweather/issues/258. Closing this.


Use setl lisp in runtime/ftplugin/dune.vim

Use setl lisp instead of set lisp in runtime/ftplugin/dune.vim so other buffers aren't affected.

This was fixed some time ago in the vim-ocaml repo.  Maybe you can nudge them to send an update here.

I made a related commit yesterday but didn't notice this was still a problem.
Could you please add a "Last Change:" header entry noting that it was updated by yourself and then we can twist @chrisbra's arm to include it.
These bad option settings from ftplugins are very annoying.


Added new interface for pluggable paramater configuration

Signed-off-by: Jason Wraxall<EMAIL_ADDRESS>Hi there - we upgraded tomcat-embed-core to 9.0.21 and found our code broke when JSSEUtilBase.getParameters visibility was tightened from protected to private.
Seeing no easy way to implement OCSP certificate checking with SOFT_FAIL, I implemented an interface to allow pluggable parameter configuration. Feel free to ask if you have any more qns or suggestions for the code. Cheers

Tomcat maintains API compatibility in major branches (unless there's an extremely good reason to do otherwise). As a result, these methods should be reverted to protected.


add-osd.yml creates new OSDs on existing node with OSDs

What happened:
I ran
ansible-playbook site-docker.yml -i inventory add-osd.yml --limit=osds to add /dev/sdn and it ended up adding another bunch of OSDS on the existing server that keeps on restarting.
Screenshot: https://prnt.sc/pb7pjn
What you expected to happen:
That it add's the removed OSD (osd.4 /dev/sdn) back into the cluster
How to reproduce it (minimal and precise):
This is on my test cluster, so everything vanilla with luminous 12.2.12
Share your group_vars files, inventory
Group Vars: http://pastefile.fr/f7f693a55e76881b1a319e21849f72bd
Inventory: http://pastefile.fr/a0c8015a90b4515bff39c054a884d31d
Journalctl of node | tail -100 | http://pastefile.fr/0c2fbf07ab5d0d111dfc6de3c070e83c (this on the server on that it happened but the /dev/sdn is not even on this node)
Environment:

OS (e.g. from /etc/os-release): "Ubuntu 16.04.6 LTS
Kernel (e.g. uname -a): Linux idia-maas-mgmt 4.15.0-47-generic #50~16.04.1-Ubuntu SMP Fri Mar 15 16:06:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Docker version if applicable (e.g. docker version): 18.09.7
Ansible version (e.g. ansible-playbook --version): ansible-playbook 2.6.0
ceph-ansible version (e.g. git head or tag or stable branch): stable-3.2.27
Ceph version (e.g. ceph -v): 12.2.12

After rebooting the node, it removed the original 40 OSDS from the node, (node 1 = osd1-40, node 2-osd=41-80, node 3 = osd81-120). Now node 3 is osd121-159 and the original 40 osds restarts non stop.

If you want to add a new device (like /dev/sdn) on your existing OSD nodes then you don't need to remove the old devices from the configuration.
In fact you need to keep the full list. The devices already deployed won't be modified.

group_vars/osds.yml:devices:
group_vars/osds.yml:  - /dev/sdn

This should be:
devices:
  - /dev/sdb
  - /dev/sdc
  (...)
  - /dev/sdn

Hi @dsavineau
Thanks for the feedback. I commented out all the disks expect /dev/sda (OS drive) and ran ansible-playbook -vv -i inventory add-osd.yml
Eventually it gets stuck on a massive amount of red lines and doesn't proceed any further so I had to kill it:
http://pastefile.fr/e19115040b8abba5ee6b4db7c6ef9859
journalctl -u<EMAIL_ADDRESS>| tail -n 50 since osd-121 keeps on restarting: Error  /opt/ceph-container/bin/entrypoint.sh: static: does not generate config
http://pastefile.fr/fb6ffb7f42048dacec1d5e4c705c3c40

I think this is related to this bz:
https://bugzilla.redhat.com/show_bug.cgi?id=1739365

@jeevadotnet could you link the full log? Thanks!

Hi as per IRC:
http://pastefile.fr/368cbb7ab0e09fb49ad12c23910b772e
ignore the first 100 lines or so. from 2019-10-03


How to build moboot?

@jcsullins I'm trying to add opal (shortloin) support to moboot. Do you have any instructions on how to build moboot available?

Nevermind found the Pre3 variant which has some instructions: https://github.com/gsora/moboot-pre3


Add support for localization.

Adds support for localization.
Changes from this PR:

Move most dialogue to json files found in /Languages,
Add function get_localized() and get_current_language() from src/localization.py
Update documentation
Update version to 0.0.13
(Tests have been preformed to ensure any changes to variable names are accounted for),

What still needs to be done:

Create a UI element that allows the user to change the language in the program.

Currently, the chosen language is determined by the 'Current Language' file found in the root directory, which the user has to rewrite manually to point to the name of the desired language (for example, en.json is referenced as "en" in 'Current Languages' , which sets the language to English).
I imagine the simplest method of adding a language selection is to use the glob function on the /Languages folder, put the file name of each result into a combobox element. Then when the user makes a change to the combobox (picking a different option), the program rewrites 'Current Language', then restarts to apply the language change.

@Infiland could you please add @rammba as a reviewer to this PR?

Hey @HalfOfBilly, I will check this tommorow when I get time.

@rammba Thank you for the review! Aside from some small things I need to clarify, I'll make the changes you've suggested and update this PR. Cheers :)

Apologizes for the delay, I had some personal things going on, I'll check this PR now

As for other improvements, like unused strings, or not using array nesting, we can open another PR.


Don't see the roblox shaders

Why it's removed? I wanted to enhance my game :(

What

I was trying to find ReShade, but can't find it

Roshade, it not Working right now
Due to Roshade not Whitelist by roblox
You can install Reshade but you cannot see or use its effects and settings

See 2.3.0's release notes. You would've seen this before downloading it.

ReShade has now been removed, as it does not work with the new 64-bit game client.


Filter bookmarks

Allow to filter and see only the bookmarks talks. Once I bookmark the talks I have interested, they are the ones I will be looking for. That could be a new tab that group them all or an option on the talks tab.

The bookmark tab does that, done.


Update configuring-dependabot-security-updates.md

Fixes missing newline in grouped Dependabot configuration

Why:
In https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates
The package ecosystem for grouped Dependabot updates does not have a newline

Closes: https://github.com/github/docs/issues/33116
What's being changed (if available, include any code snippets, screenshots, or gifs):
Updates to no longer strip whitespace, ensuring a newline
Screenshot from preview docs:

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@vlj91 Thanks so much for opening a PR with this fix! I'll update the branch and get this merged once tests are passing 🍏


Drop visibility flag

At the request of INAMI (as the visibility flag will have overlap with access matrix), the visibility flag should be removed from the model and from the profile (which would also fix the discrepancy of cardinalities)

see #204 . We will add the "Visibility" flag from Business input when the analysis is done for the broader mechanism.


Add "Capabilities" endpoint/API

What?
Add a REST API endpoint such as /api/v1/capabilities that returns a nested structure describing what LLMs and Tools the given OpenGPTs API instance supports. This would enable UIs to dynamically show/hide OpenGPTs options like LLMs and Tools.
A hypothetical response to GET /api/v1/capabilities might look something like:
{
   capabilities: {
        models : [],
        tools: []
    }
}

Why?
Currently, the OpenGPTs UI lets you select Models and Tools that may not be configured. The UI will happily let you create assistants with models that aren't configured. When used, the backend will spit out a trace, and the frontend won't do anything.
Implementing this endpoint would enable API clients (e.g. UIs) to only present options that the OpenGPTs instance is actually configured to support.
Implementation Considerations
With the current state of the codebase and dependency stack, the path of least resistance is likely to implement such a feature by checking for existence of LLM/Tool-specific environment variables.
Longer, more scalable solutions might involve moving away from environment variable driven configurations to something like a configuration file.

Here's a proposed response to /api/v1/capabilities.
The idea is to introduce the concept of an "LLM Provider" that supports one or more models.
Whether a tool or model is "enabled", for now, would depend on if the requisite env variables are set or not.
The goal is to make it so UIs consuming the OpenGPTs backend could toggle LLMs and tools on and off based on how a given backend is configured.
{
    "capabilities": {
        "llms": [
            {
                "provider": "OpenAI",
                "models": [
                    {
                        "id": "openai_gpt3_turbo",
                        "title": "OpenAI GPT 3.5 Turbo",
                        "supports_tools": true,
                        "supports_streaming": true,
                        "enabled": true
                    },
                    {
                        "id": "openai_gpt4_turbo",
                        "title": "OpenAI GPT 4 Turbo",
                        "supports_tools": true,
                        "supports_streaming": true,
                        "enabled": true
                    }
                ]
            },
            {
                "provider": "Anthropic",
                "models": [
                    {
                        "id": "anthropic_claude_2",
                        "title": "Claude 2",
                        "supports_tools": true,
                        "supports_streaming": true,
                        "enabled": true
                    }
                ]
            },
            {
                "provider": "Amazon Bedrock",
                "models": [
                    {
                        "id": "amazon_bedrock_claude_2",
                        "title": "Claude 2",
                        "supports_tools": true,
                        "supports_streaming": true,
                        "enabled": true
                    }
                ]
            },
            {
                "provider": "Azure",
                "models": [
                    {
                        "id": "azure_gpt4_turbo",
                        "title": "GPT 4 Turbo",
                        "supports_tools": true,
                        "supports_streaming": true,
                        "enabled": false
                    }
                ]
            },
            {
                "provider": "Google",
                "models": [
                    {
                        "id": "google_gemini",
                        "title": "Gemini",
                        "supports_tools": true,
                        "supports_streaming": true,
                        "enabled": false
                    }
                ]
            },
            {
                "privider": "Ollama",
                "models": [
                    {
                        "id": "ollama_llama2",
                        "title": "Ollma - Llama2",
                        "supports_tools": false,
                        "supports_streaming": true,
                        "enabled": true
                    },
                    {
                        "id": "ollama_mistral",
                        "title": "Ollma - Mistral",
                        "supports_tools": false,
                        "supports_streaming": true,
                        "enabled": true
                    },
                    {
                        "id": "ollama_openchat",
                        "title": "Ollma - Openchat",
                        "supports_tools": false,
                        "supports_streaming": true,
                        "enabled": true
                    },
                    {
                        "id": "ollama_orca2",
                        "title": "Ollma - Orca2",
                        "supports_tools": false,
                        "supports_streaming": true,
                        "enabled": true
                    }
                ]
            }
        ]
    },
    "tools": [
        {
            "id": "action_server_by_robocorp",
            "title": "Action Server by robocorp",
            "description": "Run AI actions with [Robocorp Action Server](https://github.com/robocorp/robocorp).",
            "enabled": true
        },
        {
            "id": "ai_action_runner_by_connery",
            "title": "AI Action Runner by Connery",
            "description": "Connect OpenGPTs to the real world with [Connery](https://github.com/connery-io/connery).",
            "enabled": true
        },
        {
            "id": "ddg_search",
            "title": "DuckDuckGo Search",
            "description": "Search the web with [DuckDuckGo](https://pypi.org/project/duckduckgo-search/).",
            "enabled": true
        },
        {
            "id": "arxiv_search",
            "title": "ArXiv Search",
            "description": "Searches [Arxiv](https://arxiv.org/).",
            "enabled": false
        },
        {
            "id": "you_search",
            "title": "You.com Search",
            "description": "Uses [You.com](https://you.com/) search, optimized responses for LLMs.",
            "enabled": true
        },
        {
            "id": "sec_filings_kai_ai",
            "title": "SEC Filings (Kay.ai)",
            "description": "Searches through SEC filings using [Kay.ai](https://www.kay.ai/).",
            "enabled": true
        },
        {
            "id": "ai_action_runner_by_connery",
            "title": "AI Action Runner by Connery",
            "description": "Connect OpenGPTs to the real world with [Connery](https://github.com/connery-io/connery).",
            "enabled": true
        },
        {
            "id": "wikipedia",
            "title": "Wikipedia",
            "description": "Searches [Wikipedia](https://pypi.org/project/wikipedia/).",
            "enabled": true
        }
    ]
}

I added this functionality myself: a tool that points to an API endpoint (which I exposed in the frontend) which lists all tools found in api/tools.py and another that lists all public GPTs. I created an "building assistant" GPT that then uses these tools to figure out if the user requester functionality already exists, and if not, tells the user how to build it given the available tools. I actually want to the make this "building assistant" the entry point/ first thing a user sees when they come to my self-hosted version of OpenGPTs.
something like:
from app.agent import Tool as AVAILABLE_AGENT_TOOLS
import sys
from typing import get_args, Union
def get_all_tools_info(tool_union):
tool_classes = get_args(tool_union)
tool_name_desc = {}
for tool_class in tool_classes:
# Create an instance of the tool class (if necessary for accessing class variables)
tool_instance = tool_class()
tool_name = getattr(tool_instance, "name", "No name")
tool_description = getattr(tool_instance, "description", "No description")
tool_name_desc[tool_name] = tool_description
return tool_name_desc
@app.get("/list_tools", description="Gets the tools available")
async def get_tools():
tool_name_desc = get_all_tools_info(AVAILABLE_AGENT_TOOLS)
return tool_name_desc
and I did the same for GPTs, so I created a tool that searches the existing GPTs/assistants.
import json
@app.get("/list_gpts", description="Gets the public GPTs")
async def get_gpts():
available_gpts = await storage.list_public_assistants()
print("available_gpts", available_gpts, file=sys.stdout)
agents_desc = {}
for agent in available_gpts:
    tools_used = agent["config"]["configurable"]["type==agent/tools"]
    if len(tools_used) > 0:
        tools_name_desc = [
        {"tool_handler": t["type"],
        "tool_name": t["name"],
        "tool_description": t["description"]
        } for t in tools_used]
    else:
        tools_name_desc = "no tool used in this GPT"

    agents_desc[agent["name"]] = {
        "description": agent["config"]["configurable"]["type==agent/retrieval_description"],
        "tools used": tools_name_desc,
        "system prompt": agent["config"]["configurable"]["type==chat_retrieval/system_message"]
        }
return agents_desc


What is the script doing to my iptables ? Will it mess up my existing iptables config?

I see that there are a bunch of iptable commands in the script. What is it doing exactly? I'm worried that it might messup my existing iptables setup. Is it just adding in new rules ONLY for wireguard ports and not touching anything else? Reason why I ask is because I have a custom ssh port of 3333 and don't want that overwritten. thanks!

Yes it will add iptables rules to route your traffic. Just grep it
grep iptables wireguard-install.sh


d-form fails with a Cstruct.blit_from_string error

As soon as I submit something simple like 'a':
~/example/d-form % dune exec ./form.exe
14.05.21 15:55:15.327                       Running on http://localhost:8080
14.05.21 15:55:15.327                       Press ENTER to stop
14.05.21 15:55:23.131       dream.log  INFO REQ 1 GET / <IP_ADDRESS>:41998 Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
14.05.21 15:55:23.131       dream.log  INFO REQ 1 200 in 152 μs
14.05.21 15:55:25.484       dream.log  INFO REQ 2 POST / <IP_ADDRESS>:41998 Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
14.05.21 15:55:25.484       dream.log  WARN REQ 2 Aborted by: Invalid_argument("Cstruct.blit_from_string src=[81] dst=[0,81](81) src-off=13 len=81")
14.05.21 15:55:25.484      dream.http ERROR Invalid_argument("Cstruct.blit_from_string src=[81] dst=[0,81](81) src-off=13 len=81")
14.05.21 15:55:25.484      dream.http ERROR Raised at file "stdlib.ml", line 30, characters 20-45
14.05.21 15:55:25.484      dream.http ERROR Called from file "lib/cstruct.ml", line 407, characters 4-30
14.05.21 15:55:25.484      dream.http ERROR Called from file "src/cipher/cipher.ml", line 108, characters 12-50
14.05.21 15:55:25.484      dream.http ERROR Called from file "src/cipher/cipher.ml", line 38, characters 10-60
14.05.21 15:55:25.484      dream.http ERROR Called from file "src/middleware/csrf.ml", line 44, characters 8-63
14.05.21 15:55:25.484      dream.http ERROR Called from file "src/core/lwt.ml", line 2133, characters 16-20
14.05.21 15:55:25.484      dream.http ERROR Re-raised at file "src/middleware/session.ml", line 29, characters 2-91

This is with dream 1.0.0~alpha1 and master too.
http://dream.as/d-form works though

I think the problem here is a missing constraint on cstruct. I had version 5.2.0 installed and that failed as above. When upgrading to cstruct 6.0.0 it all works!

The change is probably specifically due to https://github.com/mirage/ocaml-cstruct/commit/a6a9c3fd8ee187151ddae2483c46a2c652c6790d, "Cstruct: default value of ?len in of_string and of_bytes is now Y.length a - off (used to be Y.length a)," which is part of 6.0.0. I've added the constraint. Thanks for the report!


cli: don't read/write readline history more than once

Previously, when creating multiple CLI objects, each one would append the
~/.mininet_history file to readline's internal list. When writing the file back
it would be duplicated for each CLI object created. So, over a few mininet runs
the history file would grow exponentially.
This change moves the readline setup code out of the CLI constructor and adds a
global flag to prevent it from being executed more than once.

Hmm, I'd never thought of creating more than one CLI object in a session, but of course you can do that!
Probably I would make it a class method and make the flag a class variable.

Ok, I moved the code into a class method.
I use a second CLI object to source a file before running the interactive CLI.

@lantz Can you take another look at this?

https://github.com/rlane/mininet/pull/1

Oh sorry, I never saw that pull request. Looks good to me.


Missing link to AutoSuggestBoxSuggestionChosenEventArgs page

Missing a quick link to the AutoSuggestBoxSuggestionChosenEventArgs type page.

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

ID: 1f46791a-9ef2-5539-6906-22b683755287
Version Independent ID: 6b389499-4cdd-c822-543f-df7d5edc572f
Content: AutoSuggestBox.SuggestionChosen Event (Windows.UI.Xaml.Controls) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.controls.autosuggestbox.yml&version=GBlive&_a=contents
Product: uwp
Technology: winrt-reference
Git Login: jwmsft
Microsoft Alias: jimwalk

Should be here: https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.AutoSuggestBoxSuggestionChosenEventArgs

Event/delegate pages seem to not link to the types involved (like args and delegate). @mimisasouvanh is this being tracked?

@jevansaks This looks like a content issue...Unless you are wanting the links to the type pages to be automated, which they aren't currently. Assigning to @lastnameholiu

I'm hoping the links to the type pages can be automated, we have a lot of pages that are affected like this.

Resolved. These links are now added automatically in the doc build.


Add Pool#wait, Pool::Task#wait for wait until specific task(s) will be finished, add access to result of block code

example:
pool = Thread.pool(4)
tasks = []

10.times do
  tasks << pool.process{ some_work }
end

pool.wait( tasks)

@wallarm would it be possible to add a few tests of this code?

I think it would actually be better to use futures in this case, you're basically transforming a Task in a Future.


Allow attributes on checkboxes/radios

Unlike other form controls, the checkbox/radio templates only allow attributes on the wrapping container markup.
Services like ours add data attributes to some checkboxes:
items:
  - value: yes
    text: Yes
    attributes:
      data-example: '123'
  - value: no
    text: No
    attributes:
      data-example: '456'

Following the same pattern as the other input, textarea and select, details templates etc, the attributes are appended like this:
<input ... value="yes" data-example="123">
<input ... value="no" data-example="456">

Hopefully this pull request will help other teams too 😊

@nickcolley I've made two two review changes.
Tests all passing 👍

Updated checkbox/radio readme to document new items.{}.attributes

Looks good to me 👍


EOFError and ConnectionResetError in the multiprocessing connection.py

After I installed habitat-sim, habitat-lab and VLN-CE in the README.md successfully, and run the command "python run.py --exp-config vlnce_baselines/config/rxr_configs/rxr_cma_en.yaml --run-type train", I got this error.
Did I do something wrong?

This could be for many different reasons. Have you been able to successfully run the Habitat-Lab example script? The multiprocessing error could be hiding the real issue. Switching from habitat.VectorEnv to habitat.ThreadedVectorEnv in the construct_envs function should provide a more useful message. One reason I've seen this error is from having wrong file paths in the config.

I also got the same error. I looked at the previous related content and thought there might be a problem with the dataset. Could you please give me a solution?


Error 1241: Too small maximum number of variables 0 is specified

I get the following error when I do a conic program solve. What does this mean?
MOSEK error 1241: Too small maximum number of variables 0 is specified. Currently, the number of variables is 2546.
ERROR: MosekError(1241,"Too small maximum number of variables 0 is specified. Currently, the number of variables is 2546.")
 in putmaxnumvar at /nh/nest/u/harsha/.julia/v0.3/Mosek/src/msk_functions.jl:2980
 in loadconicproblem! at /nh/nest/u/harsha/.julia/v0.3/Mosek/src/MosekConicInterface.jl:235
 in loadconicproblem! at /nh/nest/u/harsha/.julia/v0.3/Mosek/src/MosekConicInterface.jl:208
 in lazyconstraintgenerator at /auto/nest/nest/u/harsha/Documents/Julia_codes/sccuc/UCcode/codejl/model.jl:433
 in lazycallback at /nh/nest/u/harsha/.julia/v0.3/JuMP/src/callbacks.jl:65
 in anonymous at /nh/nest/u/harsha/.julia/v0.3/JuMP/src/callbacks.jl:79
 in mastercallback at /nh/nest/u/harsha/.julia/v0.3/CPLEX/src/CplexSolverInterface.jl:416
while loading /auto/nest/nest/u/harsha/Documents/Julia_codes/sccuc/UCcode/codejl/sccuc_simulation.jl, in expression starting on line 89

Are you using a new mosek model, or are you calling loadconicproblem! repeatedly with the same model object?

This was a bug when resizing the underlying task in loadconic, basically when using loadconic to overwrite an existing problem. It should work in the head revision.

@ulfworsoe, thanks for the fix! Did you push to master?

As far as I can see it has been in the master for some time. Unless this is
in fact a different bug.
On Thu, Oct 1, 2015 at 4:06 PM, Miles Lubin<EMAIL_ADDRESS>wrote:

@ulfworsoe https://github.com/ulfworsoe, thanks for the fix! Did you
push to master?
—
Reply to this email directly or view it on GitHub
https://github.com/JuliaOpt/Mosek.jl/issues/58#issuecomment-144737390.

--
Ulf Worsøe
Mosek ApS
<EMAIL_ADDRESS>www.mosek.com

Sorry, I misunderstood. Thought this was a recent fix.
On Oct 2, 2015 7:53 AM, "Ulf Worsøe"<EMAIL_ADDRESS>wrote:

As far as I can see it has been in the master for some time. Unless this is
in fact a different bug.
On Thu, Oct 1, 2015 at 4:06 PM, Miles Lubin<EMAIL_ADDRESS>wrote:

@ulfworsoe https://github.com/ulfworsoe, thanks for the fix! Did you
push to master?
—
Reply to this email directly or view it on GitHub
https://github.com/JuliaOpt/Mosek.jl/issues/58#issuecomment-144737390.

--
Ulf Worsøe
Mosek ApS
<EMAIL_ADDRESS>www.mosek.com
—
Reply to this email directly or view it on GitHub
https://github.com/JuliaOpt/Mosek.jl/issues/58#issuecomment-144997654.

This was fixed long ago.


feat!: 2024 01 10 demo

Fixes #23
Finalize demo UX

Close enough. Still failed to include metadata in initial package.


Bump node.js to 0.12 for travis

Update node version on travis

You should update pull request title, not explicit at all :)

Thank you @listepo


⚠ Bofrost.at has degraded performance

In 38d760b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2082 ms

Resolved: Bofrost.at performance has improved in 608f677 after 7 minutes.


Override common generator to handle properly prettier/editorconfig customization

Updates #6

Please make sure the below checklist is followed for Pull Requests.

[x] Travis tests are green

[x] Tests are added where necessary

[x] Documentation is added/updated where necessary

[x] Coding Rules & Commit Guidelines as per our CONTRIBUTING.md document are followed

@deepu105 I've noticed that on jhipster.tech (https://www.jhipster.tech/modules/creating-a-blueprint/), common module is not listed as extendable using blueprint system, and in fact it is. We might need to update the website.

Is it possible to add npm test (yeoman tests), to check if these files are correctly generated ?

This will fix #6 issue.

LGTM


admission webhook denied: missing spec.provider.keepersecurity.auth when creating clustersecretstore for keeper

Describe the bug
admission webhook denied: missing spec.provider.keepersecurity.auth when creating clustersecretstore for keeper
To Reproduce
Steps to reproduce the behavior:

provide all relevant manifests

apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
 name: xxxx-keeper-clustersecretstore
 namespace: xxxxx
spec:
  provider:
    keepersecurity:
    auth:
     secretRef:
        name: ksm-config-secret
        key: ksm_config
    folderID: "xxxxxx"

provide the Kubernetes and ESO version
kubernetes v1.27.10
ESO v0.9.13

Expected behavior
I would expect you to create a clustersecretstore but it fails with below error
Error from server (Forbidden): error when creating "keeper_xxxxx_cssecretstore.yml": admission webhook "validate.clustersecretstore.external-secrets.io" denied the request: missing: spec.provider.keepersecurity.auth
I know we are using authref for keepersecurity but error checks for auth
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

I was able fix this issue by making the below changes. I was going through the code and found the fix
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
 name: xxxx-keeper-clustersecretstore
spec:
  provider:
    keepersecurity:
    auth:
     secretRef:
        name: ksm-config-secret
        key: ksm_config
        namespace: xxxx
    folderID: "xxxxxx"

Error was misleading and lack of documentation of clustersecret for keeper.


Proposal: Add option to disable Xinput control on UWP Apps

Proposal: Add option to disable Xinput control on UWP Apps

Summary

Later Windows 10 builds, automatically use Xinput devices to control UWP Apps, and some parts of the Windows UI. However this approach proves to be troublesome, because assuming the device is not being used results in terrible experiences.
Rationale

This feature would resolve issues people are having when using Xinput devices to control their computers, apps like Gopher, Joy2Key and others. Because the automatic command mapping conflicts with the commands the user is actually trying to do.

Scope

Capability
Priority

This proposal will allow end users chose whether or not their Xinput devices will be used to control the UI on UWP Applications
Must

Important Notes

This issue has been brought up before many time, following bellow are some examples
https://steamcommunity.com/app/367670/discussions/0/2828702373004583436/?ctp=3
https://github.com/MicrosoftDocs/windows-uwp/issues/1882
https://github.com/MicrosoftDocs/windows-uwp/issues/622
https://answers.microsoft.com/en-us/windows/forum/all/how-do-i-completely-disable-xbox-controller/b4f63e59-f1a1-4b75-9525-c39c94468a66?auth=1
https://superuser.com/questions/1173133/disable-xbox-one-controller-in-uwp-apps-like-windows-store

https://github.com/microsoft/microsoft-ui-xaml/issues/1496#issuecomment-546582991

#1496 (comment)

I see your point, that would be a viable solution for some people.
However the problem I outline here is "Assuming that the user is not using his xinput device for something else its a bad User Experience, so this UWP auto map should be OPTIONAL"
This only further perpetuates the stigma of UWP Apps not being as popular, its because of the little things you know?
If this Mapping was System wide it could potentially be useful, however it is useless, since it only allows control for a tiny amount of the whole system.
Whats the point of being able to control the StartMenu and The settings App, but you cannot navigate Windows Explorer? Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

Yeah, I know. Microsoft is really bad at this. That's why many of their ideas fail at the entry level into the market. Vista, 8.x, Silverlight, DUI, WinFS, and much more.

so this UWP auto map should be OPTIONAL

To Windows team, UWP is the next application model after Win32. It's incomplete, yes... still in development, yes... Even for those reasons, they are not going to put a system wide settings to disable other input modals. WinUI can do it, if they want too, but if it does, it'll be a developers' choice for the app and not the users' choice for the whole system!
You could find a registry setting for a feature flag so that you can disable them via the mapping app but that's just what the devs of the mapping apps need to do.

Whats the point...

I feel you.  The commitment is just not there. we'll see if CShell based OS variants change any of these behaviors in coming years.

#1496 (comment)

Whats the point of being able to control the StartMenu and The settings App, but you cannot navigate Windows Explorer? Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

The UWP version of Explorer is controller compatible. The old Win 32 version of Explorer isn't. It takes time to replace things.

The worst part is that it doesn't just iterate XInput devices, which are typically better behaved, but it also seems to apply to DirectInput devices enumerated. This is a pain for me because my HOTAS throttle and sliders seem to control the navigation meaning I have to carefully center everything before returning to Windows, it gets even worse if I unplug the device the scrolling will go crazy and I will have to use keyboard shortcuts to reboot Windows.
If this behavior is acceptable to be forced onto me and other users that I have seen with similiar bug reports just so a small number of users can control their menu's with their gamepad without giving the rest of us the option, then that pretty much encompasses everything wrong with MS.

#1496 (comment)

Whats the point of being able to control the StartMenu and The settings App, but you cannot navigate Windows Explorer? Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

The UWP version of Explorer is controller compatible. The old Win 32 version of Explorer isn't. It takes time to replace things.

This only enforces my point. I'm not here to hate on Windows or Microsoft, I just want to help improve the products I use daily.
This issue is not an open invite to random opinions, it's a formal proposal directed to the Windows UI Development team. It is their job to take it in consideration or not.
@shaheedmalik start your own issue discussion thread.
If this does not affect you please get out.
@JoshWobbles Your last comment is not related to this proposal, please open your own issue.

@joaodforce It all supports the proposal to be able to disable controller navigation, which if I am not mistaken is what you are asking for.

I wish we wouldn't need a proposal for something like this.
I've been using Controller Companion to control my desktop for years now and when this "feature" was forced on me, I wasn't able to control anything related to UWP apps, so I looked in every thinkable setting in Windows to disable this and to my surprise there was NO OPTION, not even a registry key to disable this.
I have to disable my third party apps to use this inferior control scheme to do basic stuff like selecting a movie in the Netflix UWP app which is the only way I can have surround sound on my home theatre. This is horrible and I'm baffled that there I can see threads with people having this issue since 2016.
Why add an unfinished feature to regular builds?

Unfortunately, this isn't something done by the XAML UI framework, so this GitHub isn't the correct place to track this feature proposal.  Game controllers being promoted up to a form of keyboard input in UWP apps is done by a lower level of the input stack - XAML responds to these events, but the promotion, and thus ability to disable it system-wide, happens beneath us.
The team that does own this part of the stack is not on GitHub, so I have filed an internal tracking issue with them.  There isn't currently a way for you to track progress on that - but if you file a Feedback Hub report and send me the link, I can attach that Feedback Hub report to the internal issue.  As far as I understand this, that would give you some (limited) visibility into progress.

Is there any progress yet?

I find it incomprehensible that a question is just ignored like that.
Microsoft needs to start firing/replacing people that are behind this as this is clearly not working.

This nonsense is going on for a while now, the more I google the more I find on it: https://steamcommunity.com/app/367670/discussions/0/2828702373004583436/?ctp=3
We need to compile a list of all the problems there are here and send/twitter/email that in mass to the higherups in microsoft, from the flawed and broken 'controller support', all the way to how feedback/complaints on this are handled.

@Austin-Lamb sorry I forgot to link it, I created an issue on the Feedback Hub https://aka.ms/AA91eep
Nothing happened yet though...

Speaking up here for the input team here, with apologies for not responding earlier. We have a process for WinUI to route input and composition issues over to us, but it looks like this one predated getting that process up and running.
We're looking into what mitigation we could provide; it looks like a fairly simple thing to do, with this caveat: it would require an OS-level change, so it would have to be included in a future version of the OS, rather than an updated WinUI3 package. We'll keep this issue updated when we have line of sight on more details (e.g., a preview build to try out.)
Just to be clear: the mitigation would likely be a session-wide (all apps) opt-in/opt-out. Default behavior would be to opt in, but users would have some way to opt out, ideally a full-fledged input setting. Apps would not be able to change this behavior programmatically. Let us know how that sounds?

Just to be clear: the mitigation would likely be a session-wide (all apps) opt-in/opt-out. Default behavior would be to opt in, but users would have some way to opt out, ideally a full-fledged input setting. Apps would not be able to change this behavior programmatically. Let us know how that sounds?

I think this would be a great solution, since most people complaining about this just want to have a standard behaviour, Since this doesn't work on regular win32 Apps having an incomplete navigation system is problematic.
So having the option to disable this auto mapping on all UWP apps would for sure suffice for everyone.

Speaking up here for the input team here, with apologies for not responding earlier. We have a process for WinUI to route input and composition issues over to us, but it looks like this one predated getting that process up and running.
We're looking into what mitigation we could provide; it looks like a fairly simple thing to do, with this caveat: it would require an OS-level change, so it would have to be included in a future version of the OS, rather than an updated WinUI3 package. We'll keep this issue updated when we have line of sight on more details (e.g., a preview build to try out.)
Just to be clear: the mitigation would likely be a session-wide (all apps) opt-in/opt-out. Default behavior would be to opt in, but users would have some way to opt out, ideally a full-fledged input setting. Apps would not be able to change this behavior programmatically. Let us know how that sounds?

For the love of God yes! I wish obvious fixes didn't always require such pushback from the community to even get recognized.

Just to be clear: the mitigation would likely be a session-wide (all apps) opt-in/opt-out. Default behavior would be to opt in, but users would have some way to opt out, ideally a full-fledged input setting. Apps would not be able to change this behavior programmatically. Let us know how that sounds?

This is exactly what we want, until the controller integration works anywhere near as good as third party integrations, I definitely want to opt out of everything in Windows.
Finally, I see hope that I can properly use Windows settings, the start menu and audio controls with Controller Companion again!

Any updates to this? I'm so ready for this to be back working like it was before. So tired of the issue where..... I use my controller for a mouse and have 'x' and 'o' buttons mapped as right and left click, and the left joystick as the mouse cursor. When I pull up the start menu. Omg. It makes me feel like I am retarded, and I have been using computers since I was a young whipper snapper, mildly knowledgeable developer, and can fix any issue for anyone. But trying to use the start menu or settings make me want to scream at the top of my lungs and makes me think why someone would even think this would have been a good idea.
If you want to setup windows for gaming, then make a separate OS for that. As a matter of fact. Make a console too....

Sorry for the double post. A developer in know that manages multiple other controller/device inputs has taken their time to help me figure out how to disable this for DS4 v1 controllers (ds4 v2 controllers don't have the issue of ui navigation).
The developer that figured it out Is located here - https://steamcommunity.com/id/FirstPlato/ and here - https://forzatools.weebly.com/about.html
the developer is very knowledgeable and manages multiple projects regarding controller/device input. It is working great for me and works fine and doesn't require you to run a fix every time you reboot. It is a simple reg edit. And I REPEAT IT IS FOR DS4 v1 only (ds4 v2 doesn't have this issue).
`Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]
"Disabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation\PrimaryUp]
"AxisIndex"=dword:00000012
"Inverted"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation\PrimaryUp]
"AxisIndex"=dword:00000012
"Inverted"=dword:00000001
`

@james28909 it works! Thank you so much 👍🏻

Update from the OS team: a work around for disabling the automatic controller-to-keyboard mapping for UWP apps is now checked in to the main OS source repository.
Unfortunately this workaround missed the cut off for the next major OS update (the one that is currently being flighted on the Windows Insider dev channel), which means it will be a few more months at the minimum before this fix is available in an Insiders build that y'all can try out.
I'll update this thread with the reg keys needed to disable this feature when we have a better idea what Insiders build this will be on.
I know that is still not a full answer, but I wanted to at least update this thread on our status.

Good news! This fix made it into build 21280 which will be flighted on the dev channel of the Windows Insiders program starting tomorrow morning.
Here is the new reg key you will need to create:
HKLM\Software\Microsoft\Input\Settings\ControllerProcessor\ControllerToVKMapping

Then add a DWORD value named Enabled set to 0.
Note that if you remove the Enabled value or the ControllerToVKMapping key, the system will default to enabling the controller-to-virtual-key mapping for UWPs.
After setting this key you should not need to do anything else and the input system should automatically see the new reg key and disable the feature. If it doesn't work right away, double-check the spelling and restart your computer. If you are still having issues, feel free to reply to this thread and I'll see if I can help out.

Im going to switch to the Dev channel tomorrow just to test out this feature!

After setting this key you should not need to do anything else and the input system should automatically see the new reg key and disable the feature. If it doesn't work right away, double-check the spelling and restart your computer. If you are still having issues, feel free to reply to this thread and I'll see if I can help out.

I've added the key to the DWORD to the Computador\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Input\Settings\ControllerProcessor\ControllerToVKMapping key, and it did not work.
I guess the build you mentioned its not out yet, I upgraded to the Build 20231 on the dev channel. gonna keep my eyes open for an update.

Should be available in build 21286. Downloading and installing now and will update if it works!
https://blogs.windows.com/windows-insider/2021/01/06/announcing-windows-10-insider-preview-build-21286/
@joaodforce Keep in mind if you upgrade from one Insider build to another, you won't be able to go back to regular Windows. Only by reinstalling will you be back on the normal version. I tell you this because Windows Insider builds could be error prone and aren't recommend for day to day use on your primary PC.

Should be available in build 21286. Downloading and installing now and will update if it works!
https://blogs.windows.com/windows-insider/2021/01/06/announcing-windows-10-insider-preview-build-21286/
@joaodforce Keep in mind if you upgrade from one Insider build to another, you won't be able to go back to regular Windows. Only by reinstalling will you be back on the normal version. I tell you this because Windows Insider builds could be error prone and aren't recommend for day to day use on your primary PC.

It works!
Made a quick gist with a .reg file: https://gist.github.com/Susko3/a59aace42579222e351e57abfad0cef5

It works!
Made a quick gist with a .reg file: https://gist.github.com/Susko3/a59aace42579222e351e57abfad0cef5

Speaking up here for the input team here, with apologies for not responding earlier. We have a process for WinUI to route input and composition issues over to us, but it looks like this one predated getting that process up and running.
We're looking into what mitigation we could provide; it looks like a fairly simple thing to do, with this caveat: it would require an OS-level change, so it would have to be included in a future version of the OS, rather than an updated WinUI3 package. We'll keep this issue updated when we have line of sight on more details (e.g., a preview build to try out.)
Just to be clear: the mitigation would likely be a session-wide (all apps) opt-in/opt-out. Default behavior would be to opt in, but users would have some way to opt out, ideally a full-fledged input setting. Apps would not be able to change this behavior programmatically. Let us know how that sounds?

I've been searching for a solution to this for something like 4 years now, if your support isn't functional enough to use stand alone it should not be forced onto us when it will interfere with all other possible solutions.

I've been searching for a solution to this for something like 4 years now, if your support isn't functional enough to use stand alone it should not be forced onto us when it will interfere with all other possible solutions.

We have been through this already, the solution was already developed and issued for he next major windows update, now we just have to wait until it gets to the consumer ring.

Is there any update on this? Trying to use my controller as a mouse input when streaming games over my network but whenever the start menu is open it will select and open random things. Pretty wild there isn't a simple "disable controller from navigating windows" or something of the sort for this long.

I updated to the Release Candidate version of Windows Insider for the release build of Windows 11 (Build 22000.194) which is supposedly the version that'll go out on the October 5th release day and the regedit change works! Looks like once users update to Windows 11, they'll get this change.

I updated to the Release Candidate version of Windows Insider for Windows 11 (Build 22000.194) which is supposedly the version that'll go out on the October 5th release day and the regedit change works!
Looks like once users update to Windows 11, they'll get this change.

I joined the Windows Insider Program under the Release Preview Channel to get Windows 11 and the regedit change works. Supposedly this will be the build that'll go out on the October 5th release day so looks like once users update to Windows 11, they'll get this change.

I joined the Windows Insider Program under the Release Preview Channel to get Windows 11 and the regedit change works.

Sorry for the double post. A developer in know that manages multiple other controller/device input projects has taken their time to help me figure out how to disable this for DS4 v1 controllers (ds4 v2 controllers, that have the light bar in the touch pad, don't have the issue of ui navigation input).
The developer that figured it out Is located here - https://steamcommunity.com/id/FirstPlato/ and here - https://forzatools.weebly.com/about.html
the developer is very knowledgeable and manages multiple projects regarding controller/device input and feedback. It is working great for me and works fine and doesn't require you to run a fix every time you reboot. It is a simple reg edit. And I REPEAT IT IS FOR DS4 v1 only (ds4 v2 doesn't have this issue).

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]

"Disabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001

just copy paste the code into a .reg file named whatever you want, like "ds4_ui_fix.reg" and run it. Then unpair and reboot and pair and try it out.

yes but that is for version 1 of the ds4 only afaik. i do not think it works universally.

Yes, I am no beta user and this is working since a year or so.

Sorry for the double post. A developer in know that manages multiple other controller/device input projects has taken their time to help me figure out how to disable this for DS4 v1 controllers (ds4 v2 controllers, that have the light bar in the touch pad, don't have the issue of ui navigation input).
The developer that figured it out Is located here - https://steamcommunity.com/id/FirstPlato/ and here - https://forzatools.weebly.com/about.html
the developer is very knowledgeable and manages multiple projects regarding controller/device input and feedback. It is working great for me and works fine and doesn't require you to run a fix every time you reboot. It is a simple reg edit. And I REPEAT IT IS FOR DS4 v1 only (ds4 v2 doesn't have this issue).

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]

"Disabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001

just copy paste the code into a .reg file named whatever you want, like "ds4_ui_fix.reg" and run it. Then unpair and reboot and pair and try it out.

@TheConfax This fix only works for DS4 controllers. The issue is that this applies to all xinput devices.

i guess you could modify that reg fix and instead of [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]
you could do like:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\**whatever_your_device_id_is**]
you will just need to make sure to make those changes for the whole reg file. maybe it would work. i do not know and cannot suggest someone to do it. if anyone tried to, please post back your results.
and again, i want to reiterate, it is complete bullshit that the official fix is not being pushed for windows 10 users, expecially since its getting support until 2025

I could be reading it incorrectly but based on the documentation for this keyset it appears to be for mapping non-xinput devices to xinput devices.
https://docs.microsoft.com/en-us/windows/uwp/gaming/registry-data-for-game-controllers
My issue is occurring with standard xbox one controller, I don't the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\ in my registry.
Thanks for your effort though. This is something that should be configurable

I could be reading it incorrectly but based on the documentation for this keyset it appears to be for mapping non-xinput devices to xinput devices. https://docs.microsoft.com/en-us/windows/uwp/gaming/registry-data-for-game-controllers
My issue is occurring with standard xbox one controller, I don't the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\ in my registry.
Thanks for your effort though. This is something that should be configurable

can you get yoru controllers device id and add it to the registry above and try it? then unpair and reboot (make sure to make a backup before you change anything that way you can restore. id be interested if it worked. just create the key and see if it works.

This is the solution that has worked for me.
It involves rolling back to an older Xinput driver that doesn't support UWP.

Download the cab file "Microsoft - Game Devices, Other hardware - XBOX 360 Controller For Windows"
Last Updated "8/12/2009"
Size "2.5 MB"
from: https://www.catalog.update.microsoft.com/Search.aspx?q= Microsoft - Game Devices%2C Other hardware - XBOX 360 Controller For Windows

Use 7-Zip to extract the cab file.
This will result in a folder that contains:

two folders "x64" & "x86"
and three files: "INF Failures.txt", "xusb21.cat", & "xusb21.inf".

Open "control panel" and search for and navigate to "device manager".

In "device manager", if you have an Xinput controller plugged in, when you scroll down you will
eventually see "Xbox 360 Perphearals". Click it.

Right click on "Xbox 360 Controller for Windows" and select "Update Driver Software".

Click on "Browse my computer for driver software".

Click on "Let me pick from a list of device drivers on my computer".

Click on "Have Disk..." in the lower right corner of the window.

Click on "Browse..." and navigate into the extracted folder from earlier that contains the driver.

Select the "xusb21.inf" file then click "Open".

Click "OK".

Click "Next" then the driver should install.

You will be asked to "restart your computer".
Do it when you are ready so that the changes will go into effect.

You should be all set. Hopefully this will work for you.

Is there still not a way to just entirely cripple UWP recognition of controllers?

was HKLM\SOFTWARE\Microsoft\Input\Settings\ControllerProcessor\ControllerToVKMapping\ removed on Windows 11 22h2?

This is the solution that has worked for me. It involves rolling back to an older Xinput driver that doesn't support UWP.
Download the cab file "Microsoft - Game Devices, Other hardware - XBOX 360 Controller For Windows" Last Updated "8/12/2009" Size "2.5 MB" from: https://www.catalog.update.microsoft.com/Search.aspx?q= Microsoft - Game Devices%2C Other hardware - XBOX 360 Controller For Windows
Use 7-Zip to extract the cab file. This will result in a folder that contains:

two folders "x64" & "x86"
and three files: "INF Failures.txt", "xusb21.cat", & "xusb21.inf".

Open "control panel" and search for and navigate to "device manager".
In "device manager", if you have an Xinput controller plugged in, when you scroll down you will eventually see "Xbox 360 Perphearals". Click it.
Right click on "Xbox 360 Controller for Windows" and select "Update Driver Software".
Click on "Browse my computer for driver software".
Click on "Let me pick from a list of device drivers on my computer".
Click on "Have Disk..." in the lower right corner of the window.
Click on "Browse..." and navigate into the extracted folder from earlier that contains the driver.
Select the "xusb21.inf" file then click "Open".
Click "OK".
Click "Next" then the driver should install.
You will be asked to "restart your computer". Do it when you are ready so that the changes will go into effect.
You should be all set. Hopefully this will work for you.

Does this fix not work for Xbox Elite Series 2? It tells me the 2009 driver is not compatible with my device. I have tried so many fixes for this issue at this point... I use my controller as a mouse because I have a disability which makes it difficult to use a regular mouse, so this issue is particularly frustrating to me as I'm using my controller all the time.

Click on "Let me pick from a list of device drivers on my computer".
Click on "Have Disk..." in the lower right corner of the window.

hey, try to get in contact with the developer at this site. they are the ones that helped me disable the system wide v1 ds4 input so maybe they can help you as well. - https://forzatools.weebly.com/about.html
good luck!

How is this not fixed on Windows 10 yet? Useless

Windows seems to generate key events with VK Codes of 0xC3 to 0xDA when you use a controller on a UWP application. Since there is still no way to officially disable this in Windows 10, I ended up just making a small application to add a Low Level Keyboard Hook and remove key events with those codes.

To anyone still having this issue in windows 10 for apps like controller companion, THIS worked.
To summarize for basic layman googlers in need of help:
I copied all that registry nonsense from this post to a .txt file that I named whatever I want.
I grabbed the device ID for the 360 controller built into my GPD win v.1 PC, which was obtained through the device manager by right clicking the controller, under "Properties>Details>Compatible IDs", and replaced all the "054C05C400010005" in the .txt file I made with the correct controller device ID. It was something like "USB//DEV-XINPUT-WHATEVER_BLAHBLAH" and saved it. I went back to the controller in the device manager, disabled it, I then renamed the .txt file to say ".reg" at the end, right clicked it, and clicked "merge". after a restart, I re-enabled the device, and the issue was fixed.
If you aren't sure if you are looking at the correct device, unplug any other controllers that are plugged in, go to the properties of the device you suspect to be the correct controller, go to the "details" tab, and select "is connected" It should say "true" every device that isn't the the one that's plugged is should say "false".
Hope this helps!

To anyone still having this issue in windows 10 for apps like controller companion, THIS worked.
To summarize for basic layman googlers in need of help: I copied all that registry nonsense from this post to a .txt file that I named whatever I want. I grabbed the device ID for the 360 controller built into my GPD win v.1 PC, which was obtained through the device manager by right clicking the controller, under "Properties>Details>Compatible IDs", and replaced all the "054C05C400010005" in the .txt file I made with the correct controller device ID. It was something like "USB//DEV-XINPUT-WHATEVER_BLAHBLAH" and saved it. I went back to the controller in the device manager, disabled it, I then renamed the .txt file to say ".reg" at the end, right clicked it, and clicked "merge". after a restart, I re-enabled the device, and the issue was fixed.
If you aren't sure if you are looking at the correct device, unplug any other controllers that are plugged in, go to the properties of the device you suspect to be the correct controller, go to the "details" tab, and select "is connected" It should say "true" every device that isn't the the one that's plugged is should say "false".
Hope this helps!

its not really nonsense if you used it to disable xinput for your device. also, below my post with the registry entries i also suggested for someone to fill in their own device id and test it. congrats, youre the first to change it and confirm that it works for other devices than just the ds4. i do not have other controllers i can test with. all i have is a v1 ds4. but thanks for the feedback. please send an email thanking the original developer that helped come up with this.

To anyone still having this issue in windows 10 for apps like controller companion, THIS worked.
To summarize for basic layman googlers in need of help: I copied all that registry nonsense from this post to a .txt file that I named whatever I want. I grabbed the device ID for the 360 controller built into my GPD win v.1 PC, which was obtained through the device manager by right clicking the controller, under "Properties>Details>Compatible IDs", and replaced all the "054C05C400010005" in the .txt file I made with the correct controller device ID. It was something like "USB//DEV-XINPUT-WHATEVER_BLAHBLAH" and saved it. I went back to the controller in the device manager, disabled it, I then renamed the .txt file to say ".reg" at the end, right clicked it, and clicked "merge". after a restart, I re-enabled the device, and the issue was fixed.
If you aren't sure if you are looking at the correct device, unplug any other controllers that are plugged in, go to the properties of the device you suspect to be the correct controller, go to the "details" tab, and select "is connected" It should say "true" every device that isn't the the one that's plugged is should say "false".
Hope this helps!

I don't know if it's unique to 360 controllers or Xbox Series X/S controllers (what I'm using), but the compatible IDs section is blank for me whether I'm using the wireless adapter or directly connected via USB such that I'm not even able to attempt this.

Anyone know the status on this? It seems like one of the most popular issues on here yet it's been open for 4 years and no one's taken the time to add a ticker box in the control panel to just let us disable this. I'm trying to create my own Xinput navigation and the forced windows controls make it impossible. I can't rely on complicated registry edits even if they do work because I can't expect users to go through that process to get a script working. What am I supposed to do?

From reading most of the replies to this thread, it seems there are some 3rd party tools and workarounds that can get around this problem.
Even though having an oficial 1st party solution would be ideal the maintainers of this repo made it clear that this GH Issue is not the place to get this issue resolved, even thought there has been a clear history of changes in old versions of windows because of this thread.
I recommend everyone that is still facing this issue to make your voice heard on the Windows Feedback Hub.

make your voice heard on the Windows Feedback Hub

LOL

HKLM\SOFTWARE\Microsoft\Input\Settings\ControllerProcessor\ControllerToVKMapping
Does this still work in the latest official Windows 11 version? (22h2 v2)

It does.

Windows seems to generate key events with VK Codes of 0xC3 to 0xDA when you use a controller on a UWP application. Since there is still no way to officially disable this in Windows 10, I ended up just making a small application to add a Low Level Keyboard Hook and remove key events with those codes.

This works for me. I only run it after the xbox controller bugs out and I get the phantom "up" input in all UWP apps, which prevents you from typing or doing anything in the start menu.

I finally found this after months of suffering phantom inputs in the Start Menu app and Settings apps. Makes the Windows desktop almost completely unusable, even if you already have a nice solution like Gopher or Xpadder.
A controller is 0% usable on the Windows desktop by itself. You need apps like Gopher or Xpadder. But they conflict with Windows' "half-baked controller support". So it's just a virus - I say instead of offering a way to toggle the controller in UWP, just rip this crap out.
But I know that won't happen, so PLEASE at least offer a way to turn it off! For users sake!!

PLEASE at least offer a way to turn it off! For users sake!!

Nope didn't happen in 5 years so there is no chance they would give us a feature toggle now. Since Windows 7 it became clear, that M$ does not develop Windows for consumers, but for ad-companies.
Thankfully there is AtlasOS to make it at least bearable.
Whenever I install Windows 10/11 anywhere I also run AtlasOS and set the registry entries to disable this garbage feature with the registry entries for Xinput and DS4 controllers.

I can confirm a regression on this in the 10.0.22621 Build 22621


RSA signature support

Is there any chance of RSA signature support or is this not implemented in the lower API? I was looking for a way to get a RSA-SHA256 signature of some data.

RSA-SHA256 is what you get when you pass in a SHA-256 hash and the card in use does RSA (the only method currently supported)

Alright, thank you, my mistake. I thought I was receiving not enough data regarding another implementation I was using in .net. It seems it was just the encoding fooling me.


fix the bug of isReachableXXX method is ineffective, by x5.

In the absence of calling stopMonitoring method, the methods of isReachableXXX is ineffective.

In the absence of calling stopMonitoring method, the isReachable method is ineffective

Thanks for the PR! However, due to its age it will not be merged. If the issue is still occurring feel free to submit it again.


Automatically Update Docs from Travis CI

Add a script to CI after_success that pushes the generated docs to the gh-pages branch when the commit message starts with Merge pull request.

@tflhyl, can you review this pull request?


ToC Is Outdated

The table of contents in the README file is outdated. There are also broken links like "NOTES" and "RECENT UPDATES".

Good catch :) Thanks for the note @umutphp !

refreshed the README TOC

reopen this ticket if/when something is broken :)

@kcq Many thanks for the quick response and action. Just checked and README is ok now :).
PS: I am using WOSPM/checker tool (which is a humble project of mine :)) to check your README. I was using docker-slim/docker-slim as one of the test repositories during my implementation. That's is how I found the 404s in your README.

@kcq
I am sorry but one more broken link exists in the README. The link dockerhackday in section origins section is not valid anymore.

can't really do much about it... Docker got rid of that page... removed the link to reduce the confusion


fixed slider attribute lengths.

Can you leave a bit of a description about what changes you made here? It looks like a lot to sift through.


Min Interval 100ms for Android

Hello, first of all, great library, and thank you for releasing it!
I was looking through the code and noticed that the minimum interval emitting audio data / analysis is 100ms (https://github.com/biw/expo-audio-stream/blob/main/packages/expo-audio-stream/android/src/main/java/net/siteed/audiostream/Constants.kt#L10). Is there a performance or other reason for setting this limit? I have been using it to get real-time visuals on audio input and 100ms ends up being a little slow. I patched it to be 20Lms and would be happy to open a PR, just wanted to ask first before opening a PR!

Please open a PR, I didn't think it through enough originally and thought 100ms would make sense.

updated in #32