feat: magic code input (passwordless login)

Details
Added a new component MagicCodeInput that is useful for the passwordless login. It contains 6 numeric inputs and supports copy paste.
Fixed Issues
$ https://github.com/Expensify/App/issues/15403
https://github.com/Expensify/App/issues/15403#issuecomment-1465877822
Tests

Use passwordless login (modify Permissions.js method canUsePasswordlessLogins to return true)
Enter the app (logged out) and set your email
Should see the new component
Add the code and submit (should work similar to how it was before in terms of submit logic)

[X] Verify that no errors appear in the JS console

Offline tests
Not applicable
QA Steps

Use passwordless login (modify Permissions.js method canUsePasswordlessLogins to return true)
Enter the app (logged out) and set your email
Should see the new component
Add the code and submit (should work similar to how it was before in terms of submit logic)

[X] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/25725586/229186949-00436a2e-65e3-48e3-8b93-1ac899bea679.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/25725586/229188072-b4746d06-6986-4e48-982d-17ce2183329a.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/25725586/229187057-ed33a797-d80a-4616-88d6-1498e21f8ce2.mov

Desktop
https://user-images.githubusercontent.com/25725586/229186981-6452b1af-bcf3-4729-84da-57676f0be95d.mov

iOS
https://user-images.githubusercontent.com/25725586/229186896-358a8164-d2ca-4686-9c5a-521c33f62f5f.mov

Android
https://user-images.githubusercontent.com/25725586/229187854-db57da91-13cd-450f-916d-286f37ba1e93.mov

Hey! I see that you made changes to our Form component. Make sure to update the docs in FORMS.md accordingly. Cheers!

@cristipaval @aimane-chnaif One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Updated!

@BeeMargarida please pull from latest main

Done!

can you please pull from main once again?

Done!

I like behavior of this library - https://www.npmjs.com/package/react-native-confirmation-code-field

I used that as an inspiration, however there are some behaviour present here that they do not support, for example changing the focus on one of the inputs before completing it. We can change this solution to remove this behaviour, if you prefer.

Updated!

I agree with that.

Also @BeeMargarida can we see this with just our standard product font and not the headline font for comparison?

This one?

At least this is bad user experience right now

I agree. It's my bad, I should have started this discussion of expected behaviour and UX sooner.

Yeah, feel free to start up a discussion in Slack!

On it!

Got it, but I mean what exact font size are you using?

Got it, but I mean what exact font size are you using?

40

Okay, it feels quite large. Can we use the same size as our headline font, which I believe is 22? Thanks!

Like this? I also experimented in 28 since 22 felt too small (maybe because I got used to the bigger size)

22
28

Let's do 22 but with the Expensify New Kansas font please. Thanks!

Got it, will apply that change and also the changes discussed in the open source channel thread

@aimane-chnaif Should be working as agreed now. Also updated the videos in the PR description. Please let me know if you find any issue

iOS bug: cursor dancing, input style broken (too narrow width)

I fixed the dancing, but could not replicate the broken style. Which iOS version and iPhone are you using?

Sorry for the delay, I was out of office yesterday. I've updated the branch.

@aimane-chnaif Sorry, forgot to tag you, I've updated the branch again

@aimane-chnaif Any update? I've updated the branch with main

Updated!

@aimane-chnaif Sorry, forgot to tag you, updated!

@aimane-chnaif Updated!

@aimane-chnaif Updated

@aimane-chnaif Updated

I can create a follow up PR later with the migration to function component, no problem 👍

I can create a follow up PR after this one with the migration to function component, no problem 👍

Alright, thanks! I set this PR to be a partial fix for the issue linked in the description. We'll make it completely fixed with the follow-up PR.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

I'm currently checking if the iOS 16.4 issue is related to the app code or is a RN/iOS bug. Will post updates when I find an answer

So you confirmed that this doesn't happen on 0.71.7. I'm still curious if it happens on 0.71.2 as well since our forked version is 0.71.2-alpha.3. If happens, should be RN issue and may have been fixed between 71.2 - 71.7 If not happens, should be issue from our forked repo.

That's the weird part, when using 0.71.7 in the NewDot repo, the issue still remains. However, using the same version in a clean app, I can't replicate it. What makes me think this is a RN issue is that it happens even a simple TextInput imported from 'react-native'.

🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.9-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

I'll be ooo today due to a national holiday, will continue migrating the component to function component tomorrow

Alright, I also created a new issue for the migration to the function component. @BeeMargarida, please add a comment to that issue when you have time, so I can assign you to it.

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

We added opacity0 as a style, and iOS Safari cannot handle user interactions when we set opacity to 0. https://github.com/Expensify/App/issues/18482 was created to fix this.

This PR caused a regression here. Should have been caught while testing this offline, we should have considered the offline state before submitting post validation


Crash on startup with Iris and Sodium, if MemoryLeakFix is installed

MC 1.19.2
FAPI 0.61.0
BedrockWaters 1.7.0
MemoryLeakFix 0.7.0
Sodium 0.4.4
Iris 1.3.1
To reproduce simply install all 4 mods and run the game.
I suspect the issue is on MemoryLeakFix's side, so I reported it to them as well: https://github.com/fxmorin/MemoryLeakFix/issues/46
But, in case I'm wrong, also reporting here.
Logs: https://gist.github.com/Footage2-Amply-Pounce/3051de600d0a701428aa60728e3d7409

Turns out it's a Mixin incompatibility with Iris as described in #22 which is now (hopefully) fixed in version 1.7.1!


Fix reconciler-manager to handle async deletion

Add a check to allow Not Found when getting ClusterRoleBinding and RoleBinding before removing a subject. This fixes multiple edge cases where the CRB/RB might have already been deleted.

/lgtm
/approve


Remove static create methods and provide importable functions instead

The static create methods were a good idea, but they suffer from a couple of issues:

TypeScript has a hard time typing them because of how static inheritance works. For example Subject inherits from Observable and BehaviorSubject inherits from Subject... all of them have (or should have) wildly different signatures for create.
Because of how inheritance works, poorly implemented subclasses (like BehaviorSubject suffer from bugs like #1890.
Subject.create doesn't even do what the rest of the create methods do (which is just proxy the constructor), instead it returns an AnonymousSubject, which is really just any old observer "glued" to any old observable to make a subject. So we might want to change that to createSubject or frankenSubject or glueSubject (okay, I'm kidding on the last two) (but the name AnonymousSubject sorta sucks too)

Proposed solution
Create functions that do the same work and export them separately:
import { observable, behaviorSubject, /* et al */ } from 'rxjs';

// usage would be

observable(subscriber => {
  subscriber.next('hello world');
  subscriber.complete();
});

if we're going to away from exposing creation method directly, what makes us prevent just let ppl use class ctor instead of exporting another function for creation?


Worker vs Nodes

Whats the difference between Workers and Nodes?
First, my apologies if this is not the place for these kind of questions.
I was wondering if anyone can point me some basic differences between Worker groups and Node groups. If I create a node group, I am able to see it from the AWS console in the "compute" section of the cluster. But if I create a worker-group, I only see it if I query the cluster with kubectl get nodes.
Thanks!

worker_nodes are "self-managed" node groups, while node_groups are AWS-managed node-groups. It would be nice to have a renaming of these variables to make the distinction a bit more clearer. For more info, I suggest you look at the official docs: https://docs.aws.amazon.com/eks/latest/userguide/eks-compute.html

Thank you! Cristal clear.

Also it would be fair to mention that node_groups don't allow you to use spot instances.

Can someone update the FAQ please ?

This is a duplicate of https://github.com/terraform-aws-modules/terraform-aws-eks/issues/895
but this module does need some better documentation (FAQ update?) so it doesn't continue to keep getting asked.

This is a duplicate of #895
but this module does need some better documentation (FAQ update?) so it doesn't continue to keep getting asked.

Yep. I'll happy to review and merge the PR.

Sure, I can write something up when I find free time.

Maybe @pranas https://github.com/terraform-aws-modules/terraform-aws-eks/issues/895#issuecomment-688927130 ?

Sorry, I lost track of this promise. I'm gonna do it right now and open PR so everyone can pitch in on what exactly should be there.

Closing this since #1081 is now merged.


Questions about data augmentation.

Thanks for your good job!
There is a small question for me, why put GridMask augmentation here rather than train_pipeline? This seems not that elegant, thanks.
https://github.com/linxuewu/Sparse4D/blob/c48ecd2b020d7770faaa865f577eed28406b75e9/projects/mmdet3d_plugin/models/sparse4d.py#L57

You are right, grid_mask is more suitable to be placed in the pipeline. This problem is mainly because our code-base (DETR3D) is written like this. And I have tried to put it into the pipeline before, the training speed seems to have dropped a little bit, so I didn’t change it. But I didn’t further investigate why the training slowed down (maybe it fluctuated).


✨ add SSO support (LDAP, OIDC)

Category
Feature
Overview
Changed structure of next-auth to allow the use of multiple providers. Implemented LDAP and OIDC Providers (tested on lldap + authelia stack).
I've created this for my own use and integration with Authelia for my home lab. I've added LDAP as there is an existing issue requesting this and I already had Authelia synced with lldap.
I've reworked how the adapter is used in next-auth, so the providers can be adapter agnostic (I have not touched password auth or db structure)
Multiple providers are supported at the same time. Having a user created by ldap prevents signing in using password as there would be no password hash, but if the user was created with password first (by invite) would be accessible by ldap.
I suggest using just one provider at a time, as this can cause security issues. OIDC won't register to an existing email, as it uses next-auths model of having account and user separately and it has to be linked.
For any future multi-provider setups I suggest using this approach for credential providers as well.
Another thing that should be done and I didn't do to keep the PR simple is modify the onboarding process and middleware. It should redirect to login, and if only credentials provider is enabled and no user is found the login page itself should redirect to onboarding. This would require server session from next-auth, to not redirect when user is logged in, but in current version it's not feasible with db session (and next-auth middleware is not working because of this caveat).
For now, onboarding an oidc or ldap user requires manually going to /auth/login
Issue Number
Related issue: #747
New Vars
Most important variable is AUTH_PROVIDER a comma separated list of providers, supported values: credentials, ldap, oidc
Variables for LDAP

