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?