Proposal: Don't use ipm to download plugins to the app


#1

After playing around with the app at my various devices and platforms (linux, android, windows 7 corporate lock-in, windows 10), i made some observations.

I think the ipm package manager should be replaced by a generic download mechanism that doesn’t need to rely on git for file download. For plugin management you don’t use git version control or push mechanisms anyway. But implementing a generic mechanism that grabs fresh data from a git repo and puts it into appropriate folders doesn’t sound too hard for me. The download-git-repo npm package is probably spot on.

I’m not proposing to remove ipm entirely, it works just fine and is a valuable tool for plugin development (and probably other development as well, what do I know). But the majority of users aren’t developing plugins.

Pro:

  • Generic plugin manager that works for ALL platforms, including android and ios.
  • Hassle - free plugin download at windows (no messing around with ´%PATH%´, which you may not have permission to do).

Con / risks

  • Work, cost of development, testing +++
  • Risk of introducing bugs? Particular at mobile?
  • Not all plugins will work or make sense at ios, android?

#2

Hi Jan,

Thank you for the suggestion and I’m glad to know you are enjoying it.

ipm is built based on Atom Editor’s apm.
ipm needs git only if a plugin depends on a package hosted only on git repos, like math plugin whose dependency on react-katex is not published on npm because it has private patches:

ipm basically downloads dependencies through npm which doesn’t require git.
So the problem depends on a plugin.

But in the case of math plugin, it could be resolved by publishing react-katex to npm as a different package.

GUI for plugin installation would be definitely great. I would like to support it in the future, just like Atom editor.

Plugin support for mobile platforms has some problems where Apple won’t allow it based on their guidelines.
Besides, current plugin system relies on NodeJS, so it needs a different plugin system for the mobile app.

I understand your itches.
However plugin system is very complex and requires a lot of work.
Please let me work on them little by little.

Thanks again for letting me know your thoughts!


#3

Obviously things are much more complex than I anticipated or you would have implemented it already! Thanks for sharing those challenges, I just learned something new.