AUTH_LDAP_URI: URI of your LDAP server
AUTH_LDAP_BIND_DN: dn of account used for user and group querying
AUTH_LDAP_BIND_PASSWORD: password of account used for user and group querying
AUTH_LDAP_BASE: base of your ldap accounts
AUTH_LDAP_USERNAME_ATTRIBUTE: z.string().default('uid'),
AUTH_LDAP_GROUP_CLASS: z.string().default('groupOfUniqueNames'),
AUTH_LDAP_GROUP_MEMBER_ATTRIBUTE: z.string().default('member'),
AUTH_LDAP_GROUP_MEMBER_USER_ATTRIBUTE: z.string().default('dn'),
AUTH_LDAP_ADMIN_GROUP: z.string().default('admin'),
AUTH_LDAP_OWNER_GROUP: z.string().default('admin'),

Variables for OIDC (self describing)

AUTH_OIDC_CLIENT_ID
AUTH_OIDC_CLIENT_SECRET
AUTH_OIDC_URI
AUTH_OIDC_CLIENT_NAME: Custom display name for the provider
AUTH_OIDC_ADMIN_GROUP
AUTH_OIDC_OWNER_GROUP

Screenshot
Updated login page with all providers

Updated login page with oidc only

Hi, wow this is pretty cool.
Thank you for taking the time and doing this.
However, we will not merge this for 0.14.0 as we don't want to introduce any potentially unstable and not tested features.
Is that okay for you?
I think it should be doable to merge this for 0.14.1 though - so right after it.

I'm really hyped for this!
@Meierschlumpf @ajnart

Hey @Rikpat , thanks a lot for your contribution !
This will be an awesome feature to have in homarr. However, I am not very familiar with ldap and oidc, could you please help me set-up a replicable test environment in order to test your PR ?
I am not sure how to setup authelia correctly in order to test it out.
As a sidenote, it's true that we have to re-think the onboarding process, it was meant to be some kind of migration page only for jumping on to the new version, because there is a new mount point needed, but the next versions should have a smaller and more refined onboarding page for new installs.

Hi, I'm definitely looking forward to improving the authentication and roles in Homarr, as my goal was to have a homepage for my  home network with multiple dashboards and access levels (me as admin, roommates as users, guests) and Homarr looked the closest to having these features.
I'm also not that familiar with LDAP but there already was an issue about including the support, so I tried. I'm not sure if it works with all LDAP providers, but it's modular enough with the env variables. I'm running lldap as backend for my Authelia instance, so I got it working with it.
You can try running lldap in docker. LDAP integration requires having an account that can list users and groups (for example the default admin account).
For OIDC any provider supporting the protocol should work, I've tested it just with Authelia, but anything from Azure AD through Google to self hosted stuff like Authelia or Authentik should work.
Authelia requires the OIDC to be enabled and having a client for Homarr (this is my config)
identity_providers:
  oidc:
    ...
    clients:
    - id: homarr
      secret: ---
      public: false
      authorization_policy: one_factor
      redirect_uris:
        - https://example.com/api/auth/callback/oidc
        - http://localhost:3000/api/auth/callback/oidc
      scopes:
        - openid
        - groups
        - profile
        - email
      userinfo_signing_algorithm: none
      consent_mode: implicit # self hosted

For the simplest Authelia deployment for testing I would suggest just using file user management like this lite or local configuration.

Unfortunately I still haven't found time to review this as I'm dreading documenting myself regarding authelia, and LDAP and setting them up locally for testing purposes. I have no prior experiences with these appart from my local authelia setup using only the default templates
Could you please write related documentation articles about this feature so that it can be put into the docs ? (And so that I can follow these docs to test if it works on my side)
You can fork https://github.com/ajnart/homarr-docs/pull/83 (auth-update branch) to get started with documentation, then you could add your article to a login.mdx page in /managment for example. We still have to write some documentation about the login process.
You'd also need to document the environment variables in the correct page for them on the docs.
Would you mind doing that ? We really need to release documentation 1 to 1 with the source code, especially for features like these otherwise new users wanting to use these features will be lost in trying to set them up.

We are going to properly review this in the following days. We want to get the 0.14 release right and as stable as possible. Thanks for your understanding!

Hello @Rikpat , I’m sorry but I have absolutely no clue how to setup ldap and oidc with authelia locally to test your PR. I was able to start authelia with the local template but it didn’t work inside of homarr for me.
Im afraid this PR will stay stale until I can find a way to set it up for testing purposes on my local pc.
are you able to assist me via discord by any chance ? Please send me a DM there if so

Big fan of the PR. Can also help with testing where required!
Also for testing the OIDC component of this PR, you can also hook it up to a remote identity server (google, Microsoft, okta, etc.) instead of trying to host your own authelia if you are struggling with that.

I will be reviewing this over the weekend.
Expect tons of comments from me.
Would love to see this part of 0.14.3 or 0.14.4.
We originally planned to do this ourselves but this contribution is awesome.
I'll keep you up to date 😉

Hello, sorry about late reply, but I'm in a middle of apartment renovation and when I'm not working I'm usually there. If you still need any help, I should be available on Monday.

Wasn't able to set up the lite configuration - it failed for some reason.
But I'll try again this weekend - I should have more time for it now. Sorry 😅

Thank you for the offer. I'll try to run myself for now. I want to set up Authelia anyway as soon as Homarr supports it (I have too many different login screens in my home lab - SSO is the way!).
I'll let you guys know in case I have any questions or problems.
I did not have a look at all the code yet - I'll post a bigger review within the next days.

running credentials or ldap or both will give me this error about oidc even thought it's not part of my config.

Code looks good to me. I just have troubles getting Authelia to run properly.

