Patch 2.20.0 ck8s2 fixes

What this PR does / why we need it:
Fixes from patch release

[X] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[X] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] requires draining and/or replacing nodes.
[ ] will break the cluster.
I.e. full cluster migration is required.

You don't need to merge back patches into main since they are already there. So you can just close this one

These changes are not on main currently

I can see it being there 1a5109a

but that commit isn't part of this PR :confused:

Alright I see now. The only commit that you should have in this PR (according to me) is this one
Since the changelog reset for the patch shouldn't be merged back

Alright I see now. The only commit that you should have in this PR (according to me) is this one Since the changelog reset for the patch shouldn't be merged back

Why shouldn't we have the updated changelog on the main branch? There was no prior step in the realease process for patch releases to merge the "reset changelog" commit to main, but I thought that was just a missed step for this branch. We want main to have a fully up-to-date CHANGELOG.md file right?

Why shouldn't we have the updated changelog on the main branch? There was no prior step in the realease process for patch releases to merge the "reset changelog" commit to main, but I thought that was just a missed step for this branch. We want main to have a fully up-to-date CHANGELOG.md file right?

We don't have this for apps (although I see that it has been done for some (?))
So the reason is that we want these changes to not be removed from the WIP-CHANGELOG because these features will be part of the next release.

We don't have this for apps (although I see that it has been done for some (?))
So the reason is that we want these changes to not be removed from the WIP-CHANGELOG because these features will be part of the next release.

Ok fair enough, thanks for explaining. I will remove the changelog commit from this PR


Issue 3601 - Make nightly test instance IDs short enough

Make sure you have checked all steps below.
Issue

[x] My PR addresses the following issues and references them in the PR title. For example, "Issue 1234 - My Sleeper
PR"

Resolves https://github.com/gchq/sleeper/issues/3601

Tests

[x] My PR adds the following tests OR does not need testing for this extremely good reason:

Covered by existing tests

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it, or I have linked to a
separate issue for that below.

Merging to fix the nightly tests.


React native Expo support

Is there react-native expo support for this SDK?

