Closed kbecciv closed 1 year ago
ok, Please report it on Slack then. But it is very likely that both of those will be fixed with single solution.
@parasharrajat is this bug about the blue highlight(blue border-color
) on text input after the message is sent ? I still dont understand the bug. It is on all platforms. Please help me understand the bug.
It must be clear from the above discussion. But yeah the issue is that the blue highlighted color is left on the composer after the message is sent.
This affects Mweb. There is another issue with iOS but also it remains in text input with the auto-correct word in iOS (app) https://github.com/Expensify/App/issues/8592#issuecomment-1152926071
Making it Monthly so we cap the price of this issue https://expensify.slack.com/archives/C01SKUP7QR0/p1653671315618679 @arielgreen
Root Cause
mouseDown Event
Safari Mobile
The following changes: only in index.js (web) https://github.com/Expensify/App/blob/84f6bbe72702621e85f172a3e2e168728ab4f1e5/src/components/Composer/index.js#L123-130
From
this.state = {
numberOfLines: 1,
selection: {
start: initialValue.length,
end: initialValue.length,
},
};
To
this.state = {
numberOfLines: 1,
selection: {
start: initialValue.length,
end: initialValue.length,
},
keyUpdate: false,
};
From
if (!prevProps.shouldClear && this.props.shouldClear) {
this.textInput.clear();
// eslint-disable-next-line react/no-did-update-set-state
this.setState({numberOfLines: 1});
this.props.onClear();
}
To
if (!prevProps.shouldClear && this.props.shouldClear) {
// eslint-disable-next-line react/no-did-update-set-state
this.setState({
numberOfLines: 1,
// eslint-disable-next-line react/no-access-state-in-setstate
keyUpdate: !this.state.keyUpdate, // key is updated only when we textinput has shouldClear true
}, () => {
this.textInput.clear();
this.props.onClear();
});
}
From
<RNTextInput
autoComplete="off"
placeholderTextColor={themeColors.placeholderText}
ref={el => this.textInput = el}
selection={this.state.selection}
onChange={() => {
this.updateNumberOfLines();
}}
onSelectionChange={this.onSelectionChange}
numberOfLines={this.state.numberOfLines}
style={propStyles}
/* eslint-disable-next-line react/jsx-props-no-spreading */
{...propsWithoutStyles}
disabled={this.props.isDisabled}
/>
To
<RNTextInput
key={this.state.keyUpdate} // key updated only when textinput has shouldClear true
autoComplete="off"
placeholderTextColor={themeColors.placeholderText}
ref={el => this.textInput = el}
selection={this.state.selection}
onChange={() => {
this.updateNumberOfLines();
}}
onSelectionChange={this.onSelectionChange}
numberOfLines={this.state.numberOfLines}
style={propStyles}
/* eslint-disable-next-line react/jsx-props-no-spreading */
{...propsWithoutStyles}
disabled={this.props.isDisabled}
/>
iOS app
https://github.com/Expensify/App/issues/8592#issuecomment-1152926071 is doable but https://github.com/Expensify/App/issues/8592#issuecomment-1168985203 will be least preferable. Remounting is not a fix but rather a workaround. It is expensive. It could cause other issues.
Let's wait to see if others have better ideas. Will revise this in a few days.
We can always explore different solutions to keep the focus on text input instead of mousedown.
yup agreed have tried a lot of different ways to solve this issue, and this solution only fits best in given conditions from my side, sure let's wait for better ideas
Reposted, the Upwork job automatically closed. https://www.upwork.com/jobs/~0141f966437b7764e6
@parasharrajat how about we add a fix with this proposal https://github.com/Expensify/App/issues/8592#issuecomment-1152926071 which will solve 2 issues
blue opacity for iOS (app) (for safari its issue for a long time and yet we have no fix from apple this is the only reference I can find https://stackoverflow.com/questions/18689842/clearing-input-element-in-mobile-safari-with-javascript-does-not-clear-the-ios-a)
If we add a typo in text input it will send a message and remain in text input with auto correct value https://github.com/Expensify/App/issues/10291
note: Edited the correct issue link
I will discuss this @dhairyasenjaliya.
⚠️ Looks like this issue was linked to a possible regression on PRODUCTION here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a production regression has occurred a Root Cause Analysis is required. Please follow the instructions here.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
Ok, based on the discussion, we decided to break this into two issues. One for iOS and the second for mWeb Safari. Further details will be coming shortly...
Note: this issue was completely focused on safari mWeb since the start.
cc: @MonilBhavsar
alright, will wait for additional details :)
⚠️ Looks like this issue was linked to a possible regression on PRODUCTION here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a production regression has occurred a Root Cause Analysis is required. Please follow the instructions here.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a possible regression on PRODUCTION here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a production regression has occurred a Root Cause Analysis is required. Please follow the instructions here.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
@parasharrajat per this comment, what's the status here?
@arielgreen, we're still discussing the issue
Per an internal discussion about monthly labels, bumped back to weekly so we can try to get this fixed soon.
@MonilBhavsar are next best steps to
Create a new issue/job focused on iOS. If so, what should the starting price be for that job
we are already fixing this in some other issue. PR is merged to the best of my knowledge.
Thanks @parasharrajat, I'll wait for @MonilBhavsar to chime in about next steps too, I'm unsure what we can/should do here.
Am I eligible to get compensation here? As I have added an initial proposal for solving the iOS blue opacity here https://github.com/Expensify/App/issues/8592#issuecomment-1152926071 which eventually gets resolved recently into my another PR which is to solve auto-correct word iOS app issue as mentioned here https://github.com/Expensify/App/issues/8592#issuecomment-1200671587
As this issue not only focuses on safari mWeb here at the start issue is updated with the iOS app as well https://github.com/Expensify/App/issues/8592#issuecomment-1105019343
I have also added more insight and found the exact root cause here (for safari) https://github.com/Expensify/App/issues/8592#issuecomment-1168985203
I'm still a bit confused here so bear with me....
hm @mallenexpensify actually when I started working on this issue, it was affecting both the iOS app and safari then I added a proposal for the iOS app-specific fix here on 11th June https://github.com/Expensify/App/issues/8592#issuecomment-1152926071 but somehow it gets to hold for internal discussion and then one more issue for auto-correct text got issued in git with the same proposal it gets fixed which I posted on 11th June we have added in the latest PR on 19th august
So here my initial proposal got over-ridden with the new issue which I have fixed eventually for this issue
Just a note to add.
app-specific fix here on 11th June https://github.com/Expensify/App/issues/8592#issuecomment-1152926071 but somehow it gets to hold for internal discussion
https://github.com/Expensify/App/issues/8592#issuecomment-1157915558 I replied that we are mainly focusing on mWeb on this issue. Later on, you made a couple of proposals...then after this https://github.com/Expensify/App/issues/8592#issuecomment-1200671587 suggestion, we stopped for internal discussion.
@parasharrajat here as we can see the title is updated to iOS on 21st April (for both app and mobile safari) https://github.com/Expensify/App/issues/8592#issuecomment-1105019343, on 16th June you mentioned issue only specific to mWeb https://github.com/Expensify/App/issues/8592#issuecomment-1157915558 perhaps you might miss out the issue was already updated for both platform
⚠️ Looks like this issue was linked to a possible regression on PRODUCTION here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a production regression has occurred a Root Cause Analysis is required. Please follow the instructions here.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a possible regression on PRODUCTION here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a production regression has occurred a Root Cause Analysis is required. Please follow the instructions here.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
@dhairyasenjaliya can you confirm whether you will be submitting a separate proposal for this issue?
@arielgreen currently I have no separate proposal for this issue, I have added a solution just for the iOS app and did try to solve it for safari as well but no luck, so currently this is open to all contributors
Issue not reproducible during KI retests. (First week)
Hmm, I can still see the issue. @mvtglobally could you check and confirm. Thank you! https://user-images.githubusercontent.com/32012005/192542465-90f93b5d-7a26-4f4c-9c54-130ceda7fe4b.MOV
⚠️ Looks like this issue was linked to a possible regression on PRODUCTION here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a production regression has occurred a Root Cause Analysis is required. Please follow the instructions here.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
Issue not reproducible during KI retests. (Second week)
@arielgreen @MonilBhavsar
Not sure if we are missing any steps
Yeah, Please test it on Safari Mweb. In videos, you are testing it on iOS.
Retested this on Safari mWeb, iOS 16.0 -- no longer reproducible.
I'm able to reproduce this. @arielgreen Did you have "autocorrection" setting toggled on?
@MonilBhavsar yes I do. Are you on iOS 16?
Waiting on confirmation
Yes, I'm on iOS 16 too
Thanks Monil. Confirmed I can reproduce too.
Reposted here with an increased price: https://www.upwork.com/jobs/~01a221ac893d2d0e6f
It seems like this is either related to state management or input field value or css, I just want you guide me about file directory and then I will give you a detailed brief.
@parasharrajat, @MonilBhavsar, @arielgreen Whoops! This issue is 2 days overdue. Let's get this updated quick!
@parasharrajat, @MonilBhavsar, @arielgreen Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
@Dev-Abdul-Aleem you can find the code around compose box in this file https://github.com/Expensify/App/blob/main/src/pages/home/report/ReportActionCompose.js You can find more instruction about app's directory structure and architecture here - https://github.com/Expensify/App#app-structure-and-conventions If you have any questions, feel free to ask in #expensify-open-source slack channel.
@MonilBhavsar heads up we are now keeping E/App issues as daily
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
In iOS Settings, Go to General > Keyboard and enable autocorrection
Expected Result:
Compose box should be cleared and empty blue selection shouldn't persist.
Actual Result:
Blue text selection still exist.
Workaround:
Unknown
Platform:
Where is this issue occurring?
Version Number: 1.1.92.0 (Matt A retested 8/26/22)
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): n/a
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/162746866-ab9925a0-99c9-4f8f-b63b-2c0601647649.mp4
https://user-images.githubusercontent.com/93399543/162746890-ad84201d-c88b-4bba-9ae4-7d2210b4f1ef.mp4
Expensify/Expensify Issue URL:
Issue reported by: @metehanozyurt
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1648452635209129
View all open jobs on GitHub