This commit is contained in:
Joey Hess 2025-05-20 16:01:36 -04:00
parent f96d20bd71
commit 650d54a216
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -0,0 +1,43 @@
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?