Skip to content

v1.0.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@1j01 1j01 released this 11 Mar 18:46

Electron app features:

  • Cross-platform (macOS, Windows, Linux)
  • Native-like experience (no address bar, etc.)
  • File > Save will save directly to the file (rather than downloading a copy)
  • Files can be opened in various ways:
    • File > Open
    • Drag and drop onto window
    • Drag and drop onto dock icon on macOS
    • Drag and drop onto desktop shortcut
    • Right Click > Open With in file manager (macOS and Linux)
      • On Windows, you can set up a registry file to add this option... more or less. I've made it generate a registry file, but you have to manually apply it, and it only adds it to Show more options > Edit in Windows 11.
    • Command line: jspaint some/path/to/a/file.png
  • File > Set As Wallpaper (Tiled) and File > Set As Wallpaper (Centered)
  • On macOS, an icon representing the currently open file is shown in the titlebar. You can drag this icon into other applications, for example to include the image you're editing in an email. The icon is dimmed while there are unsaved changes.
Electron app limitations
  • Basics:
    • Execution is blocked by default on Mac and Windows
      • On macOS you need to Ctrl+click the file and then say Open
      • On Windows, you need to say "More info" and then "Run" (or "Run anyway"?)
      • I would need to pay a fee for code signing to avoid this. It's basically security by extortion.
    • There are no automatic updates. Apparently I would need to pay a fee for code signing to get this free service.
      • That said, Help > About Paint can tell you if JS Paint is out of date, at least in terms of news updates.
    • Electron is out of date. It may, for instance, contain image decoding vulnerabilities that have since been fixed. However, I've taken precautions to sandbox the app and restrict write access to a list of files explicitly opened in the app, the list being controlled by the main process, separate from the renderer process which would handle image decoding.
    • Only a single editor window can be opened at once.
    • The File menu's recent files list is not implemented, nor are OS-specific jump menus.
  • Minor details:
    • The Windows registry (.reg) file generated points to a specific version of the app "C:\Users\Isaiah\AppData\Local\jspaint\app-1.0.0\jspaint.exe" instead of "C:\Users\Isaiah\AppData\Local\jspaint\jspaint.exe"
      • I guess this wouldn't be a problem if it manages the registry on every update, but it's manual for now, so it will break on any update
    • A very confusing message is shown if you edit a document before clicking an Open link in the Manage Storage dialog.
    • WebGL error messages tell you to refresh without offering a way to reload; also, calling the app a web page feels unpolished
    • The File > Open dialog does not have an All Files (*.*) option, and the list of file types supported is not exhaustive; for example, AVIF images can be loaded but only by drag and drop
    • Drag and drop shows two "Save changes to X?" dialogs on top of each other?
  • I'm not sure if all of these are still issues, need to retest them: