question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Web: Mobile Safari support

See original GitHub issue

This is a meta issue for our Safari (on iOS/iPadOS) support (issue list) and this can be used to track the limitations and gaps we see today on mobile / touch screens.

updated Oct 2020.

To enable users to use the Web UI in Safari on iOS for some basic work, we need to fix the following blocking issues

Blockers

Bugs


With above items finished, users can use the Web UI for basic tasks if they us an external keyboard and mouse. However if you are not using an external keyboard with Escape and Function keys, or a mouse/pointer device, you can easily find the Web UI difficult to use and you can’t be as productive as on the desktop. Major blockers are:

  • Escape. Escape key is the major key for hiding UI elements in the workbench. For native elements, iOS may know how to map Ctrl+[ to behave the same as Escape, however for our keybinding service, we always check keyboard event, which doesn’t understand Ctrl+[ at all.
    • To mimic the native smart keyboard experience, we can build a Keymap extension, which remaps Ctrl+[ to commands which used to be triggered by Escape.
  • Function keys. Without Fn keys, quite a lot of our core features are not highly accessible: Command Palette (F1), Rename (F2), Next Match (F3), Next Reference (F4), Debug (F5, F9, F10, F11), Next Problem (F8), Go to Definition/Impl (F12), etc.
  • Hover is missing. Definition/Implementation hovers in editor, View title bar actions, List View quick actions, etc rely on Hover events triggered from mouse move. They are hidden by default and only visible and actionable when hover happens (or sometimes even worse, hover with keyboard shortcuts). On a touch screen, these features are not accessible.
  • Debug
    • window.open only works if it’s triggered from user click and synchronous. For debugging VS Code extension in the Web, it’s silently broken as the window will not be opened without any error message.
  • Most UI elements are small. This is exacerbated by even the smallest mouse cursor being a rather large circle.
    • Button/Checkbox/ActionbarItem are 10-20 px wide. It requires users to be very precise while acting on them.
    • Default list view height is small and not customizable.
    • Editor gutter consists of glyph area (we put breakpoints on it), line number and margin (we put folding icon on it) and users can easily mis-click/touch anyone of them.
    • Sashes are thin and no indicator for clicking or dragging

Issue Analytics

  • State:open
  • Created 4 years ago
  • Reactions:21
  • Comments:13 (7 by maintainers)

github_iconTop GitHub Comments

3reactions
kieferrmcommented, May 8, 2020

The following comes from a short test-run with @rebornix of GH Codespaces in Safari on iPad. Some of the issues are caused by the VS Code WebUI being embedded in an iframe. This will change in the near future as we’ll move out of iFrame.

IFrame issues

  1. The workbench is too big; the workbench resizes according to the size of the container which currently is the iframe, however once we are out of the iframe it seems we won’t be able to get the minimized browser chrome or we size the workbench by the amount the minimized browser chrome is smaller than the regular one.
  2. When switching apps and coming back to the browser tab that contains the codespace then the editor appears as having focus but does not receive any keyboard events.

Other issues

  1. When switching apps and coming back to the browser tab that contains the codespace, the codespace needs to reconnect.
  2. Scrolling inside the editor or any view neither works vertically nor horizontally, all scroll events are going to the browser.
  3. When having my sidebar on the left, I cannot grap the editor scrollbar on the right because it’s covered by the native scrollbar.
  4. When having my sidebar on the right, trying to grab the scrollbar thumb with the mouse is hard. When I place the mouse in the middle of the scrollbar width then I grab the sash. The mouse pointer needs to be only halfway over the scrollbar.
  5. When working with the magic keyboard, every time the editor has focus the screen keyboard affordance comes up. Is there any way to avoid this from happening?
  6. We’re using the native menus for dropdowns such as Terminal or Debugging.
  7. Only native Copy&Paste works which loses formatting information (and is non-trivial visually “read”). I also have to unbind the keyboard shortcuts to make that work with the keyboard.

Polish

  1. We should think about mimicking the native controls. I.e. the mouse pointer disappears in favor of a highlighted element.
2reactions
kieferrmcommented, Oct 14, 2020
Read more comments on GitHub >

github_iconTop Results From Across the Web

Browse the web using Safari on iPhone - Apple Support
Browse the web using Safari on iPhone. In the Safari app , you can browse the web, view websites, preview website links, translate...
Read more >
"Mobile" | Can I use... Support tables for HTML5, CSS3, etc
"Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.
Read more >
Lightning Experience and Classic UI full site in mobile browsers
If you encounter any issues or questions with using Safari on iPadOS to access Lightning Experience (desktop UI) please contact Support. These will...
Read more >
Cross Browser Compatibility of Web Workers in Safari 14
Web Workers is Fully Supported on Safari 14, which means that any user who'd be accessing your page through Safari 14 can see...
Read more >
Enabling Third-Party Cookies for Mobile Safari - YuJa Support
Scroll down and select Safari from the left navigation menu. Under Security & Privacy, disable both “Block All Cookies” and “Prevent Cross-Site ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found