summaryrefslogtreecommitdiff
path: root/Command/WebApp.hs
Commit message (Collapse)AuthorAge
* fix inversion of control in CommandSeek (no behavior changes)Gravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've been disliking how the command seek actions were written for some time, with their inversion of control and ugly workarounds. The last straw to fix it was sync --content, which didn't fit the Annex [CommandStart] interface well at all. I have not yet made it take advantage of the changed interface though. The crucial change, and probably why I didn't do it this way from the beginning, is to make each CommandStart action be run with exceptions caught, and if it fails, increment a failure counter in annex state. So I finally remove the very first code I wrote for git-annex, which was before I had exception handling in the Annex monad, and so ran outside that monad, passing state explicitly as it ran each CommandStart action. This was a real slog from 1 to 5 am. Test suite passes. Memory usage is lower than before, sometimes by a couple of megabytes, and remains constant, even when running in a large repo, and even when repeatedly failing and incrementing the error counter. So no accidental laziness space leaks. Wall clock speed is identical, even in large repos. This commit was sponsored by an anonymous bitcoiner.
* make "git annex help options" work outside a git repoGravatar Joey Hess2013-11-30
| | | | | | Option parsing for commands that run outside git repos is still screwy, as there is no Annex monad and so the flags cannot be passed in. But, any remaining parameters can be, which is enough for this fix.
* webapp: Check annex.version.Gravatar Joey Hess2013-11-17
|
* assistant: When autostarted, wait 5 seconds before running the startup scan, ↵Gravatar Joey Hess2013-10-26
| | | | to avoid contending with the user's desktop login process.
* hlintGravatar Joey Hess2013-09-25
| | | | test suite still passes
* Android: Make the "Open webapp" menu item open the just created repository ↵Gravatar Joey Hess2013-06-10
| | | | when a new repo is made.
* squash warningGravatar Joey Hess2013-06-02
|
* Android: Work around Android devices where the `am` command doesn't work.Gravatar Joey Hess2013-05-31
|
* Revert "android dupped stderr workaround"Gravatar Joey Hess2013-05-30
| | | | | | This reverts commit 733a90bbd382683fa788aa6949f0fac11ba6504b. The stderr fd is also trashed after `am` fails to open the web browser.
* android dupped stderr workaroundGravatar Joey Hess2013-05-30
| | | | | | | | | | | | Avoid using dupped stderr, since http://git-annex.branchable.com/bugs/warning_-_WebApp_crashed:___60__file_descriptor_15__62__:_hPutStr:_illegal_operation___40__handle_is_closed__41___on_Android/#comment-a24c73803fb10bd35afdc10d50e071c8 seems to involve that handle not being dupped originally, or perhaps getting closed when the web browser is started on Android. Using the dupped stdout is known to work before starting the web browser, so it should work after -- unless perhaps starting it closes both handles. In any case, there's no real need to write to stderr here.
* Android: Added an "Open WebApp" item to the terminal's menu. Should work for ↵Gravatar Joey Hess2013-05-28
| | | | Android devices that cannot auto-open the webapp on start.
* use setCurrentDirectoryGravatar Joey Hess2013-05-11
| | | | On POSIX, this just calls changeWorkingDirectory.
* clean up from windows portingGravatar Joey Hess2013-05-11
|
* fix buildGravatar Joey Hess2013-05-02
|
* fix buildGravatar Joey Hess2013-05-02
|
* need cppGravatar Joey Hess2013-05-02
|
* cannot open file:// url on Android, so don't use the htmlshim thereGravatar Joey Hess2013-05-02
|
* Fix the URL not showing until the app closesGravatar Bruno Bigras2013-05-01
|
* rename moduleGravatar Joey Hess2013-04-23
|
* Detect systems that have no user name set in GECOS, and also don't have ↵Gravatar Joey Hess2013-04-22
| | | | user.name set in git config, and put in a workaround so that commits to the git-annex branch (and the assistant) will still succeed despite git not liking the system configuration.
* untested browser opening on AndroidGravatar Joey Hess2013-04-18
| | | | | I've found multiple references to using the `am` command from the adb shell to open a browser. So I assume it also works in a terminal emulator.
* webapp: New --listen= option allows running the webapp on one computer and ↵Gravatar Joey Hess2013-04-08
| | | | | | | connecting to it from another. Does not yet use HTTPS. I'd need to generate a certificate, and I'm not sure what's the best way to do that.
* clean up urlrenderer handling when the webapp is not builtGravatar Joey Hess2013-04-03
|
* add section metadata to all commandsGravatar Joey Hess2013-03-24
| | | | Not yet used .. mindless train work.
* webapp: New preferences page allows enabling/disabling debug logging at ↵Gravatar Joey Hess2013-03-03
| | | | runtime, as well as configuring numcopies and diskreserve.
* webapp: Now allows restarting any threads that crash.Gravatar Joey Hess2013-01-26
|
* use async to track and manage threadsGravatar Joey Hess2013-01-26
|
* webapp: Now always logs to .git/annex/daemon.logGravatar Joey Hess2013-01-15
| | | | | | | | It used to not log to daemon.log when a repository was first created, and when starting the webapp. Now both do. Redirecting stdout and stderr to the log is tricky when starting the webapp, because the web browser may want to communicate with the user. (Either a console web browser, or web.browser = echo) This is handled by restoring the original fds when running the browser.
* convert notBareRepo to a CommandCheckGravatar Joey Hess2012-12-29
| | | | | | This avoids some small overhead by only running the check once per command; it also ensures that, even if the command doesn't find anything to run on, it still fails to run when in a bare repo.
* whitespace fixesGravatar Joey Hess2012-12-13
|
* The standalone builds now unset their special path and library path ↵Gravatar Joey Hess2012-11-27
| | | | | | variables before running the system web browser. Should fix a crash reported on OSX.
* where indentationGravatar Joey Hess2012-11-12
|
* better handling of lifting from XMPP -> AssistantGravatar Joey Hess2012-11-05
|
* split remaining assistant typesGravatar Joey Hess2012-10-30
|
* split out daemonstatus typesGravatar Joey Hess2012-10-30
|
* Assistant monad, stage 1Gravatar Joey Hess2012-10-29
| | | | | This adds the Assistant monad, and an AssistantData structure. So far, none of the assistant's threads run in the monad yet.
* ensure that git-annex branch is pushed after a successful transferGravatar Joey Hess2012-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I now have this topology working: assistant ---> {bare repo, special remote} <--- assistant And, I think, also this one: +----------- bare repo --------+ v v assistant ---> special remote <--- assistant While before with assistant <---> assistant connections, both sides got location info updated after a transfer, in this topology, the bare repo *might* get its location info updated, but the other assistant has no way to know that it did. And a special remote doesn't record location info, so transfers to it won't propigate out location log changes at all. So, for these to work, after a transfer succeeds, the git-annex branch needs to be pushed. This is done by recording a synthetic commit has occurred, which lets the pusher handle pushing out the change (which will include actually committing any still journalled changes to the git-annex branch). Of course, this means rather a lot more syncing action than happened before. At least the pusher bundles together very close together pushes, somewhat. Currently it just waits 2 seconds between each push.
* (re)start XMPP when it's configured in the webappGravatar Joey Hess2012-10-27
|
* nub the autostart fileGravatar Joey Hess2012-10-14
| | | | | It's possible for the file to get duplicate lines in it, and if so, we want to ignore the dups.
* webapp: display message about starting web browserGravatar Joey Hess2012-10-11
| | | | | One reason to do this is that on OSX, it doesn't jump to the web browser when opening a new page. Linux seems ahead in usability here... :P
* better messageGravatar Joey Hess2012-10-11
|
* webapp: avoid infinite loop on startGravatar Joey Hess2012-10-11
| | | | | | | | | | | | If the autostart file lists a repository, for which a directory exists, but there's not actually a valid git repo in there, the web app used to try to use it, and see it wasn't valid, and then try to autostart again. The ensuing runaway loop also ate memory, although not as fast as I was led to belive was happening to someone on IRC yesterday. So that guy may have had a different problem. But this seems otherwise a reasonable fit for the circumstances described, if git-annex was started before something that occurred during desktop login that made the repository available.
* make the standalone OSX app automatically install itself when runGravatar Joey Hess2012-09-26
|
* avoid webapp crash on startup when there's no ~/.gitconfigGravatar Joey Hess2012-09-23
| | | | git config --list --global exits nonzero when there's no global config
* more descriptive name for oneshotGravatar Joey Hess2012-09-15
|
* hlintGravatar Joey Hess2012-09-13
|
* first pass at alert buttonsGravatar Joey Hess2012-09-08
| | | | | | | | | They work fine. But I had to go to a lot of trouble to get Yesod to render routes in a pure function. It may instead make more sense to have each alert have an assocated IO action, and a single route that runs the IO action of a given alert id. I just wish I'd realized that before the past several hours of struggling with something Yesod really doesn't want to allow.
* display errors when any named thread crashesGravatar Joey Hess2012-09-06
|
* implement resuming of paused transfersGravatar Joey Hess2012-08-12
| | | | | Currently waits for a new transfer slot to open up, which probably needs to change..
* make the webapp honor the web.browser git configGravatar Joey Hess2012-08-08
|