-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOLD for payment 2022-02-08] Chat - Unable to type next paragraph in message - Reported by: @Tushu17 #6767
Comments
Triggered auto assignment to @jasperhuangg ( |
Triggered auto assignment to @MitchExpensify ( |
Ohh wait I'm dumb, this isn't even an issue and is expected behavior. Use Closing this out. |
Hello @jasperhuangg , It's for mobile web on mobile web we can't add a new line because there is no shift key on mobile. |
Bump @jasperhuangg |
Should be good to work on by an external contributor |
@jasperhuangg I think you forgot to reopen this issue. |
Bump @jasperhuangg |
Ahh I finally understand what you mean @Tushu17 Next time it would be helpful to include a video recording with the issue to prevent confusion. Upload.from.GitHub.for.iOS.MOVI see that this behavior doesn't happen for native iOS (hitting return gives you a new line). Are we going to change the behavior of mobile web to match that of native platforms? |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Sounds like a plan. |
looking good. @roryabraham but I run the same code on expo snack it works in the same browser(updated chrome on mac and android ). I do the test from the console I think we need to update something to be able to use this API. isVirtualKeyboardOpen() {
if ('virtualkeyboard' in navigator) {
console.log('virtualkeyboard is supported!!');
const { x, y, width, height } = navigator.virtualKeyboard.boundingRect;
console.log('Virtual keyboard geometry:', x, y, width, height);
return y > 0;
}
return canUseTouchScreen();
} |
I test the console for https://new.expensify.com/ and it works |
It is |
yes, I do the test it without this condition (just write it for this on the comment.) that is the navigator object I get not have appCodeName: "Mozilla"
appName: "Netscape"
appVersion: "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
connection: NetworkInformation {onchange: null, effectiveType: '4g', rtt: 150, downlink: 3.3, saveData: false}
cookieEnabled: true
doNotTrack: null
geolocation: Geolocation {}
hardwareConcurrency: 12
ink: Ink {}
language: "en-GB"
languages: (5) ['en-GB', 'ar-EG', 'ar', 'en-US', 'en']
maxTouchPoints: 0
mediaCapabilities: MediaCapabilities {}
mediaSession: MediaSession {metadata: null, playbackState: 'none'}
mimeTypes: MimeTypeArray {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, length: 2}
onLine: true
pdfViewerEnabled: true
permissions: Permissions {}
platform: "MacIntel"
plugins: PluginArray {0: Plugin, 1: Plugin, 2: Plugin, 3: Plugin, 4: Plugin, PDF Viewer: Plugin, Chrome PDF Viewer: Plugin, Chromium PDF Viewer: Plugin, Microsoft Edge PDF Viewer: Plugin, WebKit built-in PDF: Plugin, …}
product: "Gecko"
productSub: "20030107"
scheduling: Scheduling {}
userActivation: UserActivation {hasBeenActive: true, isActive: true}
userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
vendor: "Google Inc."
vendorSub: ""
webdriver: false
webkitPersistentStorage: DeprecatedStorageQuota {}
webkitTemporaryStorage: DeprecatedStorageQuota {} maybe it's a local issue for me since, in your production, I can get |
Yeah, Firefox does not support this API yet. Global coverage is 66% |
It's chrome browser but idk why it's log Firefox!. Looklike i have local issue . But we can going with that solution . update : it's the default value .
https://user-agents.net/string/mozilla-5-0-macintosh-intel-mac-os-x-10-15-0-applewebkit-537-36-khtml-like-gecko-chrome-78-0-3904-97-safari-537-36 |
Okay, thanks for the updates here. @ahmdshrif Can you please write a single, cohesive proposal for this issue that I can evaluate before we move forward? |
@roryabraham yes that is my final one : - isVirtualKeyboardOpen() {
if ('virtualkeyboard' in navigator) {
const keybordPostion = navigator.virtualKeyboard.boundingRect.y;
return keybordPostion > 0;
}
return canUseTouchScreen();
} triggerHotkeyActions(e) {
if (!e || this.isVirtualKeyboardOpen()) {
return;
}
...
} in Constructor this.checkVirtualkeyboard = this.isVirtualkeyboardOpen.bind(this); |
@ahmdshrif This does not work.
Should run only on the web. |
I mean: - Native(android and ios) also has if (navigator && 'virtualkeyboard' in navigator) {
// this web app or Desktop with support `virtualKeyboard` . so we can track if keyboard Is on or of
const keybordPostion = navigator.virtualKeyboard.boundingRect.y;
return keybordPostion > 0; // keyboard is open if there position more than 0
} 2- if we are in the native or unsupported browser we will check if this device has a touch screen. // all native platform or web not support `virtualkeyboard`
return canUseTouchScreen(); In the end, as I explain here #6767 (comment) the current code is disable this behavior from the native platform with this way. so no need to add something like |
OK sounds good to me. cc: @roryabraham |
📣 @ahmdshrif You have been assigned to this job by @roryabraham! |
ok, I apply to Upwork. working on PR cc: @MitchExpensify |
Hired @ahmdshrif & @parasharrajat for eventual C+ payment! |
@MitchExpensify, can you hire me for reporting bonus. I have submitted the proposal but it's not showing up for some reason |
Offer sent @Tushu17 ! |
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.1.33-3 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2022-02-08. 🎊 |
hi, @MitchExpensify I get the submit request rejected last week. do we have an issue here? |
@ahmdshrif paid for the fix and contract ended (That "rejection" probably happened automatically for some reason e.g. the job closing automatically - All good now!) Closing! |
Ok thanks |
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:
Expected Result:
In app user is able to add multiple paragraphs to the message by hitting return
Actual Result:
User is unable to add multiple lines in messages. When hit return, message is sent
Workaround:
unknown
Platform:
Where is this issue occurring?
Version Number: 1.1.20-2
Reproducible in staging?: Y
Reproducible in production?: Y
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @Tushu17
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1639342107146300
View all open jobs on GitHub
The text was updated successfully, but these errors were encountered: