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

Tracking issue for Drawpile in the browser #1175

Open
28 of 36 tasks
askmeaboutlo0m opened this issue Jan 10, 2024 · 0 comments
Open
28 of 36 tasks

Tracking issue for Drawpile in the browser #1175

askmeaboutlo0m opened this issue Jan 10, 2024 · 0 comments
Assignees
Labels
feature New features or improvements to existing ones web Web-browser-specific issue

Comments

@askmeaboutlo0m
Copy link
Member

askmeaboutlo0m commented Jan 10, 2024

This issue is for tracking the development and testing progress of the web browser version of Drawpile. Feel free to comment on it if you have questions or found a bug in the browser version.

Progress

  • Make Drawpile run in the browser.
  • Add a "front page" to the client that tells the user they're using a development version, what the known issues are and how to report problems.
  • Add some kind of update checking so that it's clear when the client is outdated.
  • Roll the client out to drawpile.net.
  • Make the invite page on drawpile.net offer to join through the browser if the server allows it.
  • Grab some server owners that want to get in on the action and set up their servers with them. Update the appropriate scripts or Docker stuff or whatever along the way.
  • Document how server owners can get in on the action once the above stuff is updated.
  • Provide a pre-built client and document how server owners can set it up, along with a list of caveats of all the stuff they have to pay attention to, how to keep the client updated etc.
  • Discuss how the official community servers are going to deal with the browser version.
  • Roll out whatever is needed to have some closed testing on the official community servers.
  • Make the standalone page work as a PWA.
  • Figure out more steps from here.

Known Issues

  • Some file saving is not implemented, such as for event recording. It just saves it to the emulated file system, but doesn't offer downloading the file.
  • External authentication doesn't integrate with the browser, forcing you to log in manually every time.
  • Several settings, such as avatars and brush presets, don't get saved.
  • Settings like the interface mode are really annoying to change because you have to refresh the page to apply them, which some broken browsers (Safari) don't handle properly and require restarting the entire thing to get them to free leaked memory.
  • Translations don't work.
  • Zooming out the page causes Qt to try and scale the UI to values smaller than 100%, which isn't supported so everything breaks.
  • Held-down keys get stuck when unfocusing the page, requiring pressing them again to get them unstuck.
  • Pen eraser tip is not detected.
  • Windows: double-tapping causes the handwriting panel to pop up.
  • Firefox: Ctrl+Z gets captured by the browser as the "reset zoom" shortcut.
  • Android: Keyboard switches to capitals after every letter typed.
  • iOS: The page can sometimes be scrolled down, which just reveals a white void underneath. That the page is set to not be scrollable is ignored by Safari.
  • iOS: Double-tapping sometimes zooms into that part of the page, which then can't be zoomed out again. That the page is set to not be zoomable is ignored by Safari.
  • iOS: A piece of nonexistent text in the top-left corner gets selected and flickers around annoyingly.
  • iOS: Touch interactions break after some use.
  • iOS: Touching the screen in a way that Safari recognizes as a gesture ends up refreshing the page or going back to the previous page.
  • iOS: The Apple Pen has ridiculously weak pressure, Drawpile should adjust for it automatically.
  • Windows: OpenGL canvas causes docks to go black.
  • Add fonts so that languages with non-Latin script can work.
  • Upgrade to Qt 6.7.0 and see if it fixes or breaks anything.
  • If the above doesn't fix it, try the patch from https://bugreports.qt.io/browse/QTBUG-107139 to see if it fixes Chinese input.
  • Clicking dialog title bars at the spot where the maximize button would be will maximize them even when there's no button there.
  • Browse dialog doesn't mark non-web-enabled sessions as unjoinable.
  • Browse dialog doesn't let you connect to any sessions because it tries to join the TCP URL instead of the WebSocket one.
@askmeaboutlo0m askmeaboutlo0m added the feature New features or improvements to existing ones label Jan 10, 2024
@askmeaboutlo0m askmeaboutlo0m self-assigned this Jan 10, 2024
@askmeaboutlo0m askmeaboutlo0m pinned this issue Jan 10, 2024
@askmeaboutlo0m askmeaboutlo0m added the web Web-browser-specific issue label Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New features or improvements to existing ones web Web-browser-specific issue
Projects
None yet
Development

No branches or pull requests

1 participant