Skip to content
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

Regression when hitting enter to submit when uploading files. #8962

Open
ara4n opened this issue Feb 26, 2019 · 6 comments
Open

Regression when hitting enter to submit when uploading files. #8962

ara4n opened this issue Feb 26, 2019 · 6 comments
Labels
A-File-Upload Attachments and file uploads A-Media P2 S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect

Comments

@ara4n
Copy link
Member

ara4n commented Feb 26, 2019

We have a really weird annoying regression that appeared about 3-4 months ago which I hoped would magically disappear but hasn't: when I click the upload button to upload files in a room, it brings up the file selector dialog. if i immediately hit enter to select the file i want to send, it cancels the dialog(?)... and then unexpectedly brings up the file open dialog again. it's as if the focus is still stuck on the upload button when I hit enter, and it's very annoying.

This is on latest Chrome on macOS Mojave. I assume the solution is probably to explicitly defocus the upload button as soon as it's pressed or something stupid.

@turt2live
Copy link
Member

Can't reproduce on Chrome/Windows 10. It all seems to behave for me (even returning focus to the composer when it is all said and done, which is something I expected to be a bug)

@ara4n
Copy link
Member Author

ara4n commented Feb 26, 2019

n.b. you have to immediatly hit enter to select the file to be sent, and it's quite hard to repo on macOS too. honestly, i wonder if what's happening is that there's a race between hitting enter to select the first thing in the dialog and the dialog even appearing. Which makes sense, as I know the dialog will default to the most recent thing on my desktop, which will typically be the file i want to upload (e.g. a screenshot).

the soln is still going to be to explicitly defocus the upload button as soon as it's clicked, i think, so that if you then immediately hit enter, it doesn't go and click said button again.

@turt2live
Copy link
Member

ah, I can repro it if I mash the enter button twice to select a file. The race does sound like the right thing that is happening.

@lampholder
Copy link
Member

Huh, I can't repro this at all on firefox or chrome on mojave.