I had to configure identity_providers.oidc.issuer_private_key to a RSA key. This seems to work.
I can reach authelia now using a local DNS record on my Pihole on https://authelia.example.com.
The "lite" example is pretty poorly documented in my opinion. Where is the actual database for users? (As far as I'm concerned, Authelia does not store or manage any users itself). Also 2FA was active by default? Why? 😅
I get a certificate error when I try to authenticate:

I had to go through quite a few manual steps to get it running (including not-documented steps in the Authelia docs). Do you have an idea why I am getting the certificate error?
@Tagaishi is now trying to run this with LDAP on his existing setup.

I think the self-signed certificate issue is related to tls certificate of the domain (https://authelia.example.com), I have my own domain for my homelab and a regular signed certificate by letsencrypt.
Try adding your certificate to your trusted certificates, or try setting up a domain, it simplifies a lot of things (I'm using .pp.ua which is free and using cloudflare as free DNS, and my only record is one for DNS-01 certificate as I'm not exposing anything anywhere outside my home network).
I'll look into the rest of the comments now

running credentials or ldap or both will give me this error about oidc even thought it's not part of my config.

Fixed the issue, sorry, I added that part as I was adding oidc and I didn't fully test it with just ldap enabled

Ldap works nicely. (lldap admins group is lldap_admin though, only thing to change in the vars that have a default value)
I know you already talk about not using multiple auth providers, but just having 2 users sharing emails between normal homarr database and OIDC makes it not behave nicely. Not much you can do about it though I guess but it wasn't working for the longest time because I had to make a fresh database first.
I think I read on another gh issue that you should modify if the user exists instead of creating one.
I would maybe refer to "credentials" as "native userbase" (just a bit confusing since ldap also uses credentials on the page).

Ldap works nicely. (lldap admins group is lldap_admin though, only thing to change in the vars that have a default value)
I know you already talk about not using multiple auth providers, but just having 2 users sharing emails between normal homarr database and OIDC makes it not behave nicely. Not much you can do about it though I guess but it wasn't working for the longest time because I had to make a fresh database first. I think I read on another gh issue that you should modify if the user exists instead of creating one.
I would maybe refer to "credentials" as "native userbase" (just a bit confusing since ldap also uses credentials on the page).

As for lldap_admin, that group allows you to edit lldap and add groups to users. Most of the time you want your users to be admins in apps but not give them access to modify other peoples access, so the best approach is to create a new group for that.
And regarding the multiple ways to sign in to a single user, I said it's possible but not recommended. Also next-auth separates 2 entities, accounts and users, each user can have multiple accounts to sign in. I didn't want to modify the existing credentials provider, and I used the ldap in much the same way, but maybe, if you want to have the option of multiple ways of signin, maybe both credentials and ldap can be reimplemented to create accounts linked to a user.
I would also modify the credential provider to require and verify email somehow if using this approach as you could technically just get into somebody elses dashboards if you create a credentials account with same email as someone with other provider (this is actually covered right now, as since it's in user and that gets created with null password, you can't sign in into that account with any password).
Main benefit of multiple providers is in case of usage in some bigger environment with many users, you might want to have multiple oauth providers (eg. google + github or facebook). You can use one of these with OIDC without an issue, but for multiple, separate providers would have to be implemented. That's why I made the providers kind of pluggable and using adapter instead of database directly, so that is pluggable as well. It should be pretty straightforward to add other providers.
But this is all hypothetical as I imagine that most users run this on their homelab and are okay with a single provider and even in enterprise setting you would probably have something like AD which could just use LDAP or OIDC for all users.

I've done a quick workaround for auto login using Authelia (or other OIDC provider), all you have to do is supply AUTH_OIDC_AUTO_LOGIN="true". The text will need to be translated as well, but this is for showcase

I've done a quick workaround for auto login using Authelia (or other OIDC provider), all you have to do is supply AUTH_OIDC_AUTO_LOGIN="true". The text will need to be translated as well, but this is for showcase

That's really nice! works well too.
You mentioned some security concerns though? If there still are, make sure to detail it in the docs clearly.

Caught a little something using the auto-login.
Go through the Authelia login using account 1.
Accept the prompt.
Wait for the Authelia session cookie to expire.
Reload and login using account 2.
Homarr will still be logged in account 1.

You mentioned some security concerns though? If there still are, make sure to detail it in the docs clearly.

That was for the REMOTE_USER header, and even then there would have to be something between your proxy and app (which would normally run on the same machine) so the risk is almost nonexistent

Go through the Authelia login using account 1.
Accept the prompt.
Wait for the Authelia session cookie to expire.
Reload and login using account 2.
Homarr will still be logged in account 1.

yes, but you would have the same problem without auto login, the session is persisted in database, it's not logging in through authelia everytime you open homarr. If you want to change user, you first have to sign out of homarr.

I just want to thank everyone for this. LDAP integration is a big deal for those of us who use it to keep users manageable across many services.
Cheers

I just tested this PR against Keycloak (OIDC) and can confirm that it works for me as well

Hi, I want to give you an update why this hasn't been merged yet.
Our core team has been working on a major refactor of the backend.
Our current code base is polluted and not organized at all.
However, it is unclear how long this refactor will take.
We were also not sure, whether we'll use the same authentication library.
But our experiments have shown that there are no viable alternatives and that we'll stick with our current library.
@ajnart @Meierschlumpf  @Tagaishi I'd propose that we merge this anyway and copy later in the refactor. What do you think?

@Rikpat I tried to do the merge conflicts so we could merge it but there was a build failure.
I fixed it here but I'm not sure if that's how it's supposed to be as now there's also a vitest error.
Could you look into it real quick? We are merging once it's all sorted out.

To expand on Tag's comment: The unit tests are currently failing. As far as I see, you simply need to assert for the new properties. If you're comfortable with testing, you can create a follow up pull request adding more tests to it, as we plan to make use of tests much more in the future development of Homarr to reduce regressions.

Thank you again for the awesome contribution and work. This will be part of the next Homarr version 🚀💪

dont forget to copy over the changes of the PR form the old docs to the new docs if you have time :)


add organization admin role

We need to have the organization admin roles:
At the moment we have 2 type of organization so we need 2 admins (admin for subscriber and admin for service provider)
This role as additional feature will be managing users within the same organization

This will require major changes on the platform either technical and functional. So it cannot be done from next release.
Related to #177


Increase timeout for building on slower devices

Without this change I am unable to build the project (docker image) without a timeout error on a nuc.

Thanks!


Allow specifying version for recommended extensions

The recommendations field in extensions.json (and the equivalent in multi-root workspaces) should allow optionally specifying exact versions of extensions to install. Sometimes newer versions may break, change behavior, or need different configuration than before, and it would be great to pin certain extension versions.
Something like
{
  "recommendations": ["dbaeumer.vscode-eslint==1.2.0", "esbenp.prettier-vscode==3.4.5"]
}

The exact syntax doesn't matter.

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!

@sandy081 Hi, I searched for this in issues and couldn't find it, could you please link to the duplicate issue so I can follow along?

https://github.com/microsoft/vscode/issues/138048


st2 auth returns BadStatusLine("''",) for 401 error

ISSUE TYPE

Bug Report

STACKSTORM VERSION

st2 2.7.1, on Python 2.7

OS / ENVIRONMENT / INSTALL METHOD

running on CentOS 7.4 VMWare VM
Leveraged the installation instructions located at https://ewc-docs.extremenetworks.com/install/rhel7.html#minimal-installation and used the defaults
SUMMARY

Using the EWC plugin for ldap, if "chase_referrals": true is set in the backend_kwargs, a 401 results in the message BadStatusLine("''",) on the cli:
$ st2 auth mbayha1123
Password:
ERROR: ('Connection aborted.', BadStatusLine("''",))
Running st2 auth for the same user but specifying --debug shows that the actually message returned is a 401:
$ st2 --debug auth mbayha1123
Password:
-------- begin 63897296 request ----------
curl -X POST -H  'Connection: keep-alive' -H  'Accept-Encoding: gzip, deflate' -H  'Accept: /' -H  'User-Agent: python-requests/2.14.2' -H  'content-type: application/json' -H  'Content-Length: 2' -H  'Authorization: Basic bWJheWhhMTEyMzphc2RmYWRzZg==' --data-binary '{}' http://<IP_ADDRESS>:9100/tokens
-------- begin 63897296 response ----------
{
"faultstring": "Invalid or missing credentials"
}
-------- end 63897296 response ------------
ERROR: 401 Client Error: Unauthorized
MESSAGE: Invalid or missing credentials for url: http://<IP_ADDRESS>:9100/tokens
CLI settings:
Config file path: /home/mbayha/.st2/config
Client settings:
ST2_BASE_URL: http://<IP_ADDRESS>
ST2_AUTH_URL: http://<IP_ADDRESS>:9100
ST2_API_URL: http://<IP_ADDRESS>:9101/v1
ST2_STREAM_URL: http://<IP_ADDRESS>:9102/v1
ST2_AUTH_TOKEN: None
Proxy settings:
HTTP_PROXY:
HTTPS_PROXY:
Traceback (most recent call last):
File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/shell.py", line 343, in run
func(args)
File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/commands/auth.py", line 72, in run_and_print
instance = self.run(args, **kwargs)
File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/commands/auth.py", line 69, in run
return self.manager.create(instance, auth=(args.username, args.password), **kwargs)
File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/models/core.py", line 40, in decorate
return func(*args, **kwargs)
File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/models/core.py", line 306, in create
self.handle_error(response)
File "/opt/stackstorm/st2/lib/python2.7/site-packages/st2client/models/core.py", line 166, in handle_error
response.raise_for_status()
File "/opt/stackstorm/st2/lib/python2.7/site-packages/requests/models.py", line 928, in raise_for_status
raise HTTPError(http_error_msg, response=self)
HTTPError: 401 Client Error: Unauthorized
MESSAGE: Invalid or missing credentials for url: http://<IP_ADDRESS>:9100/tokens
STEPS TO REPRODUCE

Use the following auth sections, but with valid CNs and password
[auth]
host = <IP_ADDRESS>
port = 9100
use_ssl = False
debug = True
enable = True
logging = /etc/st2/logging.auth.conf
 mode = standalone

 # Note: Settings below are only used in "standalone" mode
 backend = ldap
 backend_kwargs = {"bind_dn": "CN=[[REDACTED]],OU=User Policy 0,OU=All Users,DC=[[REDACTED]],DC=com", "bind_password": "[[REDACTED]]", "base_ou": "DC=[[REDACTED]],DC=com", "group_dns": ["CN=[[REDACTED]],OU=Security Groups,DC=[[REDACTED]],DC=com"], "host": "[[REDACTED]]", "port": "636", "use_ssl": true, "chase_referrals": true}

 # Base URL to the API endpoint excluding the version (e.g. http://myhost.net:9101/)
 api_url =

run st2 auth  using a combination that should return a 401 error

EXPECTED RESULTS

should receive the following message at the CLI:
ERROR: 401 Client Error: Unauthorized
MESSAGE: Invalid or missing credentials for url: http://<IP_ADDRESS>:9100/tokens
ACTUAL RESULTS

received the following message at the CLI:
ERROR: ('Connection aborted.', BadStatusLine("''",))

Yeah, looks like this may have been the result of a config issue. It no longer provides the results for an invalid user that it was. It now reports a 401 as expected.

@mbayha Seeing the same message... what was the solve in the config?
received the following message at the CLI:
ERROR: ('Connection aborted.', BadStatusLine("''",))


[Engineering] Run pester tests in CI

Add a GH Action that runs pester tests against eng/scripts

It might be OK to defer this, until we have a better idea how long we're going to keep this pwsh code around.


Bump retry-policies to 0.4

Bumped retry policies to 0.4 and made the necessary code changes (swapping to SystemTime) associated with it.
Fixes #154

while you are changing this code, would you consider also fixing this issue?
https://github.com/TrueLayer/reqwest-middleware/pull/153


Release 4.3.0 for Windows

Replace Noise Blocker BACKGROUND TALKING BLOCKER - Sound Masking & Noise Cancelling sound with 1 Hour of Snapping Fingers | Amazing Sounds with Peter Baeten.

https://github.com/kkamara/kelvinkamara/releases


Failling test when the json contains multiples elements

Fix an issue introduced in #21

Lgtm. From phone, did not test.


add Windows Runtime

SteamDB app page links to a few games using this
https://steamdb.info/depot/1008081/
Brief explanation of the change
add a rule for Windows Runtime (WinRT/Win32 API)

too common and not that useful, a looooooooooooot of games have them


Handle errorText in TextInputWithLabel

@pecanoro @jasperhuangg
Details
Add support for errorText prop in TextInputWithLabel component.
Currently the error is showing like this:

Is the styling correct?
Fixed Issues
$ https://github.com/Expensify/App/issues/4730
Tests/QA

Navigate to <baseURL>/bank-account/company.
Input invalid data for the following fields and try to submit the form. Verify that red outlines AND growl messages occur.

Empty password
Invalid address street
Invalid address zip code
Invalid website URL
Invalid company tax ID
Invalid industry code
Invalid incorporation date

Tested On

[x] Web
[ ] Mobile Web
[x] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

Is the styling correct?
Styling looks good!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Cherry-picked to staging by @AndrewGable in version: 1.0.86-8 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Cherry-picked to staging by @AndrewGable in version: 1.0.86-8 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Cherry-picked to staging by @AndrewGable in version: 1.0.86-8 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

Please ignore the above, CI skipped these jobs and simply added a message here.

🚀 Deployed to production by @roryabraham in version: 1.0.88-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


fix: emit events in constructor (0xM Q-01)

Codecov Report
Patch coverage is 100.00% of modified lines.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files Changed
Coverage

contracts/GelatoManager.sol
100.00%

:loudspeaker: Thoughts on this report? Let us know!.


#5852 move neo loader

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[ ] Feature
[x] Refactoring

Context

[ ] Closes #<issue_number>
[ ] Requires deployment <snek/rubick/worker>

Before submitting pull request, please make sure:

[ ] My contribution builds clean without any errors or warnings
[ ] I've merged recent default branch -- main and I've no conflicts
[ ] I've tried to respect high code quality standards
[ ] I've didn't break any original functionality

Optional

[ ] I've tested it at </ksm/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address:
Payout

Community participation

[ ] Are you at KodaDot Discord?

Screenshot 📸

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

Copilot Summary

🤖 Generated by Copilot at d061180
Replaced the Buefy loading component with a custom one from the @kodadot1/brick library, using Oruga as a base. Created and exported the NeoLoading component, defined its styles and story, and updated the Loader.vue component to use it. Removed the unused styles for the loading-overlay class.

🤖 Generated by Copilot at d061180

NeoLoading shines
Oruga replaces Buefy
Winter of changes

only loader changed is this one @vikiival

wfm (new overlay?)

Please @prachi00 make sure that it also works in dark mode ^-^

lmk when i should check it

updated overlay

wait, is this reverted? cba492c

😍 Perfect, I’ve sent the payout
💵 $20 @ 25.23 USD/KSM ~ 0.793 $KSM
🧗 EzGc4s9PgCPx1YnF3fqzhLzVHpHMTL4LWPScwpDrR8JKgSU
🔗 0x707d62decc7c9701328f21ead538853f3ac6d4ef2233aca2ca0460cde92590a0
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Endpoint Explorer for Offers > Single Offer > SEARCH ERROR

What version are you using?
(laboratory.stellar.org) Test Network for gettings details regarding OrderID.

What did you do?
i just put my OrderID but that doesn't show us the result,
the reason why it does not show us the result is the concatenation of  2 URLs
  https://horizon-testnet.stellar.orghttps://horizon-testnet.stellar.org/offers/{offer_id}

What did you expect to see?
 Result of OrderID and details. if the links issues resolve then it will be able to show us the required results.

What did you see instead?
 Nothing it keeps processing.

Attaching screenshot

Good catch @JahanzebNawaz! Thanks


AzResourceTypeProvider_can_deserialize_all_types_without_throwing takes ~30 mins to run

This delays all our CI jobs a LOT

Can we run the test only when the types are updated?


Adding support for custom methods on handlers

I was thinking of adding the ability to be able to call specific methods when defining handlers in routes. Much like the router in Laravel. So instead of:
"/route/name" => "Handler"
We could have:
"/route/name" => "Handler@methodName"
Which would call the specific method on that handler.

Parse a string should be not a good idea. Let the handler get its methodName when it is necessary.

This goes against the fabric of Toro, which dispatches requests to handlers named after the HTTP method used.


JDK 1.7 - Unrecognized VM option 'MaxMetaspaceSize=1G'

Unrecognized VM option 'MaxMetaspaceSize=1G'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.```

I get that with java version "1.7.0_95"

Had to remove `-J-XX:MaxMetaspaceSize=1G` from .sbtopts

1.7 was end of life in April 2015 but I'll make sure we support it :
On 15 February 2016 at 14:33, Antonios Chalkiopoulos <
<EMAIL_ADDRESS>wrote:

sbt clean
Unrecognized VM option 'MaxMetaspaceSize=1G'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
I get that with java version "1.7.0_95"
Had to remove -J-XX:MaxMetaspaceSize=1G from .sbtopts
—
Reply to this email directly or view it on GitHub
https://github.com/eel-sdk/eel/issues/58.


Changing time selection for a curve component should update all component charts

I wanted to see the curve for the flex part of anonimous_base_load_1 for a specific week. I opened the profile and the associated curves through the Profiles -> Show all and selected the specific week for the inflex curve of this profile. When I scrolled down to see the flex curve for this week I noticed that the dropdown menu indeed indicated the correct week, but according to the x-axis of the chart, the entire year is shown (see below).

I you first scale the flex chart, this works fine, but the inflex chart fails

Assigning @grdw

This is actually a feature request.


Dracula Pro Not Working in Neovim Using Lazy Package Manager

I am trying to load the Dracula PRO colorschemes in Neovim, using the lazy package manager. I followed the install instructions but I copied the /vim directory to ~/.local/share/nvim/lazy/dracula-pro. It is loading the plugin, e.g. I see it in Lazy, but I am getting errors.
Here are the errors:
#1
Could not load your colorscheme

...ocal/share/nvim/lazy/LazyVim/lua/lazyvim/config/init.lua:201: /home/m/.dotfiles/.config/nvim/init.lua../home/m/.local/share/nvim/lazy/dracula-pro/colors/dracula_pro_blade.vim, line 2: Vim:E492: Not an editor command:

# stacktrace:
  - /LazyVim/lua/lazyvim/config/init.lua:201
  - /LazyVim/lua/lazyvim/config/init.lua:197 _in_ **setup**
  - /LazyVim/lua/lazyvim/init.lua:5 _in_ **setup**
  - ~/.config/nvim/lua/config/lazy.lua:9
  - .config/nvim/init.lua:2

#2
2024-03-05T08:50:00 lazy.nvim  ERROR Failed to source `/home/m/.local/share/nvim/lazy/dracula-pro/after/plugin/dracula_pro.vim`

vim/_editor.lua:0: /home/m/.dotfiles/.config/nvim/init.lua..nvim_exec2() called at /home/m/.dotfiles/.config/nvim/init.lua:0../home/m/.local/share/nvim/lazy/dracula-pro/after/plugin/dracula_pro.vim[1]../home/m/.local/share/nvim/lazy/dracula-pro/autoload/dracula_pro.vim, line 2: Vim:E492: Not an editor command:

stacktrace:
  - vim/_editor.lua:0 _in_ **cmd**
  - ~/.config/nvim/lua/config/lazy.lua:9
  - .config/nvim/init.lua:2

I have tried moving the directory structure into the my neovim config directory, but that did not help. I'm at a loss here. Anyone able to help me fix this?
When I try to load the colorscheme using :colorscheme, it also fails with a bunch errors on specific line numbers:
2024-03-05T08:56:53 lazy.nvim  ERROR Failed to source `/home/m/.local/share/nvim/lazy/dracula-pro/after/plugin/dracula_pro.vim`

vim/_editor.lua:0: /home/m/.dotfiles/.config/nvim/init.lua..nvim_exec2() called at /home/m/.dotfiles/.config/nvim/init.lua:0../home/m/.local/share/nvim/lazy/dracula-pro/after/plugin/dracula_pro.vim[1]../home/m/.local/share/nvim/lazy/dracula-pro/autoload/dracula_pro.vim, line 2: Vim:E492: Not an editor command:

# stacktrace:
  - vim/_editor.lua:0 _in_ **cmd**
  - ~/.config/nvim/lua/config/lazy.lua:9
  - ~/.dotfiles/.config/nvim/init.lua:2
2024-03-05T08:56:57 Error  ERROR Error detected while processing /home/m/.local/share/nvim/lazy/dracula-pro/colors/dracula_pro.vim:
2024-03-05T08:56:57 Error  ERROR line    3:
2024-03-05T08:56:57 Error  ERROR line    4:
2024-03-05T08:56:57 Error  ERROR line    5:
2024-03-05T08:56:57 Error  ERROR line    6:
2024-03-05T08:56:57 Error  ERROR line    7:
2024-03-05T08:56:57 Error  ERROR line    8:
2024-03-05T08:56:57 Error  ERROR line    9:
2024-03-05T08:56:57 Error  ERROR line   10:
2024-03-05T08:56:57 Error  ERROR line   11:
2024-03-05T08:56:57 Error  ERROR line   13:
2024-03-05T08:56:57 Error  ERROR line   14:
2024-03-05T08:56:57 Messages  INFO line    2:

I'm not really familiar with neovim and lazy (but I maintain the free Vim colorscheme and helped write the Pro one): do make sure your download doesn't have dos-style line endings. Try running dos2unix on all the files in your pro download.

Not a problem with Lazy. Files had windows trailing characters and dos2unix fixed that. This issue can be marked as closed.

That was the issue! Thank you!
On Tue, Mar 5, 2024, 10:06 AM D. Ben Knoble @.***>
wrote:

I'm not really familiar with neovim and lazy (but I maintain the free Vim
colorscheme and helped write the Pro one): do make sure your download
doesn't have dos-style line endings. Try running dos2unix on all the files
in your pro download.
—
Reply to this email directly, view it on GitHub
https://github.com/dracula/dracula-theme/issues/942#issuecomment-1978984915,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANHHLCFV3KW3CIDI6NOL3GLYWXNN3AVCNFSM6AAAAABEHF3ARWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZYHE4DIOJRGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

@luxonauta FYI. I don't know if you're tracking reports of this issue, but since it seems to come up ~1/week, it would be really nice to get this fixed and released. I know you all are working on other things, but this has been years for a quick fix…


Issue while following configuration guide on Using Email Address as the Username

labels
3.0.0
Description
Restart the server after following [1] configurations.
Cannot log in to publisher with updated super username. (that user is only given internal/everyone role which contradicts to what the doc [1] says. )
After this configuration, the user having the username<EMAIL_ADDRESS>is considered the super administrator. The user having the username admin is considered as a normal administrator.
[1] https://apim.docs.wso2.com/en/latest/Administer/ProductSecurity/LoginsAndPasswords/maintaining-logins-and-passwords/#setting-up-an-e-mail-login
[2] https://is.docs.wso2.com/en/5.9.0/learn/using-email-address-as-the-username/

This issue seems to be fixed in the latest APIM 3.1 and issue can be closed.


Android version cannot handle complex types in dataLayers

Hi,
when pushing an dictionary to the dataLayers that has the structure of:
                {
                event: 'removeFromCart',
                screenName: 'myScreen',
                ecommerce: {
                    remove: {
                        products: ['prod1', 'prod2']
                    }
                }}

It will complain and crash the app at runtime with an exception in GoogleTagManagerBridge.java line 123
Cannot call getString. Which points at this line:
String value = dictionary.getString(key);
That is because of the method does not handle complex types, it expects the dictionary to be of type <String, String>.
Although the output of that method is actually the correct type. Map<String,Object>. So it simply should fix up this method to recursively parse
    private Map<String,Object> getMap(ReadableMap dictionary) {
        Map<String, Object> map = new HashMap<>();
        ReadableMapKeySetIterator iterator = dictionary.keySetIterator();
        while (iterator.hasNextKey()) {
            String key = iterator.nextKey();
            String value = dictionary.getString(key);
            map.put(key, value);
        }
        return map;
    }

The method should be more like this something like this one here:
    private static HashMap getMap(ReadableMap readableMap) {
        HashMap map = new HashMap();
        ReadableMapKeySetIterator iterator = readableMap.keySetIterator();
        while (iterator.hasNextKey()) {
            String key = iterator.nextKey();
            switch (readableMap.getType(key)) {
                case Null:
                    map.put(key, null);
                    break;
                case Boolean:
                    map.put(key, readableMap.getBoolean(key));
                    break;
                case Number:
                    map.put(key, readableMap.getDouble(key));
                    break;
                case String:
                    map.put(key, readableMap.getString(key));
                    break;
                case Map:
                    map.put(key, getMap(readableMap.getMap(key)));
                    break;
                /*case Array:
                    map.put(key, getArray(readableMap.getArray(key)));
                    break;*/
                default:
                    throw new IllegalArgumentException("Could not convert object with key: " + key + ".");
            }
        }
        return map;
    }

Hi @sebawagner, thanks for the heads up + PR. Is this an issue for just Android, or have you tested iOS as well?


Refactor of HttpSender implementations with Factory Pattern (1/2)

This PR aims to have clearer responsibilities between the multiple HttpSender implementations. This is required to increase code coverage before introducing a new way to retrieve an access token (see 2nd PR: https://github.com/aiven/http-connector-for-apache-kafka/pull/172)
Changes:

refactor Http senders to expose a factory HttpSenderFactory and provide an implementation according to the configuration
Use abstraction AbstractHttpSender for sending message and sending with retry
Every Http request is handled by a HttpSender implementation, even retrieving an access token with AccessTokenHttpSender
Each HttpSender implementation creates its own HttpRequestBuilder with separate responsibilities

This refactor allows to test the HttpRequest that is sent to the API publisher and it covers all scenarios depending on the configuration.

Here you go :)

@jeqo any news on this PRs

Hi @jeqo and @jjaakola-aiven, thanks for your reviews. I have just took into account your last comments.

Thanks, @aprodhomme-dkt! Let's have a look at #172 to wrap up this contribution 🙌🏽


"Primary script unknown" on Docker launch

So I followed the usage instructions in the documentation, and the containers all seem to launch correctly when I docker-compose up -d from my Drupal 8 code base.
When I try to visit localhost:8000, however, I get a "File not found" error. Checking the nginx logs I see a FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream error.
I've verified I am running the docker-compose up command from my codebase (the root of the Drupal installation) and everything is there--- but it seems like NGINX either can't find the Drupal index.php in root, that NGINX isn't setup for index.php defaults, or the PHP or NGINX container is pointing to the wrong document root. I've tried both / and /index.php to be sure.
Log output is as follows:
php_1      | <IP_ADDRESS> -  30/Dec/2016:23:36:44 +0000 "GET /index.php" 404
nginx_1    | 2016/12/30 23:36:44 [error] 12#12: *4 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: <IP_ADDRESS>, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://<IP_ADDRESS>:9000", host: "localhost:8000"
nginx_1    | <IP_ADDRESS> - - [30/Dec/2016:23:36:44 +0000] "GET / HTTP/1.1" 404 47 "-" "Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
nginx_1    | <IP_ADDRESS> - - [30/Dec/2016:23:36:44 +0000] "GET /favicon.ico HTTP/1.1" 200 43 "http://localhost:8000/" "Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"

and docker-compose.yml volumes is set to the default:
    volumes:
      - ./:/var/www/html

everything else in docker-compose.yml is default as well. My host is Fedora 25 workstation, Docker version is 1.12.5, build 6009905/1.12.5

It sounds like you didn't mount your codebase to nginx container, make sure you have the following lines in your nginx service definition.
volumes_from:
      - php

For future reference. I encountered this problem because my NGINX_SERVER_ROOT in the php service was set to var/www/html/web instead of var/www/html for a D7 site.

I got the same error and found that the codebase didn't mount properly to my nginx container (see output below).  I have volumes_from: - php and I also changed the NGINX_SERVER_ROOT to var/www/html.  When I restart the containers it doesn't fix the issue.
How can I force the code to mount itself to the nginx and php containers? I find that sometimes it works and sometimes it doesn't.
Output:
PS C:\> docker-compose exec php ls -lah /var/www/html
total 4
drwxr-xr-x    2 www-data www-data      40 Feb 24 17:20 .
drwxr-xr-x    1 www-data www-data    4.0K Dec  5 07:32 ..
PS C:\> docker-compose exec nginx ls -lah /var/www/html
total 4
drwxr-xr-x    2 www-data www-data      40 Feb 24 17:20 .
drwxr-xr-x    3 root     root        4.0K Nov 30 06:22 ..


feat: add --partition-by-api and --partition-host to unstructured-ingest

If the user passes --partition-by-api, the files will be sent to the hosted unstructured-api. The --partition-host param can be used to override the default host.
Copying the host string all over feels a bit icky to me, esp. since click has already defined the default. Let me know if there's a good place to set this as a constant somewhere.
Also looking for suggestions on how to approach testing. Do we want some of the test-ingest scripts to run against the API? Due to the temp file hack here, the output against the API is actually slightly different. Should I duplicate a script such as test-ingest-local-partition-api.sh?

@awalker4 , there should be one .sh file under test_unstructured_ingest/ that processes 1 quick-to-process file against api.unstructured.io. Yes, https://github.com/Unstructured-IO/unstructured/blob/main/test_unstructured_ingest/test-ingest-local.sh is a good reference. Might as well process a different file, though.
Yes, config needs to be refactored outside of this PR -- there basically should be a DocProcessorConfig class for values that connectors do not need to be aware of. But, that should be a standalone PR (please don't add to this one).


fix(Button): memoize call to merge.all

Closes https://github.com/github/primer/issues/1191
This PR updates ButtonBase to memoize the call to merge.all with useMemo. This seemed like the best next step when I was taking a look at the issue, let me know if I misunderstood the approach!
A quick aside, I removed the default value of sx so that useMemo wouldn't be called each render. The fallback value has been moved to the merge.all call
Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[x] Tested in Edge

Definitely an improvement! Would be helpful to run the same or similar benchmarks from https://github.com/github/primer/issues/1191
(without any data) I wonder if we'll get a lot of benefit from cache hits in memo when it includes props.sx. Two instances of the same small-primary-button but with different margins in sx would need to call the function again.
How do you feel about inserting css for all variants on render and using then a data-attribute to set the style. This would remove the function calls for getSomethingStyles on updates. We'll still have to merge it with sx, but that should be a less expensive call.
rendered to something like
<button className="btn-styles" data-variant="primary" data-size="small"/>

Thanks so much @siddharthkp!

I wonder if we'll get a lot of benefit from cache hits in memo when if it includes user provided props.sx

Great point, I moved it out of useMemo and now just always do sx={merge(merge(sxStyles, sxProp as SxProp))}

Would be helpful to run the same or similar benchmarks from https://github.com/github/primer/issues/1191

Sounds great, in order to profile would you recommend pulling down their project / npm link'ing primer and running the same trace?

How do you feel about inserting css for all variants on render and using then a data-attribute to set the style.

Happy to do it, would that be what you'd recommend?

cc @pksjce if you have any recommendations for setting a baseline here and profiling different approaches!

So there's a storybook perf addon currently on primer-react storybooks. Does that help in any way at all?

@pksjce definitely! I'll use that for some quick ad-hoc measurements locally to see what you all think 👀
Scenarios
Baseline

Use the Watch Counter Button story
Interaction: click first button ten times
Collect 10 copies at 10 samples each

useMemo (sxProp in dep array)

Code
const ButtonBase = forwardRef<HTMLElement, ButtonProps>(
  ({children, as: Component = 'button', sx: sxProp, ...props}, forwardedRef): JSX.Element => {
    const {leadingIcon: LeadingIcon, trailingIcon: TrailingIcon, variant = 'default', size = 'medium'} = props
    const {theme} = useTheme()
    const iconWrapStyles = {
      display: 'inline-block'
    }
    const sxStyles = useMemo(() => {
      return merge.all([
        getButtonStyles(theme),
        getSizeStyles(size, variant, false),
        getVariantStyles(variant, theme),
        (sxProp || {}) as SxProp
      ])
    }, [theme, size, variant, sxProp])
    return (
      <StyledButton as={Component} sx={sxStyles} {...props} ref={forwardedRef}>

useMemo (merge at sx call site)

Code
    const sxStyles = useMemo(() => {
      return merge.all([getButtonStyles(theme), getSizeStyles(size, variant, false), getVariantStyles(variant, theme)])
    }, [theme, size, variant])
    return (
      <StyledButton as={Component} sx={merge(sxStyles, sxProp as SxProp)} {...props} ref={forwardedRef}>

Summary

In general, the test runs had a high amount of variation between them. I tried to run each scenario around 3x before reporting the measurement
In either useMemo situation, the performance of the interaction decreased by roughly 15% (when sx was not present)
In general, it seemed preferable to not call merge as the sx call site

Include sx prop in story
I also repeated this when adding in an {} as the value to the sx prop in each button in the story
Baseline

useMemo (sxProp in dep array)

useMemo (merge at sx call site)

Takeaways
I would say that there wasn't anything too conclusive with the initial perf audits of these different approaches. It seems like what wins out isn't by much.
There does seem to be some improvement in using useMemo. It also seems like if adding in sx is common then shifting it over to the prop site (sx={merge(sxStyles, sxProp)}) would net the biggest gain in updates.

Thanks for that analysis!
Yes, so as I understand we want to memoize the internal style calculations and merge the user styles at the call site.
But ideally, it would be really good if we never made all these style calculations at every render of the button. I feel like its a combination of

styled-components dynamic styles (can only be fixed by using ssr compatible styling library)
FWIW this helps IconButton inherit from the ButtonBase and helps us support multitude of sizes and variants in a dev friendly way.
us pulling theme variables dynamically ( if theme variables were available as css variables, that would fix this)

Fixing these two issues would fundamentally improve perf of Button component?


Include "help" command

Create a /help command that returns a list of the current commands and its description.

Done.

Reopened. The message needs a better formatting

Done in commit 360bafee2bd740d231b8deae235352d7cd46e8a2


bump bundle version to v0.1.4

We currently don't know where the release tags in this repo and in the openshift/addon-operator repo come from.
We're suspecting either a configuration flag in openshift/release that defaults to 0.1.0 or csv-parsing magic that infers the version from a csv that is part of a PR.
Could be something totally different though as well.
Signed-off-by: Josh Gwosdz<EMAIL_ADDRESS>

/lgtm


[doc] Document that sanity functions use 're.MULTILINE'

Fixes #1392

Codecov Report

Merging #1425 into master will decrease coverage by 0.29%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1425      +/-   ##
==========================================
- Coverage   91.83%   91.53%   -0.30%
==========================================
  Files          82       82
  Lines       12786    12350     -436
==========================================
- Hits        11742    11305     -437
- Misses       1044     1045       +1

Impacted Files
Coverage Δ

reframe/utility/sanity.py
98.83% <ø> (-0.12%)
:arrow_down:

...tests/resources/checks_unlisted/deprecated_test.py
53.84% <0.00%> (-3.30%)
:arrow_down:

reframe/core/systems.py
86.06% <0.00%> (-2.13%)
:arrow_down:

reframe/core/modules.py
60.51% <0.00%> (-1.93%)
:arrow_down:

unittests/test_launchers.py
93.54% <0.00%> (-1.39%)
:arrow_down:

unittests/test_environments.py
72.07% <0.00%> (-1.22%)
:arrow_down:

reframe/core/deferrable.py
96.62% <0.00%> (-0.88%)
:arrow_down:

reframe/core/exceptions.py
85.07% <0.00%> (-0.75%)
:arrow_down:

reframe/core/environments.py
95.00% <0.00%> (-0.66%)
:arrow_down:

reframe/core/schedulers/slurm.py
56.94% <0.00%> (-0.61%)
:arrow_down:

... and 35 more

Continue to review full report at Codecov.

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


Logging in through jimber says my account doesn't exist

Needed to use the staging account instead of the official one!


Login via OpenId

Login via OpenId - inside authorization provider;
Attribute dashboard in Admin-component is variable and depend on theme settings.

not sure if this PR is fit to merge @BogdanScherban

@tony-shannon
This PR can't be merged until I fix all Francois notes

@fzaninotto
Francois, I fixed all notes and updated PR. But I don't understand what do you mean here:

again, you should do an inversion of control here

@tony-shannon good to merge


Allows points to be a shape other than round. e.g.

This changes the Line series points shape from Ellipse to arbitrary Path
shape with user defined geometry. If a Geometry is not defined, the
default Ellipse shape will be used instead.

Hello, thank you very much!, I like this solution, It just need too be updated for vertical series too, I cant compile it because it is not updated for vertical series
Thanks

Thanks, this seems really complete!
I am checking this... just fucked up everything.... one moment

Thanks again, it seems that the VerticalLineSeries file is not updated from Ellipse to Shape, this is a nice request, I totally like it, just that little issue, cant compile it right now because of that

I updated that, thank you very much for this PR!

God dammit git, I merged this request, and I wanted to wait till everything is ready, well this is ok for now, welcome to LiveCharts contributors list, we need to fix this before packing everything with your script


Manually specify which config files you want to read from

Assuming that the config files will contain settings for flake8 is not the way to go imo. Make the user manually specify this behaviour.
Fixes #41
Fixes #43

Closing this in favor of #42.


Added CASE Authenticated Tag (CAT) Support To the Commissioner APIs.

Problem
Current code doesn't support CASE Authenticated Tags in the Operation Certificates generation logic.
Change overview
Added CAT support
Testing
existing tests

This doesn't really make sense. The OperationalCredentialsDelegate interface (shared by all users of chip::Controller::DeviceCommissioner cannot actually be designed to anticipate the types of context injection need to happen for apps.
Given this, why isn't this just added to the ExampleOperationalCredentialsDelegate?

This was addressed

@emargolis ?

@msandstedt PTAL


Could install your package

The requested package barbieswimcrew/shopware-symfony-bundle could not be found in any version

This is because the package ist still in dev-master, please consider that when requiring in composer. Try "barbieswimcrew/shopware-symfony-forms": "dev-master"


Upgrade numpy version - currently deprecated

  File "...\Lib\site-packages\skvideo\io\io.py", line 251, in vreader
    reader = FFmpegReader(fname, inputdict=inputdict, outputdict=outputdict, verbosity=verbosity)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\Lib\site-packages\skvideo\io\ffmpeg.py", line 103, in __init__
    self.inputfps = np.float(parts[0])/np.float(parts[1])
                    ^^^^^^^^
  File "...\Lib\site-packages\numpy\__init__.py", line 394, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'float'.
`np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations. Did you mean: 'float16'?

Can we update this lib to be compatible with newer np versions? Incompatible with py 3.12.

This PR fixed the problem. Use this: PR


php artisan view:cache returns an error since laravel 11 : Unable to locate a class or view for component [mail::message].

Laravel Version
11
PHP Version
8.3.4
Database Driver & Version
No response
Description
Since I run a composer update to get the latest laravel version (11), my deployment script crashes.
If I go back to laravel 10.48.7, the error does not occur anymore.
This bug just like the issues: https://github.com/laravel/framework/issues/44544
Steps To Reproduce
Just run these commands:
composer dump-autoload
php artisan view:cache

Not reproducible in fresh Laravel 11.

Can't reproduce this sorry.

Hi, All
I found a issue, it is not related to laravel 11 upgrading, It was raised by jetstream upgrade to 5.X.
I solved by:

copying all views from jetstream/livewire/ to resources/views
removing all '-jet' in  header in all components views
php artisan view:cache
no error now.

And Sorry for posted to wrong topic...
Thanks for help.
Best


Clean Docker image

Some issues I noticed with the current Docker image

[ ] something is installing Python 2.7
[ ] why are we overwriting uvicorn / fastapi from the base image by installing from requirements.txt
[x] Clean up unneeded packages after build

Update on Python 2.7:
I checked the Debian package dependencies recursively using apt-cache rdepends package and I don't see what requires the python2.7-minimal package
Could be Node that installs it ?

About 2) I need @VictorKuenstler's opinion before I change anything 😉