@crstnmac no support for expo : (
I tried implementing it the whole way and in the end it says it's not supported.
Really need expo support for this.

Having expo support with typescript would be a game changer for most of the Indian react-native apps having payments

@skks1212 did you trying using expo development build by modifying ios plist using plugins? I tried with that and it worked fine upto a point. It is working perfectly on SANDBOX environment but getting "OH SNAP" error in PRODUCTION environment with any payment method

@hshah965 My primary OS is Android. I implemented a workaround by using a web view and running the web javascript checkout library. Works like a charm, and you can easily setup a web app to handle the payments for you.
However I will not be able to use it because cashfree has disabled onboarding for new merchants : (

@hshah965 My primary OS is Android. I implemented a workaround by using a web view and running the web javascript checkout library. Works like a charm, and you can easily setup a web app to handle the payments for you.
However I will not be able to use it because cashfree has disabled onboarding for new merchants : (

Ah that sucks. But if you get the opportunity and want to set it up with expo, it’s a pretty easy integration after using expo development builds and plugins to modify ios plist.

@hshah965 My primary OS is Android. I implemented a workaround by using a web view and running the web javascript checkout library. Works like a charm, and you can easily setup a web app to handle the payments for you.
However I will not be able to use it because cashfree has disabled onboarding for new merchants : (

Ah that sucks. But if you get the opportunity and want to set it up with expo, it’s a pretty easy integration after using expo development builds and plugins to modify ios plist.

Can you please elaborate how to achieve that. Would be of great help. Thank you

@skks1212 did you trying using expo development build by modifying ios plist using plugins? I tried with that and it worked fine upto a point. It is working perfectly on SANDBOX environment but getting "OH SNAP" error in PRODUCTION environment with any payment method.
Edit - Maybe it's crashing in Production due to app package whitelisting not done. Have sent it for approval, will update here on further development.
Edit 2 - Successfully ran the package on expo managed workflow after app package whitelisting approved. @crstnmac let me know if you need any help on the setup.

i am using expo and facing issues in interaction what I can do can you guide me please

@hshah965 My primary OS is Android. I implemented a workaround by using a web view and running the web javascript checkout library. Works like a charm, and you can easily setup a web app to handle the payments for you.
However I will not be able to use it because cashfree has disabled onboarding for new merchants : (

Ah that sucks. But if you get the opportunity and want to set it up with expo, it’s a pretty easy integration after using expo development builds and plugins to modify ios plist.

pls help me for expo


Follow OS' reduced motion setting, or offer a reduced motion option

Is your feature request related to a problem? Please describe.
Right now, the software doesn't respect the OS' reduced motion settings, and doesn't offer any tick to enable this.
For a person impaired with heavy motion sickness, this poses a huge problem.
Describe the solution you'd like
Ideally, I would imagine having a select providing three choices:
Reduced Motion

Follow OS settings
Enabled
Disabled

A quick scan through the src/styles folder shows that most files creates animations.
All those selectors should be wrapped by a @media not screen and (prefers-reduced-motion: reduce) as ideal fix, and override could be done for custom user settings.
:: ferdi/src/styles 2 » grep -r 'transition' .
./welcome.scss:    transition: .5s filter, .5s opacity;
./type.scss:    transition: background .5s, color .5s;
./toggle.scss:      transition: all 0.5s;
./tabs.scss:  transition: background $theme-transition-time;
./slider.scss:      -webkit-transition: .2s;
./slider.scss:      transition: opacity .2s;
./settings.scss:    transition: background $theme-transition-time;
./settings.scss:    transition: background $theme-transition-time, color $theme-transition-time;
./settings.scss:    transition: background $theme-transition-time, color $theme-transition-time;
./recipes.scss:  transition: background $theme-transition-time;
./radio.scss:    transition: background $theme-transition-time;
./layout.scss:  transition: opacity .5s ease;
./image-upload.scss:    transition: opacity .5s;
./content-tabs.scss:      transition: background $theme-transition-time;
./colors.scss:$theme-transition-time:      .5s;
./button.scss:  transition: background .5s;
./button.scss:    transition: none;
./button.scss:    transition: background .5s, color .5s;
./animations.scss:  transition: opacity .5s ease-out;
./animations.scss:  transition: opacity .5s ease-out;
./animations.scss:  transition: opacity 300ms ease-in;
./animations.scss:  transition: opacity .25s ease-out;
./animations.scss:  transition: opacity .25s ease-out;
./animations.scss:  transition: opacity .25s ease-in;
./animations.scss:  transition: max-height .5s ease-out;
./animations.scss:  transition: max-height .5s ease-out;
./animations.scss:  transition: all .3s ease-out;
./animations.scss:  transition: all .3s ease-out;
./animations.scss:  transition: opacity 300ms ease-in;
:: ferdi/src/styles » grep -r 'animation' .
./main.scss:@import './animations.scss';
./layout.scss:        animation-name: pulse-danger;
./layout.scss:        animation-duration: 0.75s;

thanks @Arteneko - this is a very comprehensive ticket - and the idenfitied code should allow ease of fixes. Would you want to make the changes and raise a PR for the same?

I'm sadly not in a state to work on this code right now, sorry. If no one picks it up anytime soon and I come around it again, I'll try to do it.

Testing reduced motion is all about going in your OS' settings and enabling/disabling them, so it depends on your OS.
If you take care of it and make a PR, I can test it for you, too.

Hey @Arteneko, I prepared a PR which respects motion settings of the OS.
Please review and test this if it is how you imagined it to be ;)

This should appear in the next nightly v22

Actually, we just discovered an issue in nightly 22, please wait for nightly 23 (in another 12 hrs or so) to get the updated working version.


Nudge will not open from terminal or finder on 11.6

Hello,
Mac M1 8GB RAM 2020
Just tried updated to 11.6 then  installed Nudge for the first time.
Nudge will not open from terminal or finder on 11.6
Ran
% /Applications/Utilities/Nudge.app/Contents/MacOS/Nudge -version
<IP_ADDRESS>82021120759
Deployed Config Profile via jamf
com.github.macadmins.nudge

osVersionRequirements

aboutUpdateURL
https://support.apple.com/en-us/HT212804
requiredInstallationDate
2021-09-20T00:00:00Z
requiredMinimumOSVersion
11.6
targetedOSVersionsRule
11

userExperience

allowUserQuitDeferrals

userInterface

simpleMode

For support please join the macadmin slack #nudge channel.
This is likely a configuration issue on your end. There are wiki entries for how to install the logging components as well as debug the issue.


[GHSA-mc22-5q92-8v85] Memory Safety Issue when using patch or merge on state and assign the result back to state

Updates

Affected products
Description

Comments
"tremor" is name for another rust pkg. This pkg is "tremor-runtime".

Hi there @mfelsche! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory


macOS binary instructions

Since macOS v10.15 "Catalina", binaries need to be signed. We need to add instructions for users on how to do this if they don't want to use Homebrew, which technically we don't support yet.

This should be moved offer to the docs repo.


Does not compile for 32 bit architecture

I encountered an issue when compiling a project with this library with the GOARCH=386.
vendor/github.com/brotherpowers/ipsubnet/ip.go:16:27: constant<PHONE_NUMBER> overflows int

This is the line in question:
https://github.com/brotherpowers/ipsubnet/blob/30bc98f0a5b191d0dbc54f564c78716f84c7a7e2/ip.go#L16

I have a version that does compile for 32 bit -- I'd do a pull request but the calls change from int to int64, so people who are on 64 bit systems would have to change from int to int64 in their code.
https://github.com/rmasci/ipsubnet


Implement grammar support for the "is" keyword

Warning: When defining the name for a variable that does not exist.

Implemented in https://github.com/sys-bio/vscode-antimony/commit/224f1d58bd0c4b2b3f374c5aae5828fb73fabbc4


How to evaluate the overhead of sidecar container

Any test cases which can help me to test what is the overhead of sidecar container? How much impact and how much latency does a sidecar container can impact the application?
@ldemailly @suryadu comments for this?
FYI @morvencao @zxxa
Related with https://github.com/istio/istio/issues/6697

you can use the s1->s2 scenario compared to fortio1->fortio2 one; both are setup and have functions in tools/
you will find that the non istio injected case is negligible (<0.5ms) so you can just use s1->s2 as the overhead itself

Thanks @ldemailly , does istio have some criteria for the overhead? What value can be treated as acceptable?

currently we have been tracking and measuring as well as insuring no regression and that the number improves release over release. 1.0.0 is likely to be what it is and « acceptable »/more agressive targets are for the rest of 2018 and early 2019


Add the github build actions for Vulkan

Haven't got any experience with contributing to and opening PR's in repos other than private/local, so let's give this a try. This PR adds the required build actions for Vulkan so the binaries can be built.
If I have understood the previous discussion correctly and this PR goes well, I will:

Add Vulkan to the NativeLibraryConfig
Add the runtime targets
Add the nuspec

And finally I will look into auto loading of the library under Windows and WSL, I will see if I can find someone with an AMD GPU to help with the testing. If this goes well also, I would be fine with maintaining the parser.

Would you mind kicking off a test run of the "Update Binaries" build action in your fork? If that completes successfully we can merge this PR.

Is this something that should be done locally or through github? I've tried looking around on the "Actions" page on my fork but can't find anything there.

It should be here I think, not sure why it's not. Try checking in settings that actions aren't disabled:

Yeah, that page is empty, and that setting is set to "Allow all", just checked it again.

We're merging this into a new temporary branch called monsky_temp_pr_branch to workaround an issue with GitHub actions beign unable to run in the forked repo.


Bug: Number (double) validator

https://github.com/icebob/vue-form-generator/blob/cef504df01c539a39e2966ce93b94890a5cfcc6f/src/utils/validators.js#L88
An integer should be a valid double value.

@lkho Can you maybe provide a PR ? Thanks

But after it, I don't know what is the difference between number and double.


Revert "Adding logic to fetch memory util with free command."

Reverts openmainframeproject/feilong#760

Solve the conflict

@SeanHQF @bjhuangr @jichenjc  PTAL


Update virtual-machine-scale-sets-deploy-app.md

Fix typos and casing.

Hi @alexandair, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

@alexandair : Thanks for your contribution to the Azure documentation! The author, @gbowerman, has been notified to review your proposed change.

@tysonn please merge this PR


Copy PSP hostpath warning to hostpath volume docs

We don't currently do a good enough job warning about the dangers of HostPaths, and some of the unintuitive ways that admission policies can be bypassed.
We have a warning on the PSP documentation (https://kubernetes.io/docs/concepts/policy/pod-security-policy/#volumes-and-file-systems), but we should also call out the risks on the hostpath volume documentation directly.
Fixes https://github.com/kubernetes/website/issues/18850

Page preview:
https://deploy-preview-28252--kubernetes-io-master-staging.netlify.app/docs/concepts/storage/volumes/#hostpath

Thanks @tallclair .
/approve
/sig storage

/sig security

@tallclair Thank you for the PR!
/lgtm


Install kmod and xz in a docker build

bcc runs modprobe kheaders to extract kernel headers when
/lib/modules/uname -r/sources is not available and tries to decompress
/sys/kernel/kheaders.tar.xz. modprobe requires kmod and tar xz does
xz package. Install these packages.
Signed-off-by: Masanori Misono<EMAIL_ADDRESS>

Thank you very much to contribute. Looks nice to me.


[$2000] IOS - VBA - Keyboard is overlapping the company website filed under Company Information page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login in App
Go to Settings - Workspace - Connect bank account
Use credentials: user_good/pass_good
Select Wells Fargo and than Saving account
Start to enter data into Company Information page
In step 2 (company information) enter the phone number and start entering company website

Expected Result:
Keyboard is not overlapping the company website filed under Company Information page
Actual Result:
Keyboard is overlapping the company website filed under Company Information page
Workaround:
Unknow
Platform:

Where is this issue occurring?

iOS

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/175130431-ea81108b-981b-4e05-91f1-8d99f930625b.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

I think this might be related to Accessibility - reaching out in open-source for a buddy check - https://expensify.slack.com/archives/C01GTK53T8Q/p1656108828757429

Nope sounds like a bug! Created Upwork job
Internal positing - https://www.upwork.com/ab/applicants/1541435223002427392/job-details
External positing - https://www.upwork.com/jobs/~01734e552bce49e505

Proposal
Phone number text input opens numeric keyboard and Company website text input opens alphabetical keyboard, alphabetical keyboard is taller than numeric keyboard, so if we move Company website text input above Phone number text input we guarantee that switching from an upper text input to a lower text input will cause a keyboard shrinking.
I know it is a very simple solution, but I tried to wrap the code inside KeyboardAvoidingView component and no luck, so rather than fix out KeyboardAvoidingView component or create a new wrapper component and use it only on one page (we don't have any page has this number of input fields ), we can use this simple solution.
Result :
https://user-images.githubusercontent.com/108357004/176237490-3f8983a3-3aeb-4947-aaae-892954a0fe53.mov

@Karim-30 Thank you for the comment, but your solution looks like a workaround and doesn't solve the actual problem. Looking for a proposal that probably adjusts the view on focus of the input.

Waiting for proposals.

Looks like we're still collecting proposals for this job - price increase to $1000

Still waiting for proposals. Upping to $2000.

Proposal
In src/components/FormScrollView.js :
  import styles from '../styles/styles';
+ import variables from '../styles/variables';

  ...

    <ScrollView
        style={[styles.w100, styles.flex1]}
        ref={ref}
        contentContainerStyle={styles.flexGrow1}
        keyboardShouldPersistTaps="handled"
+       contentInset={{bottom: variables.inputHeight}}

Resault :
https://user-images.githubusercontent.com/108357004/179829185-5242ac41-de14-4b40-8827-f8e084e85716.mov

@Karim-30 Thanks for your proposal, contentInset might work but it does impact even when the keyboard is not open.  I guess we don't want that.
Meanwhile, I am going to check other impacts for putting this.

@mananjadhav Thank you for the review,  we can remove any impacts that happen when the keyboard is not open by using keyboard listeners keyboardDidShow, keyboardDidHide

@Karim-30 Can yeah we can remove the impacts but can you update your proposal to handle the change please? Also a small suggestion we have withKeyboardState that uses keyboardDidShow & keyboardDidHide

@mananjadhav do you have any thought on my previous proposal?
Updated Proposal
https://github.com/Expensify/App/blob/712ca243a4c0b4101fb8e3c9da5aeac7132e153c/src/pages/ReimbursementAccount/ReimbursementAccountForm.js#L15
Add this line:
import withKeyboardState from '../../components/withKeyboardState';

https://github.com/Expensify/App/blob/712ca243a4c0b4101fb8e3c9da5aeac7132e153c/src/pages/ReimbursementAccount/ReimbursementAccountForm.js#L74
Add this line:
    withKeyboardState,

https://github.com/Expensify/App/blob/712ca243a4c0b4101fb8e3c9da5aeac7132e153c/src/pages/ReimbursementAccount/ReimbursementAccountForm.js#L49
Add this line:
contentInset={{bottom: this.props.isShown ? 48 : 0}}

And this fix is not only for this issue bot throughout the app which show native keyboard for input:
https://github.com/Expensify/App/blob/712ca243a4c0b4101fb8e3c9da5aeac7132e153c/src/components/ScreenWrapper.js#L136
                            <KeyboardAvoidingView style={[styles.w100, styles.h100]} behavior={this.props.keyboardAvoidingViewBehavior} enabled={Platform.OS === 'ios'}>

Before fix
iOS:
https://user-images.githubusercontent.com/108141252/180840335-f5706288-6c10-4f6e-b2f9-1844165a19f7.mp4
Android:
https://user-images.githubusercontent.com/108141252/180840383-1aa01639-7d6e-4abc-a360-a8b75b61ab9d.mp4
After fix
iOS:
https://user-images.githubusercontent.com/108141252/180840479-57ea7ff7-1ee2-41f1-b358-4d072eadaa90.mp4
Android:
https://user-images.githubusercontent.com/108141252/180840558-e51c48b9-d8a0-48ef-a0d6-2ef94243a8dd.mp4

@errahsoufiane I don't see any proposal from you that describes any implementation details. In the last comment it seems you're linking @Karim-30's proposal and extending to what they have already figured out.
Thank you for taking time, but I will hear from @Karim-30's updated proposal here.

@mananjadhav I had proposed general approach and once you or any other reviewer replied, I was going to share detailed implementation with code sharing.
BTW I don't mind whose proposal is accepted for this issue (just to make project goes well) but 2 more suggestions from my updated proposal:

No need to apply contentInset for all scroll views (FormScrollView) throughout the app. The issue happens only on this screen, therefore it's enough to apply this only for ReimbursementAccountForm
While fixing this issue, you may need to fix for other platforms (especially Android) as well. As you see my videos attached, it's very weird behavior in android everywhere keyboard showing throughout the app. I also proposed this fix. (this might fix other open issues related to keyboard behavior)

Updated Proposal
In src/components/FormScrollView.js :
  import styles from '../styles/styles';
+ import variables from '../styles/variables';
+ import withKeyboardState from './withKeyboardState';

  ...

    <ScrollView
        style={[styles.w100, styles.flex1]}
        ref={ref}
        contentContainerStyle={styles.flexGrow1}
        keyboardShouldPersistTaps="handled"
+       contentInset={props.isShown ? {bottom: variables.componentSizeLarge / 2} : undefined}

Result :
https://user-images.githubusercontent.com/108357004/180860550-97308d97-0c14-4caa-9609-3a564e45f72e.mov

@mananjadhav I want you to go ahead with @Karim-30 's proposal but I found one issue:
variables.componentSizeLarge / 2 this padding is not enough when auto suggestions show:
https://user-images.githubusercontent.com/108141252/180862104-abd6f0a4-1211-4381-8cfd-4298a8946dbc.MP4

@errahsoufiane Thanks for testing.
Updated Proposal
In src/components/FormScrollView.js :
  import styles from '../styles/styles';
+ import variables from '../styles/variables';
+ import withKeyboardState from './withKeyboardState';

  ...

    <ScrollView
        style={[styles.w100, styles.flex1]}
        ref={ref}
        contentContainerStyle={styles.flexGrow1}
        keyboardShouldPersistTaps="handled"
+       contentInset={props.isShown ? {bottom: variables.componentSizeLarge} : undefined}

Result :
https://user-images.githubusercontent.com/108357004/180868954-4853a4f5-40ef-4ca7-83b4-770b6456455a.mov
There is a gap below the button after closing the keyboard, it hides after making a scroll, I tried to remove this gap by bottom: variables.componentSizeLarge / 2 but it seems not working on small screen devices, So there is noway from hiding this gap.

PROPOSAL
Problem
When keyboard change it's size, ScrollView's content does not adjust accordingly, so the content get blocked. After some digging, I find out that this issue not only occur in App develop with react-native, but also can occur in iOS native App, it's caused by iOS native code. Fix it in react-native library is a better choice.
Solution
In react-native 0.68.0, ScrollView has a new prop automaticallyAdjustKeyboardInsets for iOS, which controls whether the ScrollView should automatically adjust its contentInset and scrollViewInsets when the Keyboard changes its size.
Here is the solution:

Upgrade react-native to 0.68.0 or higher version in our project
Add prop automaticallyAdjustKeyboardInsets in FormScrollView.js

https://github.com/Expensify/App/blob/a06358cef3ab1951fcbb5c256c003acdf238d447/src/components/FormScrollView.js#L12-L16
+  automaticallyAdjustKeyboardInsets

https://github.com/Expensify/App/blob/a06358cef3ab1951fcbb5c256c003acdf238d447/src/components/FormScrollView.js#L17-L21
Screenshot
Since upgrade react-native to 0.68.0 or higher needs lots of work, I write a minimum code project to demonstrate how prop 'automaticallyAdjustKeyboardInsets` make ScrollView automatically adjust to prevent its content get blocked when keyboard changes its size. Will upload the video later.

UPDATE
The previous proposal https://github.com/Expensify/App/issues/9542#issuecomment-1200443420 has some problem, text input may be pushed out of sight in some test scenario, we can't use prop automaticallyAdjustKeyboardInsets to fix current issue.
PROPOSAL
Problem
When keyboard change it's size, ScrollView's content does not adjust accordingly, so the content get blocked. We can calculate how much the text input is blocked by keyboard, then manually scroll content view to appropriate position, and make sure text input is in visible area.
Solution

Make a new directory name FormScrollView in src/components
Move src/components/FormScrollView.js to src/components/FormScrollView/index.js, fix import path error
Touch a new file src/components/FormScrollView/index.ios.js, and add the following code to it

import React from 'react';
import PropTypes from 'prop-types';
import {Keyboard, ScrollView, TextInput} from 'react-native';
import styles from '../../styles/styles';
import _ from 'underscore';

const propTypes = {
    /** Form elements */
    children: PropTypes.node.isRequired,

    /** A ref to forward to the scroll view */
    forwardedRef: PropTypes.func,
};

const defaultProps = {
    forwardRef: null,
};

class FormScrollView extends React.Component {
    constructor(props) {
        super(props);
        this.keyboardHeight = React.createRef(0);
        this.scrollPosition = React.createRef(0);
        this.keyboardDidChangeFrameListener = this.keyboardDidChangeFrameListener.bind(this);
    }

    componentDidMount() {
        this.keyboardDidChangeFrameSubscription = Keyboard.addListener('keyboardDidChangeFrame', this.keyboardDidChangeFrameListener);
    }

    componentWillUnmount() {
        if (this.keyboardDidChangeFrameSubscription) {
            this.keyboardDidChangeFrameSubscription.remove();
        }
    }

    keyboardDidChangeFrameListener(keyboardFrame) {
        const oldKeyboardHeight = this.keyboardHeight.current;
        this.keyboardHeight.current = keyboardFrame.endCoordinates.height;
        if (oldKeyboardHeight === keyboardFrame.endCoordinates.height) {
            // Keyboard size does not change, just return
            return;
        }

        const currentlyFocusedRef = TextInput.State.currentlyFocusedInput();
        if (currentlyFocusedRef) {
            currentlyFocusedRef.measureInWindow((x, y, width, height) => {
                const textInputBottomPosition = y + height;
                const keyboardPosition = keyboardFrame.endCoordinates.screenY;
                if (textInputBottomPosition > keyboardPosition) {
                    // The text input get blocked, manually scroll to the right position
                    const scrollPosition = this.scrollPosition.current + textInputBottomPosition - keyboardPosition;
                    this.form.scrollTo({y: scrollPosition, animated: true});
                }
            });
        }
    }

    render() {
        return (
            <ScrollView
                style={[styles.w100, styles.flex1]}
                ref={(ref) => {
                    this.form = ref;
                    if (_.isFunction(this.props.forwardRef)) {
                        this.props.forwardRef(ref);
                    }
                }}
                onScroll={(event) => {
                    this.scrollPosition.current = event.nativeEvent.contentOffset.y;
                }}
                scrollEventThrottle={50}
                contentContainerStyle={styles.flexGrow1}
                keyboardShouldPersistTaps="handled"
                // eslint-disable-next-line react/jsx-props-no-spreading
                {...this.props}
            >
                {this.props.children}
            </ScrollView>
        );
    }
}

FormScrollView.propTypes = propTypes;
FormScrollView.defaultProps = defaultProps;

export default React.forwardRef((props, ref) => (
    <FormScrollView {...props} forwardRef={ref} />
));

What do we do in iOS specific FormScrollView component?

Add props scrollEventThrottle and onScroll event handler to track current scroll position
Add keyboardDidChangeFrame event handler to track keyboard change frame event
Check if keyboard size changes and text input is blocked by keyboard in event handler
Calculate how much the text input is blocked by keyboard and scroll to right position

Screenshot
https://user-images.githubusercontent.com/103875612/182357319-cf89665f-f434-4ca5-bbc1-5c487f2717bb.mp4

Please allow me a day, I am OOO and will review tomorrow.

Reviewing @b1tjoy's proposal.
@Karim-30 I don't like the idea of adding hardcode trial and error fixes. This will end up breaking some or the other device resolution.
@errahsoufiane This is still open for review so if your proposal is any different from the existing ones, feel free to post it.

Increasing price to $4000.

@b1tjoy I went through your proposal and also explored other alternatives meanwhile, I have a question, could you please explain in which cases is the text input going out of section when used with automaticallyAdjustKeyboardInsets. If say some issue does exist with automaticallyAdjustKeyboardInsets it would make sense to fix that rather than have a workaround for us to track the scroll with keyboard events. Let me know what you think? I checked thread and the PR for automaticallyAdjustKeyboardInsets and it seems it was intended to solve this current issue only! We can explain manually tracking the scroll as a secondary option.

@mananjadhav When I submit https://github.com/Expensify/App/issues/9542#issuecomment-1200443420, we use react-native 0.66.4 in our App, I backport the PR for automaticallyAdjustKeyboardInsets to react-native 0.66.4, and I found out that the text input go out of section in some case.
Our current main branch use react-native 0.69.4, I retest with automaticallyAdjustKeyboardInsets, the text input won't goes out of section, but it still cause other issue. When we use ScrollView with automaticallyAdjustKeyboardInsets, it provide keyboard avoiding feature like KeyboardAvoidingView. If we use KeyboardAvoidingView wrap around ScrollView, the scrollable area will become smaller than we expected if keyboard pop out.
Check out the following screen recording, pay attention to the scroll bar on the right hand.
https://user-images.githubusercontent.com/103875612/187058097-5cecb229-20e6-4312-bc6f-99c4e8d84752.mp4
If we do not use KeyboardAvoidingView wrap around ScrollView, the scrollalbe area won't get smaller, and the company website field won't blocked by keyboard. Here is a simple modification to show it really works. If we use this, the final code will be platform specific, more complex and not affect other pages and components.

Disable KeyboardAvoidingView in ScreenWrapper.js

https://github.com/Expensify/App/blob/e21736d87cc1ed95c1f64a54040ce242ced7ebc0/src/components/ScreenWrapper/BaseScreenWrapper.js#L80
- <KeyboardAvoidingView style={[styles.w100, styles.h100]} behavior={this.props.keyboardAvoidingViewBehavior}>
+ <KeyboardAvoidingView enable={false} style={[styles.w100, styles.h100]} behavior={this.props.keyboardAvoidingViewBehavior}>

Add automaticallyAdjustKeyboardInsets to FormScrollView.js

https://github.com/Expensify/App/blob/e21736d87cc1ed95c1f64a54040ce242ced7ebc0/src/components/FormScrollView.js#L12-L16
+ automaticallyAdjustKeyboardInsets

Screenshot for the modification above.
https://user-images.githubusercontent.com/103875612/187058463-a12afde5-3e5a-4e48-83c0-e64bbdd6bc45.mp4
I also notice that some text input is pushed out of section first and then pulled into second, that is annoying. I will check the PR which brings automaticallyAdjustKeyboardInsets into ScrollView and find out is there anything I can do with it.
https://user-images.githubusercontent.com/103875612/187058693-e8ddccf4-5b6b-4d22-ae9d-925f32758a1b.mp4

I'll check your findings @b1tjoy. Thanks for the post.

Thanks @b1tjoy for the detailed explanation. I really appreciate the effort you've put into the findings.
I agree that this can't be fixed in react-native, as I checked it myself. I am going to review your comments again and give you a final go ahead by this weekend/monday. Thank you for the patience on this one.

@b1tjoy Your proposal looks good to me https://github.com/Expensify/App/issues/9542#issuecomment-1235749355. Any kinks can be handled in the PR review while testing.
I was a bit concerned about how reliable is this const currentlyFocusedRef = TextInput.State.currentlyFocusedInput();  But it seems it was replaced from currentlyFocusedField and does work as expected.
@puneetlath All yours.
🎀 👀 🎀
C+ reviewed

We're putting all keyboard-related issues on hold for a bit while we discuss a more holistic approach to fixing them (also this and this one).
@b1tjoy it's clear you've invested a lot of time into this issue, your proposal is extremely thorough and well-outlined.  You will be compensated for your work, before disscussing the amount, we want to see if the best path forward is for you to complete the issue.  If so, we'd take off hold then you'd finish then get compensated 7 days after the PR hits production, assuming no regressions.  We're discussing next steps internally and will have another update on the hold timeline soon (hopefully tomorrow)

@b1tjoy @mananjadhav we didn't end up going with the proposed solution, but we would like to pay you a partial bounty for the time put into this issue. Can you both please apply to this job?
https://www.upwork.com/jobs/~01ce8cc4db0296323e

Thanks for this @puneetlath. Applied.

All paid, thanks!


Show active Power Toys in left hand menu

Description of the new feature / enhancement
It would be good if there was an indicator in the left hand menu that showed if a specific Power Toy was active
Scenario when this would be used?
IAs a user I would like to know at glance whether a specific Power Toy is active
Supporting information
No response

/dup #26816


Updating links for all available tutorials

Signed-off-by: Vedant Shrotria<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR will update links for upcoming tutorials as they are available now.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Checklist:

[ ] Fixes #
[X] Signed the commit for DCO to be passed
[X] Labelled this PR & related issue with documentation tag

Not required now. Changes added here - https://github.com/litmuschaos/litmus-docs/pull/202


Documentation: RequestParser JSDocs

Hi @ivpavici, I am coming from https://github.com/starknet-io/starknet.js/issues/1090
I want to create the propertyOrder documentation. I created this issue to work this smaller PR.
Can you help me assign this issue to me? Thanks in advance, looking forward this.

Hi @LuisDi98 please can I be assigned to this issue?

Hi @LuisDi98 please can I be assigned to this issue?

Hi @ShantelPeters, nice to see you want to contribute, but this issue is created to be assigned to me if @ivpavici approves my apply from OnlyDust platform. It means this issue is made for myself just as @ivpavici requested in the original and bigger issue: https://github.com/starknet-io/starknet.js/issues/1090
Go check the description and the comments, so you can do the same and contribute with the sections of documentation that are still missing.

hi! Unfortunately, we no longer have a budget for external contributions currently... and this particular file has just one function to add the example, so we can cover it internally.
Thanks for reaching out though, if we get more funds I will open issues!


feat: add build process via rollup

Added a build process via Rollup, tagged the core version to alpha, moved the @atproto package to a dependency and tested the build process.
TODO:
will add the build process to the CI to check if builds are running through successfully.

Using https://github.com/privatenumber/pkgroll might help with the rollup config

Using https://github.com/privatenumber/pkgroll might help with the rollup config

Cool stuff. Will give it a shot.

rollpkg is awesome - used it! :)


Elective subjects bug

#118
Current behavior
Added password visibilty and off in signup and login pages

Proposed changes

Checks

[ ] All commits in this Pull Request are signed and Verified by Github.

You don't have to push .env on github, you can remove it.

You don't have to push .env on github, you can remove it.

You don't have to push .env on github, you can remove it.

sorry forgot to ignore it

You don't have to push .env on github, you can remove it.

done @Yash636261

u  haven't added labels? @Yash636261