Mobile: Plugin support

I've tested several plugins with a recent version of Joplin (around this commit). I've listed the plugins that seem to work and the plugins that are broken below.

The most common issues seemed to be caused by lack of file system access for plugins on mobile.

Broken plugins

  • :crown: Backup
  • :crown: BibTeX
    • Requires filesystem access
    • Fails on startup when trying to require child_process (required by a dependency? Doesn't seem to be in the main codebase...)
  • Freehand drawing
    • Uses fs
  • :crown: Favorites
    • Seem to require toplevel menubar items to add tabs (there's no menubar on mobile)
  • :crown: Combine notes
    • Uses fs
    • UI is in the list of actions when selecting multiple notes, which hasn't been exposed to plugins yet.
  • :crown: Conflict resolution
    • UI for showing the conflict resolution window (right-click on a note) isn't exposed to plugins.
    • (Based on the codebase) Uses fs-extra
  • :crown: Hotfolder
    • Uses the file system
  • :crown: Templates
    • Uses the file system
  • :crown: Persistent editor layout
    • Mobile only has "editor" and "viewer" and doesn't expose commands for switching layouts to plugins.
  • :crown: Resource search
    • Requires filesystem access.
  • :crown: Table formatter plugin
    • Extends the right-click menu, which isn't available on mobile.
  • :crown: Note overview
    • Expects the global process variable to exist.
  • Better code blocks
    • No CodeMirror 6 support
  • Note list (Preview)
    • No note list API

Partially working plugins

  • :crown: Kanban
    • Missing newNote command, has trouble when no notes are selected
  • :crown: Note tabs
    • There doesn't seem to be a way to pin tabs (except by enabling the "pin on editing" setting)
    • There doesn't seem to be a way to close tabs
  • RevealJS slides
    • Printing doesn't work
    • Users need to click the "start slideshow" button, wait for the "switch to the note viewer" alert dialog, then switch to the note viewer to start a presentation.
  • Outline
    • Its scrollToLine command only works in CodeMirror 5 (so jump-to-heading doesn't work).

Mostly working plugins

  • History panel
    • Difficulty during setup — need to set a history note in advanced settings.
  • :crown: ABC Sheet Music
    • Has trouble with dark mode
  • :crown: Menu items, shortcuts, toolbar icons
    • Extra CodeMirror toolbar buttons work
  • :crown: Rich markdown
    • No alt key on many mobile devices to trigger the "show image on hover"
      • Works if "render images on their own line" is enabled.
    • No ctrl key to trigger ctrl-click behavior.
  • CodeMirror 6 settings
    • Logs an error when trying to update editor settings if no note is open (but otherwise seems to work).
  • Link Graph UI
    • Seems to have trouble when switching between notes (or no note selected). Otherwise, seems to work.
  • Spoilers
    • Shows an empty box, rather than an arrow, to the left of dropdowns rendered by the plugin. (This may be related to the fonts installed on my test device).

Working plugins

5 Likes

I have been able to get the spoilers plugin and the admonitions plugin to work on my android phone and tablet.

2 Likes

what about the calendar and agenda plugin on android.
this is very hard needed.