About 2) I need @VictorKuenstler's opinion before I change anything 😉
why are we overwriting uvicorn / fastapi from the base image by installing from requirements.txt

Good point; there is no reason for that. Feel free to optimize this :)


Add automatically generated change log file.

Hi, as I can see, you are carefully fill tags and labels for issues in your repo.
I created a github_changelog_generator, that generate change log file based on tags, issues and merged pull requests (and split them to separate lists according labels) from GitHub issue tracker.
This Change Log was automatically generated by this script.
It helps to easily found what and when was fixed and implemented.
You can easily update this file in future by running script: github_changelog_generator in your repo folder.
Hope you find this commit as useful.

I update change log from 0.8 to 0.12 version.

That's cool and would be useful for project updates :+1:


Setting build number (CFBundleVersion) as integer, xcode expecting a string

Setting the version like this:
npx capacitor-set-version -v 1.2.3 -b 1234 ./

sets the CFBundleVersion to an <integer>1234</integer>, but XCode complains until you change this back to a <string>1234</string>.
Is this expected or a bug?
I'd guess something is parsing the build number as a JS number and the plist library is applying the property value based on type.

I found this as well and consider it a bug. This broke my app build and crashed the app upon launch.
The worst part was that Xcode didn't quite catch it and thus it took me hours to figure out that it even was related to this issue.
I hope we can get this fixed because I consider the idea of syncing the version number with this plugin to be a great idea.

