Aurora how to install for n00bs?

So I've been playing with this for a while, it's an excelent addition for the Keyboard's potential (I got a G910).
But I've been having some issues understanding how to work with some of the features it has... I'm mainly interested in Overwatch and League of Legends, but both requires this "Aurora Wrapper Patch". I have no idea how to apply this patch into the Aurora folder or where to find it.
This is what I've done so far:
-Downloaded the program, tested other games (Rocket League works great)
-Fully customized the Desktop layout (I'm looking forward for the GPU usage color scheme)
-When trying to patch Overwatch, the keyboard goes Black, but even if I actually add the files into the folder that Overwatch is installed, the keyboard does not react to the game as shown in the Demo. This is the reason why I think I'm missing something, I downloaded the "Aurora-Master" folder but I don't know how to apply all that into the program. Am I missing something?
-Same happens with League of Legends, it goes black even if I patch it where it's located, but this asks for a "Wrapper Patch for LightFX", and I don't know where this is or how to add it into Aurora.
-Also, is there any preset for Killing Floor 2, Heroes of the Storm, or some other games beside what is included into Aurora?
Please help, if someone can guide me into this I'll appreciate it a lot... or if there's a video explaining how to do this, please send.
Thank you.

I seem to be having the same issue. something must be happening with the Logitech software overlapping.
If it helps my default location for my game is on my 2nd hard drive with a custom path.

If you open up Aurora, you can select the directory where your base game is located. For me, it's D:/Battle.net/Overwatch. Yours will probably be in its own folder in C:/Program Files (86) or C:/Program Files (86)/Battle.net . Add the patch to that file through the Aurora program itself. Might be in your system tray if you opened it. Click the Overwatch logo on the left and click "Patch overwatch" > Computer > Select your drive and go from there.
And no, there are no other games currently supported outside the currently listed games, however if they use lightFX or AlienFX but don't work with your keyboard, open an issue about it and list the game. For example, Robot roller-derby disco dodgeball uses AlienFX but is currently unsupported. Made an issue and Anton said he could get it up in the next patch. I don't think Killing Floor COULD be supported since it's up to the developers to do it, not Anton, but since HotS is a moba, I'd imagine it could be supported. If you need further help, I could try to assist since I have Aurora running on my G910 as well. Trust me, it's what you wanted from your keyboard when you bought it

Yeah I did exactly as you just explained, I got Overwatch somewhere else but it shouldn't matter, I noticed it adds a couple of files so the game gives instructions to the Keyboard on how to change according to in-game instructions and numbers.
The thing is, in both cases, the game seems to communicate with Aurora, because as soon as the game launches, it goes black, like if it is waiting for instructions on what to do, because according to what I've seen, it should change and pop different lighting effects according to the Hero I'm playing and what is happening in-game. (Like for example Hanzo's ulti, it SHOULD show the twin dragon accross the keyboard), but it just stays black, doesn't react to anything I do in-game. The weird thing is, that this only happens with those games that require to patch, because Rocket League works amazing.
I don't think the Overlapping is an issue, I actually think is necesary, because if you close the Logitech Software, Aurora stops working... It uses the software to actually change the color in the hardware.

The issues you are expecting with wrappers, is that the wrapper cannot establish a connection with Aurora. Thus it cannot send any lighting data. I am trying to nail this issue down. In the dev build, I have changed Aurora to always run as admin, as well as set security parameters for my inter-process communication. I would like to invite you guys to try this version, and see if it still functions incorrectly.
Release_razerdebug.zip
How to test with razer debug version

Start this version of Aurora

Patch any Razer game. (For example, Overwatch)

Without closing this version of Aurora, start Overwatch from battle.net and see if lighting works.

Once in main menu, (your keyboard should be orange, but it is possible that it's still black), load into an offline training map (with bots moving around to shoot at). At this point your lighting will either work, or not.

If it does not work, the wrapper should've created a new log file in the game directory called, "output.txt". Please post here contents of "output.txt". It will show me if wrapper has issues communicating with Aurora.

Please note, that the security changes have been applied to all wrappers. But only Razer one has debug logging. So if you had LightFX games not work, try it with this version.

I can confirm the exact same issue with League of Legends, unfortunately this lighting doesn't work for me.
I patched the directory and it told me that the patch was successfully installed.
Same with Hotline Miami.

Thanks for the reply antonpup
Well, I tried to make it work but whatever I do, it doesn't even want to start up, it changes the colors to what I had set up with the previous Aurora version for like 1 second and then it seems to crash with no error message.
Let me know if you want me to record a quick video of what's happening.

Yeah, record a video. If Aurora is crashing, provide Aurora's log at the time of crash as well.


https://deckswap.com/s/oYln

Description
[Insert description of issue here]
Detailed Information
Is available here

what is your problem? the detailed info just said your plugins & stuff, so i dont know what you need help with.

Unfortunately PermissionsEx is currently unmaintained and no further updates are planned. Because of this, all pull requests are being closed. If you are looking for an actively maintained permissions plugin, take a look at LuckPerms. It is compatible with major server platforms and can import data from PEX.


Redirect the host to the created lobby after it's creation

@DTaskiran do you have a link for spotify sdk part for displaying the playlist?


Add mention of kubectl BuildKit CLI plugin to dockershim faq

The buildkit-cli-for-kubectl project aims to provide a drop-in replacement for
docker build with compatible UX.  Some users looking to migrate off
dockershim may find this CLI plugin useful.
Signed-off-by: Daniel Hiltgen<EMAIL_ADDRESS>

CLA signed

/approve
/assign @onlydole

Thanks. Change LGTM.
/lgtm

Rebased

/approve
/lgtm


Is there a plugin that does this for Craft CMS 3

I'm looking for this exact plugin for Craft 3,
I am guessing this is for Craft 2?

Finally updated to Craft 3 for 1.0.0


Unable to logout when oauth is enabled

Noticed a problem in the latest release with respect to authentication.
I am using OAuth aauthentication using GIT.
If I logout, it again logs me in automatically from the logout page. So i can not log out essentially.

I'm also having the same problem. I'm using Azure AD and when I sign out, user automatically logs in. I believe there should be a cookie deletion or sth like that but I couldn't find a good resource about this.
I would appreciate any kind of information about this.

Effectively, it seems that logout is not implemented for oauth. Not sure whether this is a bug or a feature, but I can definitely validate this.

+1 - any update on a fix

Chainlit never logs out for any auth approach because it stores the auth token in localStorage.
I have worked around this by deleting the token from localStorage explicitly from my own JS code.
My personal recommendation is not to use any of the auth features of Chainlit because storing auth tokens in localStorage doesn't suggest that security is a high priority for the project (so there may be other not-so-obvious risks) and auth is probably going to get removed see #1265.

Hello @stephenrs, I am actually facing the same problem where the token is saved, and user is directly re-directed to the app without entering his credentials again when logging out. Can you please show me how you did it with javascript? i tried but didnt work as i dont know coding js very well  .

@yumi-bk20 You can remove the token with just one line of code:
localStorage.removeItem('token');

@yumi-bk20 Could you please share how you are doing it in JavaScript.
Like how you Listen for a logout event or trigger, Remove the token from localStorage and Call the Chainlit logout endpoint .

We're using the chainlit python lib to generate the frontend so we can't natively access javascript (and localStorage) without adding a custom script to get|remove the token. This is a little hacky
Ideally the on_logout lifecycle would give us access to cl.user_session so we can access the token and send logout requests to our API using it. Ideally, on_logout would also do localStorage.remove(token) on its own

@julesterrien You're right, it's definitely a hack, and you're right that chainlit should remove the token automatically.
However, I don't think any fixes or features will be added to the auth system, and it will probably be removed. So I personally don't recommend using it or relying on it in your projects. Please see #1265

@stephenrs Than how to use Microsoft Entra with Chainlit. Have you implemented any auth for your project??

@vivekjainmaiet I'm not familiar with Microsoft Entra, I'm integrating chainlit into an existing Flask-based (python) app that already handles authentication.
As far as I'm aware, most/all authentication providers make it fairly easy to secure apps - this is their business focus and they are very good at it. So, I would tend to expect that MS Entra is no different.
So even if you don't have an existing app, it should be quite easy to set one up as a thin wrapper around chainlit. Then, you will have full control of the security of your project, access to the wealth of support that auth/identity services provide, and you won't have to be concerned about the additional complexity and security flaws of chainlit or getting stuck with an unsupported configuration if/when they decide to remove auth.

@stephenrs but are you like pointing to the Logout button to trigger the action ? or some other function, coz this is how am doing it, and its not working for me:
document.getElementById('LogoutIcon').addEventListener('click', function() {
localStorage.removeItem('token'); }
I tried also: localStorage.clear(); didnt work either
PS: I added the .js file in 'public' directory and I added the path also in chainlit configuration file config.toml
anyone that knows something plz help!

@yumi-bk20 Since I'm not using the chainlit auth features, I'm not relying on any of the logout functionality of chainlit, including the on_logout callback or the logout menu. login/logout takes place at the level of my app and I delete the token from my app's frontend code, and I've removed the logout menu option from the chainlit UI.
Have you confirmed that your event listener is getting triggered when you think it is?
Also, have you used your browser's dev console to make sure the token is not getting deleted but then re-saved later in your execution flow? For example, I'm not exactly sure when chainlit saves the token to localStorage or if it does it more than once.

Hello, I have made a PR to remove the "autologin" behaviour.
https://github.com/Chainlit/chainlit/pull/1357

@stephenrs but are you like pointing to the Logout button to trigger the action ? or some other function, coz this is how am doing it, and its not working for me: document.getElementById('LogoutIcon').addEventListener('click', function() { localStorage.removeItem('token'); } I tried also: localStorage.clear(); didnt work either PS: I added the .js file in 'public' directory and I added the path also in chainlit configuration file config.toml
anyone that knows something plz help!

hello @yumi-bk20 ! I got the same issue... have you found something that works? :)

@julesterrien @stephenrs @yumi-bk20 can you share the custom script snippet to delete the token? I have tried below code and it did not work for me.
document.addEventListener('DOMContentLoaded', function() {
    function handleLogout() {
        console.log('Logging out');
        localStorage.removeItem("token");
        alert('You have been logged out');
        // You might want to redirect the user or update the UI here
    }

    // For the SVG icon
    const logoutIcon = document.querySelector('[data-testid="LogoutIcon"]');
    console.log(logoutIcon);
    if (logoutIcon) {
        logoutIcon.addEventListener("click", handleLogout);
    }

    // For the text span
    const logoutText = document.querySelector('span');
    console.log(logoutText);
    if (logoutText && logoutText.textContent === 'Logout') {
        logoutText.addEventListener("click", handleLogout);
    }
});

Hey everyone, here's a little update on this saga which admittedly, is far from an ideal situation.
Let me start by stating clearly that getting all auth stuff out of this library, e.g. not rolling our own, is quite high on our wish list. That having been said, we cannot afford simply break all existing use cases, there needs to be a clear transition path, in addition to a clear destination. Mapping that takes time and attention.
Concrete suggestions, including proposals for how to code it as well as other contributions of a positive nature are very welcome.
Now, feel free to join me in this rabbit hole, which I opened whilst reviewing #1362 tries to address this issue.
This seems to be all components related to logging out. Thus far, I'm still unsure what exactly is going on.
Towards a proper solution
We'd need to add something like logout() to OAuthProvider, adding logout URL's to all providers, then ensuring that (when using OAuth), it is automatically called on POST to logout endpoints.
Note that, particularly, the UX flow here is non trivial. When clicking 'log out', the last thing a user expects is to be logged out of Google/GH etc.
Refs:

https://stackoverflow.com/questions/12909332/how-to-logout-of-an-application-where-i-used-oauth2-to-login-with-google
https://docs.descope.com/getting-started/oidc-endpoints
https://www.ory.sh/docs/oauth2-oidc/oidc-logout
https://devforum.okta.com/t/logout-endpoint-oauth2-default-v1-logout/29051/3

Current issues (e.g. unbreaking the UX)
The above having been said, simply logging out the user on the client side and prompting the user for login consent as in #1362, should solve the UX. Yet, somehow, it doesn't. It seems there might be a combination of two things going on:

removeToken() isn't being called, or isn't doing it's job in logout(), as is suggested by some of the workarounds above. I have not been able to replicate this behaviour locally (e.g. it seems to be called, but not yet 100% sure).
prompt=consent isn't properly passed to or respected by (all) OAuth providers.

I'd love to hear your thoughts on the above. Explicitly not interested in meta-issues, like your opinion on our level of freely provided community support.
Breadcrumbs (research)
React library
In the React Client library, logout seems to happen here:
https://github.com/Chainlit/chainlit/blob/1c5098c0cb25c40a0c18721bb1389a0d0319032e/libs/react-client/src/api/index.tsx#L152
There's also a logout hook here, with behaviour which seems (roughly) sensible:
https://github.com/Chainlit/chainlit/blob/1c5098c0cb25c40a0c18721bb1389a0d0319032e/libs/react-client/src/api/hooks/auth.ts#L33
Frontend
This is where logout() is called in the frontend:
https://github.com/Chainlit/chainlit/blob/1c5098c0cb25c40a0c18721bb1389a0d0319032e/frontend/src/components/atoms/buttons/userButton/menu.tsx#L89
It's instantiated here:
https://github.com/Chainlit/chainlit/blob/1c5098c0cb25c40a0c18721bb1389a0d0319032e/frontend/src/components/atoms/buttons/userButton/menu.tsx#L32C3-L32C38
And imported from here:
https://github.com/Chainlit/chainlit/blob/1c5098c0cb25c40a0c18721bb1389a0d0319032e/frontend/src/components/atoms/buttons/userButton/menu.tsx#L18
Backend
Meanwhile, the backend API on /logout does, exactly, nothing (unless hooks are defined):
https://github.com/Chainlit/chainlit/blob/1c5098c0cb25c40a0c18721bb1389a0d0319032e/backend/chainlit/server.py#L396

TLDR; Initial testing with #1362 suggests that:

GH respects prompt=consent
Descope only respects prompt=login

I'd love to have feedback on (and don't have scope to test) other OAuth providers.
In addition, I think we should indeed accelerate decoupling (= getting rid of our own) auth and/or implement logout() on OAuthProvider.

Quick update; we'll do a RC with #1362 on Wednesday, solving the UX part of this issue.

My (perhaps heavy-handed, big hammer) suggestion, as a bridge solution is to:

Announce loudly that auth will be removed completely in a near-term release, so people should set up a little FastAPI (or other) app and easily handle their own auth without all the bugs, limitations, and extra complexity of chainlit. They can do this in preparation for the release, and the maintainers/community should be ready to help with questions as users migrate. Ideally, simple instructions for how to do this should be provided.
Since the CL code thinks it needs auth to enable persistence-related features, but all it really needs is a User object, use or rename/refactor the header auth code flow as a way to allow devs to create a User for CL. I'm doing this now by passing an auth token as an httponly cookie, for example.
Clicking the logout menu from within CL (for people who want to use it) can call a custom webhook or a custom JS function (similar to the copilot callback functionality), so devs have control and freedom regarding handling logout. Ideally, removing the CL logout menu option completely should be configurable in config.toml for users who don't need it.
CL should stop saving an auth token to localStorage and any code that relies on this should be refactored.

This seems like a lightweight way to drop a major burden from the project quickly and in a controlled way, while not hurting/blocking existing user projects, although I could be missing something.
I just don't see any point in investing more time in trying to fix an auth system that shouldn't exist at all, and it's just too easy (and more reliable/flexible/secure) to get auth without CL providing it.
NOTE: My understanding is that CL currently doesn't play well with any of the most popular python frameworks, so a prerequisite to this proposed path to auth freedom might be that CL might have to be made to at least work with a parent FastAPI app without breaking routing (which has been documented on a separate issue).
It would also be great to see a more comprehensive proposed roadmap included in the announcement about dropping auth.


Add windows release artifacts

Motivation
Add windows release artifacts and create a release with artifacts after pushing tag.
Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

@yaalsn @BewareMyPower This has changed from uploading the binaries to GH actions artifacts into a release. It is breaking the release workflow.
First, we still must upload as artifacts, but also we may not have the credentials to upload to GH releases.

@merlimat The uploaded artifacts are release artifacts which need by users, and they don't need to build by themself. The token is GITHUB_TOKEN which is a builtin token in GitHub action so that we can use it directly.
About GITHUB_TOKEN:
https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token

@merlimat The uploaded artifacts are release artifacts needed by users, and they don't need to build themself. The token is GITHUB_TOKEN which is a builtin token in GitHub action so that we can use it directly.
About GITHUB_TOKEN:
https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token

I think we need to keep uploading the binaries to GH action artifacts. This is required for the current release process. You can refer to the following:

https://github.com/apache/pulsar-client-cpp/wiki/Committer-Release-Guide#sign-and-stage-the-artifacts
https://github.com/apache/pulsar-client-cpp/blob/main/build-support/stage-release.sh

Thanks @shibd, I didn't notice the release guide before.

@yaalsn we could keep the upload to GH release as an optional step, enabled only if some flag is set. For Apache releases, we need to anyway follow the process of staging the binaries.


Alberto (Latin Armada) to see if MP blogs in Spanish can be written

Latin American & Spanish JUGs are 1 entity that operates and collaborates in the distrubution of their knowledge. As such, they want to bring Spanish content to MP.  :)

I already contact several JUG Leaders from Latin America and Spain; we are starting work on the content.

sounds wonderful  @lasalazarr!  :) I will close this ticket, any future content must use its own issue created and owned by the writer. Super fun!  #thankYOU!


Add labs/context playground examples

For graduation we want some labs/context playground examples.

I have a whole article showcasing context. If you'd like to use any of it then please do! I'd appreciate the call out if you do end up using it 😉
https://medium.com/@quincarter/understanding-component-state-and-using-lit-element-context-40981e808535

Thank you for writing that!

Closing this as there is at least 1 example now.


Fix bug with focused items not being recycled upon ItemsSource reassignment

Description

Added call of m_processingItemsChange to OnDataSourcePropertyChanged.
Also added some test UI for this bug and added an interaction test (that is why a bit more files were modified).
I did not use TestSetupHelper, because somehow I was not able to navigate to the correct page with it. The solution with the buttons works however. I also made the test select an element at random to prevent any "hardcoded" fix (e.g. only update the x-th item).
Thank you @ad1Dima for pointing out what to fix!
Motivation and Context

Fixes #1447.
How Has This Been Tested?

Tested manually and through newly added unit test.
Screenshots (if appropriate):

I'm surprised you weren't able to get TestSetupHelper working, we should look into why.

The product change looks correct to me, but @ranjeshj should take a look.

/azp run

/azp run

/azp run

/azp run

/azp run