Nothing seems to be automatically-selected on my file picker - not the most recent file on the desktop (even if I don't try mashing any buttons quickly to reproduce this error) or the cancel button.

@lampholder lampholder added T-Defect P2 S-Minor Impairs non-critical functionality or suitable workarounds exist ui/ux A-Media labels Feb 27, 2019
@lampholder
Copy link
Member

@ara4n I've P2 Minor'ed this since it doesn't feel like something that's going to be affecting a lot of people, but do feel free to bump it up.

@aaronraimist aaronraimist added the A-File-Upload Attachments and file uploads label Jan 21, 2020
@jryans jryans removed the Z-UI/UX label Mar 9, 2021
su-ex added a commit to SchildiChat/element-web that referenced this issue Aug 1, 2022
* Enable URL tooltips on hover for Element Desktop ([\element-hq#22286](element-hq#22286)). Fixes undefined/element-web#6532.
* Hide screenshare button in video rooms on Desktop ([\element-hq#9045](matrix-org/matrix-react-sdk#9045)).
* Add a developer command to reset Megolm and Olm sessions ([\element-hq#9044](matrix-org/matrix-react-sdk#9044)).
* add spaces to TileErrorBoundary ([\element-hq#9012](matrix-org/matrix-react-sdk#9012)). Contributed by @HarHarLinks.
* Location sharing - add localised strings to map ([\element-hq#9025](matrix-org/matrix-react-sdk#9025)). Fixes element-hq#21443. Contributed by @kerryarchibald.
* Added trim to ignore whitespaces in email check ([\#9027](matrix-org/matrix-react-sdk#9027)). Contributed by @ankur12-1610.
* Improve _GenericEventListSummary.scss ([\element-hq#9005](matrix-org/matrix-react-sdk#9005)). Contributed by @luixxiul.
* Live location share - tiles without tile server (PSG-591) ([\element-hq#8962](matrix-org/matrix-react-sdk#8962)). Contributed by @kerryarchibald.
* Add option to display tooltip on link hover ([\element-hq#8394](matrix-org/matrix-react-sdk#8394)). Fixes element-hq#21907.
* Support a module API surface for custom functionality ([\element-hq#8246](matrix-org/matrix-react-sdk#8246)).
* Adjust encryption copy when creating a video room ([\element-hq#8989](matrix-org/matrix-react-sdk#8989)). Fixes element-hq#22737.
* Add bidirectonal isolation for pills ([\element-hq#8985](matrix-org/matrix-react-sdk#8985)). Contributed by @sha-265.
* Delabs `Show current avatar and name for users in message history` ([\element-hq#8764](matrix-org/matrix-react-sdk#8764)). Fixes element-hq#22336.
* Live location share - open latest location in map site ([\element-hq#8981](matrix-org/matrix-react-sdk#8981)). Contributed by @kerryarchibald.
* Improve LinkPreviewWidget ([\element-hq#8881](matrix-org/matrix-react-sdk#8881)). Fixes element-hq#22634. Contributed by @luixxiul.
* Render HTML topics in rooms on space home ([\element-hq#8939](matrix-org/matrix-react-sdk#8939)).
* Hide timestamp on event tiles being edited on every layout ([\element-hq#8956](matrix-org/matrix-react-sdk#8956)). Contributed by @luixxiul.
* Introduce new copy icon ([\element-hq#8942](matrix-org/matrix-react-sdk#8942)).
* Allow finding group DMs by members in spotlight ([\element-hq#8922](matrix-org/matrix-react-sdk#8922)). Fixes element-hq#22564. Contributed by @justjanne.
* Live location share - explicitly stop beacons replaced beacons ([\element-hq#8933](matrix-org/matrix-react-sdk#8933)). Contributed by @kerryarchibald.
* Remove unpin from widget kebab menu ([\element-hq#8924](matrix-org/matrix-react-sdk#8924)).
* Live location share - redact related locations on beacon redaction ([\element-hq#8926](matrix-org/matrix-react-sdk#8926)). Contributed by @kerryarchibald.
* Live location share - disallow message pinning ([\element-hq#8928](matrix-org/matrix-react-sdk#8928)). Contributed by @kerryarchibald.
* Remove the ability to hide yourself in video rooms ([\element-hq#22806](element-hq#22806)). Fixes element-hq#22805.
* Unbreak in-app permalink tooltips  ([\element-hq#9100](matrix-org/matrix-react-sdk#9100)).
* Add space for the stroke on message editor on IRC layout ([\element-hq#9030](matrix-org/matrix-react-sdk#9030)). Fixes element-hq#22785. Contributed by @luixxiul.
* Fix pinned messages not re-linkifying on edit ([\element-hq#9042](matrix-org/matrix-react-sdk#9042)). Fixes element-hq#22726.
* Don't unnecessarily persist the host signup dialog ([\element-hq#9043](matrix-org/matrix-react-sdk#9043)). Fixes element-hq#22778.
* Fix URL previews causing messages to become unrenderable ([\element-hq#9028](matrix-org/matrix-react-sdk#9028)). Fixes element-hq#22766.
* Fix event list summaries including invalid events ([\element-hq#9041](matrix-org/matrix-react-sdk#9041)). Fixes element-hq#22790.
* Correct accessibility labels for unread rooms in spotlight ([\element-hq#9003](matrix-org/matrix-react-sdk#9003)). Contributed by @justjanne.
* Enable search strings highlight on bubble layout ([\element-hq#9032](matrix-org/matrix-react-sdk#9032)). Fixes element-hq#22786. Contributed by @luixxiul.
* Unbreak URL preview for formatted links with tooltips ([\element-hq#9022](matrix-org/matrix-react-sdk#9022)). Fixes element-hq#22764.
* Re-add margin to tiles based on EventTileBubble ([\element-hq#9015](matrix-org/matrix-react-sdk#9015)). Fixes element-hq#22772. Contributed by @luixxiul.
* Fix Shortcut prompt for Search showing in minimized Roomlist ([\element-hq#9014](matrix-org/matrix-react-sdk#9014)). Fixes element-hq#22739. Contributed by @justjanne.
* Fix avatar position on event info line for hidden events on a thread ([\element-hq#9019](matrix-org/matrix-react-sdk#9019)). Fixes element-hq#22777. Contributed by @luixxiul.
* Fix lost padding of event tile info line ([\element-hq#9009](matrix-org/matrix-react-sdk#9009)). Fixes element-hq#22754 and element-hq#22759. Contributed by @luixxiul.
* Align verification bubble with normal event tiles on IRC layout ([\element-hq#9001](matrix-org/matrix-react-sdk#9001)). Fixes element-hq#22758. Contributed by @luixxiul.
* Ensure timestamp on generic event list summary is not hidden from TimelineCard ([\element-hq#9000](matrix-org/matrix-react-sdk#9000)). Fixes element-hq#22755. Contributed by @luixxiul.
* Fix headings margin on security user settings tab ([\element-hq#8826](matrix-org/matrix-react-sdk#8826)). Contributed by @luixxiul.
* Fix timestamp position on file panel ([\element-hq#8976](matrix-org/matrix-react-sdk#8976)). Fixes element-hq#22718. Contributed by @luixxiul.
* Stop using :not() pseudo class for mx_GenericEventListSummary ([\element-hq#8944](matrix-org/matrix-react-sdk#8944)). Fixes element-hq#22602. Contributed by @luixxiul.
* Don't show the same user twice in Spotlight ([\element-hq#8978](matrix-org/matrix-react-sdk#8978)). Fixes element-hq#22697.
* Align the right edge of expand / collapse link buttons of generic event list summary in bubble layout with a variable ([\element-hq#8992](matrix-org/matrix-react-sdk#8992)). Fixes element-hq#22743. Contributed by @luixxiul.
* Display own avatars on search results panel in bubble layout ([\element-hq#8990](matrix-org/matrix-react-sdk#8990)). Contributed by @luixxiul.
* Fix text flow of thread summary content on threads list ([\element-hq#8991](matrix-org/matrix-react-sdk#8991)). Fixes element-hq#22738. Contributed by @luixxiul.
* Fix the size of the clickable area of images ([\element-hq#8987](matrix-org/matrix-react-sdk#8987)). Fixes element-hq#22282.
* Fix font size of MessageTimestamp on TimelineCard ([\element-hq#8950](matrix-org/matrix-react-sdk#8950)). Contributed by @luixxiul.
* Improve security room settings tab style rules ([\element-hq#8844](matrix-org/matrix-react-sdk#8844)). Fixes element-hq#22575. Contributed by @luixxiul.
* Align E2E icon and avatar of info tile in compact modern layout ([\element-hq#8965](matrix-org/matrix-react-sdk#8965)). Fixes element-hq#22652. Contributed by @luixxiul.
* Fix clickable area of general event list summary toggle ([\element-hq#8979](matrix-org/matrix-react-sdk#8979)). Fixes element-hq#22722. Contributed by @luixxiul.
* Fix resizing room topic ([\element-hq#8966](matrix-org/matrix-react-sdk#8966)). Fixes element-hq#22689.
* Dismiss the search dialogue when starting a DM ([\element-hq#8967](matrix-org/matrix-react-sdk#8967)). Fixes element-hq#22700.
* Fix "greyed out" text style inconsistency on search result panel ([\element-hq#8974](matrix-org/matrix-react-sdk#8974)). Contributed by @luixxiul.
* Add top padding to EventTilePreview loader ([\element-hq#8977](matrix-org/matrix-react-sdk#8977)). Fixes element-hq#22719. Contributed by @luixxiul.
* Fix read receipts group position on TimelineCard in compact modern/group layout ([\element-hq#8971](matrix-org/matrix-react-sdk#8971)). Fixes element-hq#22715. Contributed by @luixxiul.
* Fix calls on homeservers without the unstable thirdparty endpoints. ([\element-hq#8931](matrix-org/matrix-react-sdk#8931)). Fixes element-hq#21680. Contributed by @deepbluev7.
* Enable ReplyChain text to be expanded on IRC layout ([\element-hq#8959](matrix-org/matrix-react-sdk#8959)). Fixes element-hq#22709. Contributed by @luixxiul.
* Fix hidden timestamp on message edit history dialog ([\element-hq#8955](matrix-org/matrix-react-sdk#8955)). Fixes element-hq#22701. Contributed by @luixxiul.
* Enable ReplyChain text to be expanded on bubble layout ([\element-hq#8958](matrix-org/matrix-react-sdk#8958)). Fixes element-hq#22709. Contributed by @luixxiul.
* Fix expand/collapse state wrong in metaspaces ([\element-hq#8952](matrix-org/matrix-react-sdk#8952)). Fixes element-hq#22632.
* Location (live) share replies now provide a fallback content ([\element-hq#8949](matrix-org/matrix-react-sdk#8949)).
* Fix space settings not opening for script-created spaces ([\element-hq#8957](matrix-org/matrix-react-sdk#8957)). Fixes element-hq#22703.
* Respect `filename` field on `m.file` events ([\element-hq#8951](matrix-org/matrix-react-sdk#8951)).
* Fix PlatformSettingsHandler always returning true due to returning a Promise ([\element-hq#8954](matrix-org/matrix-react-sdk#8954)). Fixes element-hq#22616.
* Improve high-contrast support for spotlight ([\element-hq#8948](matrix-org/matrix-react-sdk#8948)). Fixes element-hq#22481. Contributed by @justjanne.
* Fix wrong assertions that all media events have a mimetype ([\element-hq#8946](matrix-org/matrix-react-sdk#8946)). Fixes matrix-org/element-web-rageshakes#13727.
* Make invite dialogue fixed height ([\element-hq#8934](matrix-org/matrix-react-sdk#8934)). Fixes element-hq#22659.
* Fix all megolm error reported as unknown ([\element-hq#8916](matrix-org/matrix-react-sdk#8916)).
* Remove line-height declarations from _ReplyTile.scss ([\element-hq#8932](matrix-org/matrix-react-sdk#8932)). Fixes element-hq#22687. Contributed by @luixxiul.
* Reduce video rooms log spam ([\element-hq#8913](matrix-org/matrix-react-sdk#8913)).
* Correct new search input’s rounded corners ([\element-hq#8921](matrix-org/matrix-react-sdk#8921)). Fixes element-hq#22576. Contributed by @justjanne.
* Align unread notification dot on threads list in compact modern=group layout ([\element-hq#8911](matrix-org/matrix-react-sdk#8911)). Fixes element-hq#22677. Contributed by @luixxiul.
@ara4n
Copy link
Member Author

ara4n commented Aug 31, 2023

i get bitten by this roughly every time I upload a file; it looks like this:

upload.bug.mov

The sequence is:

  • Hit the upload button
  • Immediately press the down-arrow key to select the most recent file (e.g. a screenshot you're sending from your desktop; the typical case for me)
  • Immediately press return to send that file
  • Return doesn't send the file though; instead it reopens the upload prompt. If you're lucky it might also try to send the original file too.
  • Find yourself in the upload dialog again; reselect the file; this time i'll work (but if you cancel it, it might still be trying to send the first file).

I think the fix is to debounce the file upload button, so the second the user presses the button, disable it for 500ms or whatever.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-File-Upload Attachments and file uploads A-Media P2 S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect
Projects
None yet
Development

No branches or pull requests

5 participants