I just tried to figure out the code and I think I could propose a pull request, but wonder if it @HausennTechnologies would consider it since this issue has not gotten any attention?
Mostly it seems the input values have to be adjusted or the setIOSBuild function needs to parse the value into a string before writing it.
https://github.com/HausennTechnologies/capacitor-set-version/blob/61731988d7413893963c94e79121429d405ae14c/src/utils.ts#L82

Would love to see this fixed as well.

Hello guys.
Sorry for the late response on this one.
@chrisspiegl that is right, just casting it to string is enough.
Also, any PR are welcome.
For this one, I'll fix it today.
Thanks

This should be fixed now.
If the bug persists, please open a new issue.

Tested, seems to be working.


https://docs.pulsarweb.org/ ERROR 1014

pulsar version: N/A
python version: N/A
platform: N/A

Description
It seems that your documentation hosted at https://docs.pulsarweb.org/ is unavailable.
When I try to access it I get the following message:
Error 1014 Ray ID: 4598be0f691559cc • 2018-09-13 07:01:25 UTC
CNAME Cross-User Banned
What happened?

You've requested a page on a website that is part of the Cloudflare network. The host is configured as a CNAME across accounts on Cloudflare, which is prohibited by security policy.

Expected behaviour
Documentation page is available.
Actual behaviour
See description.
Steps to reproduce
See description.

