git-annex/doc/todo/remove_webapp.mdwn
Joey Hess 650d54a216
todo
2025-05-20 16:01:36 -04:00

43 lines
2.1 KiB
Markdown

I am considering removing the `git-annex webapp`. Your feedback is
appreciated if you still use it. --[[Joey]]
The assistant would be retained, so existing setups that were configured
with the webapp would keep working, although users of those would need to
replace any use of the webapp to control them with command-line use.
The webapp has been only minimally maintained for about 10 years. There
have been no new features, and while it amazingly continues to work, it
doesn't addess many of the changes in git-annex. For example, there's no
way to configure exporttree special remotes in the webapp.
I think the webapp is barely used by git-annex users. The point of it was
to make git-annex easy enough to set up to reach a larger user base. That
necessarily meant building something that aspired to be more like dropbox
than git. That never really happened. git-annex found its own user bases
that appreciate its actual strengths, and who have helped build it in the
directions where more and more people find it useful.
Keeping the webapp in git-annex has a price. It has a complex and
annoying dependency chain. (See [[ditch_yesod]].)
It uses template haskell, which makes build times slow, and makes
building use a lot more memory.
The webapp also has some security exposure that stock git-annex does not
have. Beyond the business of connecting to the webapp securely, the adhoc
network protocol used by the webapp's pairing interface is baked into the
assistant even when the webapp is not being used. And is not otherwise used
in git-annex, and has had at least one security issue in the past.
The git-annex binary also ends up significantly larger due to containing
the webapp. And removing it deletes 28 thousand lines of code from
git-annex, including embedded code copies of bootstrap and jquery.
----
The `removewebapp` branch has a working patch to remove the webapp.
Documentation that mentions the webapp, including doc/git-annex-webapp.mdwn
still would need to be updated.
Also annex.autoupgrade needs to be updated, one of the options was webapp
specific. Maybe upgrades are out of scope for the assistant too?