+2

@lsbardel would you have time to look into the Cloudflare setup? The docs accessible so far are the 1.6 ones here: http://quantmind.github.io/pulsar/index.html


strange interaction between gdrive and packer

Hi,
I am using gdrive together with packer but I am struggling with a problem described here
I am looking for hints or workaround in order to solve it, any idea?
thanks,
Fabio

I was able to isolate the problem, that is in the Polipo proxy cache server that I am using to speedup packer development.
Disabling the proxy only for the upload solved my problem, now the analysis is on the interaction between polipo and gdrive.


Manually escape strings

Fix #48
Escapes " and . I think that should be enough, since those are the only characters that influence string parsing.
@thought2 I won't have time to properly test this myself until later this week, but if you have a chance and there's an easy way to do so, could you check if this fixes the issue you were having?

@jonascarpay  Sorry for the loooong delay. But now I got the time to look into this again. And yes, I can confirm now, this PR fixes the problem! I tested this by running the miraculix testing library with your branch, and the output is properly formatted again - as opposed to the current main.
Thanks a lot!

Hey, no problem, it didn't cause me any issues so I kept procrastinating testing it myself :^). Thanks for checking!


Add the pointer for optional fields.

Signed-off-by: HongYu Zhou<EMAIL_ADDRESS>/kind cleanup
What this PR does / why we need it:
Fixed all the case about pointers need to be used consistently for optional fields.
Which issue(s) this PR fixes:
Fixes #576
Does this PR introduce a user-facing change?:
NONE

Thanks @Hyzhou! This matches my understanding of how we should be handling optional fields. Will leave final LGTM for someone else.
/approve
/cc @danehans @hbagdi

/lgtm


Push DistinctLimit into TableScan

Fixes https://github.com/prestosql/presto/issues/5522

Test added and bunch of more code too, so @losipiuk @kokosing PTAL.

AC

CI failed -- https://github.com/prestosql/presto/issues/4936 (https://github.com/prestosql/presto/pull/5829)


process revive doesn't work on remote

Issue Type: Feature Request
Every time I launch VS Code I go through the same process of opening 3 terminal windows and naming them the same every time.  It would be great if this was something you could save so that it would restore the same terminals every time.
VS Code version: Code 1.68.1 (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-14T12:48:58.283Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No
Remote OS version: Linux x64 5.13.0-1031-aws
Remote OS version: Linux x64 4.4.0-1128-aws

Looks like process revive doesn't work on remote

locally, terminal name isn't persisted on reload or restart

@meganrogge oh the name persisted for me when I tested in a local window, only no in remote windows 🤔

this is only a seamless relaunch issue. I hadn't typed here when it does not persist
https://user-images.githubusercontent.com/29464607/176243372-8841ebbd-dbb5-47a6-bce8-41dc94982a06.mov

The relevant part of the code is here, where we set interaction state if the title was via API (command should be included with this):
https://github.com/microsoft/vscode/blob/6f902cde5b49dadbb9ccf136d8b7258740edaff3/src/vs/platform/terminal/node/ptyService.ts#L474-L477

Cannot reproduce:


Add to judge is win7 system and use wmic.

Add win7 judgment on the original basis.
if (os.release().indexOf('6.1') != -1){
  // it means win7
}

and we use wmic.
#67

Do you think it'd be possible to just add another parameter to AuthenticationOptions such as "useWmicCommand" instead of using os.release()? I think it's better to have the caller have some more control over what is being called.

Do you think it'd be possible to just add another parameter to AuthenticationOptions such as "useWmicCommand" instead of using os.release()? I think it's better to have the caller have some more control over what is being called.
Sorry, I don't know about this, where is the documentation to let me know about ‘useWmicCommand’

I was thinking we could add another property to this type https://github.com/matsjla/league-connect/blob/master/src/authentication.ts#L31 which would act as an option to use WMIC+Cmd instead of Get-CimInstance+PowerShell

I've went ahead and implemented it with two new options, useDeprecatedWmic and windowsShell which will allow you to use WMIC and Cmd by passing the options to authenticate()

I'll do a minor release soon.


libproxy: only wrap when pxgsettings exists

https://hydra.nixos.org/build/100220165

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Thanks @matthewbauer :sparkles:


Mobile Improvements by @littlepriceonu

Thanks litte

@littlepriceonu the branch has conficts, could you try updating your site?

@3kh0 I fixed the conflicts. Its just the codefactor check that failed (the checks were on files that I probably shouldn't touch)


push

:rocket: This PR description was created by Ellipsis for commit b1394f69b236632c651e7dffcb6b6183b076ee09.

Summary:
This PR adds a comment line in the constructSQL function in the FilterBlock.tsx file.
Key points:

Added a comment line in the constructSQL function in the FilterBlock.tsx file.

Generated with :heart: by ellipsis.dev

@ellipsis review


readExcel not importing all columns

Describe the bug
When opening an excel file, columns with no data in first row are ignored.

To Reproduce
dfd.readExcel(remote_url,      ).then(df => {       df.print() });
Expected behavior
In imported file (below), only 5 columns are read by readExcel, open, high, low are missing.

Describe the bug When opening an excel file, columns with no data in first row are ignored.
To Reproduce dfd.readExcel(remote_url, ).then(df => { df.print() });
Expected behavior In imported file (below), only 5 columns are read by readExcel, open, high, low are missing.

Interesting, 🤔  We currently use XLSX package for loading Excel files

Is there any way to specify the headers? or the first row number to parse? I couldn't find any relevant options  in the doc.

Describe the bug When opening an excel file, columns with no data in first row are ignored.
To Reproduce dfd.readExcel(remote_url, ).then(df => { df.print() });
Expected behavior In imported file (below), only 5 columns are read by readExcel, open, high, low are missing.

Interesting, 🤔 We currently use XLSX package for loading Excel files

It should be the best way at present. Forget the readExcel!

My code seems to not import excel files at all.
Although it works for csv files (with readCSV())
async function loadData(){
    let df = await dfd.readExcel('data.xlsx')
    df.head().print()
}

Error: ParamError: File not supported. file must be a url or an input File object


Update phpstorm to 2017.2

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] If the sha256 changed but the version didn’t,
provide public confirmation by the developer: {{link}}

@commitay thanks for fixing it, I couldn't find the full version anywhere.


debug: use only js-debug auto attach, collapse settings

This PR removes the hook in node-debug's auto attach, and uses only
js-debug auto attach. As referenced in the linked issues, this involves
removing debug.javascript.usePreviewAutoAttach and collapsing
debug.node.autoAttach into debug.javascript.autoAttachFilter. The
latter option gains a new state: disabled. Since there's no runtime
cost to having auto attach around, there is now no distinct off versus
disabled state.
The status bar item and the Debug: Toggle Auto Attach command now
open a quickpick, which looks like this:

The current setting value is selected in the quickpick. If there is a
workspace setting for auto attach, the quickpick toggles the setting
there by default. Otherwise (as in the image) it will target the user
settings. The targeting is more explicit and defaults to the user
instead of the workspace, which should help reduce confusion (#97087).
Selecting the "scope change" item will reopen the quickpick in that
location.
Aside from the extra options for the disabled state in js-debug's
contributions, there's no changes required to it or its interaction
with debug-auto-launch.
Side note: I really wanted a separator between the states and the
scope change item, but this is not possible from an extension #74967.
Fixes https://github.com/microsoft/vscode/issues/105883
Fixes https://github.com/microsoft/vscode-js-debug/issues/732 (the rest of it)
Fixes https://github.com/microsoft/vscode/issues/105963
Fixes https://github.com/microsoft/vscode/issues/97087

@connor4312 thanks for tackling this. It makes good sense to me, I like that we are getting rid of some settings, old code and simplifying the behavior a bit.
Minor feedback: should disable really hide it from the status bar? Since then it is a bit hard to disable and enable again? Hidding things from the status bar is an independent UX action which the user can do on her own -> context menu and hide
I am adding approved here, however for a code review I leave this up to @weinand since he did the original auto attach extension I believe.

@connor4312 I like the quickpick but this raises the question whether the "JavaScript Debug Terminal" becomes obsolete (I would hope so).
If yes, then we should remove the corresponding item from the "Welcome view" (in red) and add something along the lines of "or automatically debug Node.js programs run from the command line (aka 'auto attach')" (in the green box).

"Creating a launch.json" should move down because it becomes more like a "last resort"

Agree with @weinand comment, the dream scenario would be to merge this and the JavaScript debug terminal into one experince (I believe we have an issue for this)

Yep, let's continue to discuss that in https://github.com/microsoft/vscode/issues/105852 🙂

Following some feedback in standup, polish:

made the state labels nicer and localized
title the quickpick
made the scope toggle a button (a folder or a globe to toggle to workspace or machine configuration)


Todo in near future

@isitrita here is the random list of stuff to do.
Let's choose what have to be done first.
Random unsorted list:

[ ] FIXME IE9/10 completely sucks now :-(
[ ] FIXME FF completely sucks now :-(
[ ] FIXME Safari doesn't start player
[ ] FEATURE Mobile actions like touch and etc.
[ ] FEATURE Mobile "first" responsive :-(
[ ] FEATURE Error handling, at least media-file download error
Check is it possible to get meta information from audio

Nice to have:

Pressed state for buttons
Highlight table of contents on progress bar e.g. dots or bars

When we have many players on page:

Shut others when it starts

Items related to multi-item player:

Next/Previous buttons when necessary
Buffering option for playlist items and single media-file
Ability to manage many <audio> elements via playlist

Done:

[x] FEATURE Loading indicator
[x] FIXME aN:aN in statuses while loading... related to previous
[x] FIXME Fix Safari quirks for buttons hover state
[x] API Method to navigate to timestamp e.g. '02:10'
[x] 39038c3ada87bdba278970e5d30e9d1c5d158cbc FIXME Dragging stops when cursor go outside dragbar

HI,
this feature is done,
When we have many players on page:
[x] Shut others when it starts
I will take Highlight table of contents on progress bar e.g. dots or bars


Angular 13 support

Hi,
Do you have an ETA for a new release supporting Angular 13?
Best thanks

@paul-henriz thank you for your question.
not yet. I'm working on it right now

PR is there - https://github.com/stevermeister/ngx-wig/pull/157

Thank you very much for your reactivity!


Fig 1e from the preprint blank?

Hello team, thanks again for this repo. I was reading the preprint and I noticed that Fig 1e appears blank? Is this a rendering issue?
Best, Ajinkya

Hi Ajinkya,
Thanks for your interest in our work! The lines are actually there, but there is apparently a rendering issue in some browsers. I think you should be able to see it if you download the PDF and open it in any other software. In any case, here it is:

We'll try to solve it and upload a new version in due time :)
Albert

Ah nice, thanks for the image!

Hi @ajinkya-kulkarni
Which browser did you use to preview the pdf?

Google Chrome - Version 121.0.6167.139 (Official Build) (64-bit)

thanks! indeed, can reproduce (works fine on firefox & safari). Weird


Converting the fold operator resulted in an error: Only the Update, Add, Multiply, Maximum, and Minimum operations are currently supported for stablehlo.scatter. Node number 7 (STABLEHLO_SCATTER) failed to prepare

Description of the bug:
import torch
import torch.nn as nn
class Fold(nn.Module):
    def __init__(self):
        super(Fold, self).__init__()
        self.fold = nn.Fold(output_size=(4, 5), kernel_size=(2, 2))
    def forward(self, x):
        return self.fold(x)
fold = Fold()
sample = torch.rand(1, 3 * 2 * 2, 12)
print(fold(sample))
fold_edge = ai_edge_torch.convert(fold.eval(), (sample,))
fold_edge(sample)

Actual vs expected behavior:
No response
Any other information you'd like to share?
No response

I was able to replicate w/ the latest commit: 29aa17fbc6b2ecd08829a713834bf1d636b69566
import torch
import torch.nn as nn
import ai_edge_torch
from ai_edge_torch.debug import find_culprits

fold = nn.Fold(output_size=(4, 5), kernel_size=(2, 2))
sample = torch.rand(1, 3 * 2 * 2, 12)

print(fold(sample))

fold_edge = ai_edge_torch.convert(fold.eval(), (sample,))
fold_edge(sample)

produces:
Traceback (most recent call last):
  File "xxxxxx/issues/ai-edge-torch/337/test.py", line 13, in <module>
    fold_edge(sample)
  File "xxxxxx/git/ai-edge-torch/ai_edge_torch/model.py", line 106, in __call__
    interpreter.allocate_tensors()
  File "xxxxxx/envs/aet_head/lib/python3.11/site-packages/ai_edge_litert/interpreter.py", line 534, in allocate_tensors
    return self._interpreter.AllocateTensors()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Only update, Add, Multiply, Maximum and Minimum operations are currently supported for stablehlo.scatter.Node number 7 (STABLEHLO_SCATTER) failed to prepare.

find_culprits produces a different error:
culprits = find_culprits(fold.eval(), (sample,))
culprit = next(culprits)
culprit.print_code()

Traceback (most recent call last):
  File "xxxxxx/issues/ai-edge-torch/337/test.py", line 15, in <module>
    culprit = next(culprits)
              ^^^^^^^^^^^^^^
  File "xxxxxx/git/ai-edge-torch/ai_edge_torch/debug/culprit.py", line 485, in find_culprits
    for search_result in _search_model(
  File "xxxxxx/git/ai-edge-torch/ai_edge_torch/debug/culprit.py", line 457, in _search_model
    raise e
  File "xxxxxx/git/ai-edge-torch/ai_edge_torch/debug/culprit.py", line 434, in _search_model
    raw_min_fx_gm, raw_min_inputs = fx_minifier(
                                    ^^^^^^^^^^^^
  File "xxxxxx/envs/aet_head/lib/python3.11/site-packages/torch/_functorch/fx_minifier.py", line 227, in minifier
    raise RuntimeError("Input graph did not fail the tester")
RuntimeError: Input graph did not fail the tester


Nuxt 3 Support

Hey :wave: It looks like this module hasn't been updated for Nuxt 3. In an effort to improve the developer experience of modules, I've updated the module to clarify that it only supports Nuxt 2.
If Nuxt 3 support is added it will be moved to the https://github.com/nuxt-modules organisation.
Alternatives:

Nitro proxy using Route Rules

export default defineNuxtConfig({
  routeRules: {
    '/proxy/example': { proxy: 'https://example.com' },
    '/proxy/**': { proxy: '/api/**' },
  }
})

@ricardogobbosouza With Nitro supporting proxying natively, do you think it's worth deprecating this module?
Please let us know and thanks for your work!

@harlan-zw I believe that deprecating this module is the best option.
Whenever possible, use native nuxt3 resources.
What would @danielroe recommend?

Worth noting we don't need to deprecate it, instead we can just state that it won't be upgraded to Nuxt 3*

Yes, it should be deprecated fully. Nitro provides both dev time and build time proxy capabilities which completely replaces functionality of this module.
If we want to consider longer term Nuxt 2 maintenance, might as well move to nitro-bridge or migrate to unjs/httpxy which is at least actively maintained.


Use file scoped namespace

Use file scoped namespace declaration to follow a more modern code standard and reduce code nestling.

Should we modify this line in the .editorconfig?
csharp_style_namespace_declarations = block_scoped
to
csharp_style_namespace_declarations = file_scoped:error


Add cn translation for serveral sections of advanced user guide.

including:
index.md
path-operation-advanced-configuration.md
additional-status-codes.md
custom-response.md
response-directly.md
And more will be added later.

16qwwLpSDngpgkf3cBZbRPW39h9x3dvdMk

175JEbptSwRBh2h8QX4NEj7xCcvSdJNVMJ

including:
index.md
path-operation-advanced-configuration.md
additional-status-codes.md
custom-response.md
response-directly.md
And more will be added later.

That's great! :tada:
Could you separate each file in a different PR?
If each file is in a different PR, it will be easier for others to review an entire PR and/or add comments to specific sections.

The embarrassing thing is these 5 articles have already been translated by @RunningIkkyu . you should follow the contribution guide and check PR list to avoid duplicate work.

The embarrassing thing is these 5 articles have already been translated by @RunningIkkyu . you should follow the contribution guide and check PR list to avoid duplicate work.

It's my fault that I forgot to check.
But I find there are three sections translated in PR list: #1447 #1451 #1452 if I haven't miss others.
So should I create new PRs for index.md and custom-response.md ?

#1445  #1451 #1447 #1452 #1459 @woostundy Please review these files.

Filtering PR list by label lang-zh and you will see all the Chinese translations.

As these translations have been added in other PRs I'm gonna close this one. Thanks! ☕


publicize command.Context and add test for signal handler

Thank you for your nice pull-req :pray:
Please, resolve conflict.
And I'll review again.

resolved! > @Sixeight

Thanks!
LGTM :+1:


Multiple nginx ingress controllers

This issue has been raised so many times but seems still there is no proper answer how to solve such case.
We have cluster with 3 namespaces and using nginx ingress controller gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.10

kube-system: serves kubernetes and has ingress rules to access dashboard over env.example.com and protected over oauth2 provider
dev: is just staging
prod: is production
Both dev and prod has same set of services and should expose same ports to world but under different domains:
prod: example.com:80/443/5672/1883
dev: dev.example.com:80/443/5672/1883
kube-system: env.example.com:443

For each namespace ingresses has different classes to prevent controllers from another namespace pick them up

kube-system: kubernetes.io/ingress.class: "nginx-kube-system"
dev: kubernetes.io/ingress.class: "nginx-dev"
prod: kubernetes.io/ingress.class: "nginx-prod"

All of ingress controllers configured with respective  --ingress-class param and  --watch-namespace
Issue is that even with set ingress-class and limiting watch over --watch-namespace logs shows that for example dev namespace may route urls from kube-system and vice versa.
Any thoughts what I'm doing wrong?

Was issue with health endpoints, both controllers used same ports for health check which caused external load balancer route traffic to all pods

Does multiple ingress-nginx controllers work per the documentation in https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers? @aledbf, @troian - can you confirm this? Has anyone tried it? Thanks!

@vhosakot I'm currently running a couple of clusters that each have two ingress controllers. I use the same approach specified in the docs that shows how to use ingress class annotation to set which ingress controller should pick up a given ingress object.

great, thanks for the confirmation @SaaldjorMike! 👍

Yeah, that works, thanks

Thanks for the confirmation @troian! 👍


Integration with osgearth

Hello Chris,
this is an exciting development.
I am trying to integrate openvrviewer with osgearth viewer ... can you help me in this regard ?
thanks ,
Jai

Hello Jai,
Thanks for your interest in this project. Sorry, I've not done any work on it for a few years now, as I found my VR and other 3D development so much better and simpler in Unity. So, I have no plans to maintain this project.
Regards.
Chris

Hi Chris,
You are right that unity is very easy to use. I am also using unity now a
days. But, your development is very handy if someone wants to work in
native language. So,  request you to guide me in integration with osgearth
viewer.
On Thu, 16 Aug 2018, 20:25 ChrisDenham<EMAIL_ADDRESS>wrote:

Hello Jai,
Thanks for your interest in this project. Sorry, I've not done any work on
it for a few years now, as I found my VR and other 3D development so much
better and simpler in Unity. So, I have no plans to maintain this project.
Regards.
Chris
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ChrisDenham/osgopenvrviewer/issues/5#issuecomment-413573783,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYt7mGZhXCGh5xDEzFHYqkx4FhARK6roks5uRYfWgaJpZM4V_t8B
.

I can't really guide you, as I know nothing about osgearth. But if it uses the osgviewer class then the example in my sources should get you started with an integration. Feel free to ask any specific questions about it, but I probably won't know the answers.

HI Chris,
osgearthviewer also uses osgviewer class. If you can spare sometime to explore this? I have tried to integrate  but  facing unresolved external symbol errors..

I'm not sure if I can help, but if you tell me what the unresolved symbols are, I can possibly point you in the right direction.

ok. there are 159 unresolved symbols.  errors are like _declspec (dllimport protected )class std::basic_ostream

not sure, sounds like you're just missing the lib for standard library. OSG uses STL, so are you able to build OSG from sources? If you are using Cmake for your project, then it's probably means you are missing a linker setting in your cmake file. sorry i don't have the detail.