summaryrefslogtreecommitdiff
path: root/Assistant/Threads/WebApp.hs
Commit message (Collapse)AuthorAge
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* fix LANGUAGE pragmaGravatar Joey Hess2014-10-09
|
* Support building with yesod 1.4.Gravatar Joey Hess2014-10-09
| | | | | | | | The new yesod needs the ViewPatterns extension. Also, a TH splice in Assistant/Threads/WebApp.hs failed to work without OverLoadedStrings. This commit was sponsored by Brock Spratlen.
* fix some mixed space+tab indentationGravatar Joey Hess2014-10-09
| | | | | | | | | This fixes all instances of " \t" in the code base. Most common case seems to be after a "where" line; probably vim copied the two space layout of that line. Done as a background task while listening to episode 2 of the Type Theory podcast.
* Fix build with wai 0.3.0.Gravatar Joey Hess2014-06-11
| | | | | | | | | | This version of wai changed the type of Middleware, so I cannot seem to liftIO inside it. So, got rid of a lot of not really needed complexity to use System.Log.Logger's logging stuff, and just use the standard wai stdout logger when debug logging is enabled. Format may change some, and it logs http to stdout instead of stderr now. Doesn't matter for the webapp since both go to the same log anyway.
* webapp: Use securemem for constant time auth token comparisons.Gravatar Joey Hess2014-03-12
| | | | | Debian stable does not have securemem, but neither does it have warp-tls, so just disable use of securemem when not building with https support.
* another old warp-tls workaroundGravatar Joey Hess2014-03-12
|
* annex.listen can be configured, instead of using --listenGravatar Joey Hess2014-03-01
|
* use https when .git/annex/privkey.pem and .git/annex/certificate.pem exist ↵Gravatar Joey Hess2014-02-28
| | | | | | | (untested) I have not managed to generate a key that is accepted by the old version of warp-tls I have here.
* assistant unused file handlingGravatar Joey Hess2014-01-22
| | | | | | | | | | | | | | | | | | | Make sanity checker run git annex unused daily, and queue up transfers of unused files to any remotes that will have them. The transfer retrying code works for us here, so eg when a backup disk remote is plugged in, any transfers to it are done. Once the unused files reach a remote, they'll be removed locally as unwanted. If the setup does not cause unused files to go to a remote, they'll pile up, and the sanity checker detects this using some heuristics that are pretty good -- 1000 unused files, or 10% of disk used by unused files, or more disk wasted by unused files than is left free. Once it detects this, it pops up an alert in the webapp, with a button to take action. TODO: Webapp UI to configure this, and also the ability to launch an immediate cleanup of all unused files. This commit was sponsored by Simon Michael.
* close tmp file handleGravatar Joey Hess2013-12-07
| | | | May fix permission problem on windows
* upgrade alertsGravatar Joey Hess2013-11-21
| | | | | | | | | | | | | | | | | | The webapp will check twice a day, when the network is connected, to see if it can download a distributon upgrade file. If a newer version is found, display an upgrade alert. This will need the autobuilders to set UPGRADE_LOCATION to the url it can be downloaded from when building git-annex. Only builds with that set need automatic upgrade alerts. Currently, the upgrade page just requests the user manually download and upgrade it. But, all the info is provided to do automated upgrades in the future. Note that urls used will need to all be https. This commit was sponsored by Dirk Kraft.
* webapp: Check annex.version.Gravatar Joey Hess2013-11-17
|
* add git fsck to cronner, and UI for repository repair (not yet wired up)Gravatar Joey Hess2013-10-22
|
* add config page for fsck, and alert with button when a fsck is runningGravatar Joey Hess2013-10-10
|
* assistant: Detect stale git lock files at startup time, and remove them.Gravatar Joey Hess2013-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Extends the index.lock handling to other git lock files. I surveyed all lock files used by git, and found more than I expected. All are handled the same in git; it leaves them open while doing the operation, possibly writing the new file content to the lock file, and then closes them when done. The gc.pid file is excluded because it won't affect the normal operation of the assistant, and waiting for a gc to finish on startup wouldn't be good. All threads except the webapp thread wait on the new startup sanity checker thread to complete, so they won't try to do things with git that fail due to stale lock files. The webapp thread mostly avoids doing that kind of thing itself. A few configurators might fail on lock files, but only if the user is explicitly trying to run them. The webapp needs to start immediately when the user has opened it, even if there are stale lock files. Arranging for the threads to wait on the startup sanity checker was a bit of a bear. Have to get all the NotificationHandles set up before the startup sanity checker runs, or they won't see its signal. Perhaps the NotificationBroadcaster is not the best interface to have used for this. Oh well, it works. This commit was sponsored by Michael Jakl
* Android: Make the "Open webapp" menu item open the just created repository ↵Gravatar Joey Hess2013-06-10
| | | | when a new repo is made.
* remove unnecessary haskell extensionsGravatar Joey Hess2013-06-04
|
* rename moduleGravatar Joey Hess2013-05-12
|
* --listen is not supported on AndroidGravatar Joey Hess2013-05-02
|
* Internet Archive!Gravatar Joey Hess2013-04-25
| | | | | | | * Add public repository group. * webapp: Can now set up Internet Archive repositories. TODO: Enabling IA repositories.
* fix warningGravatar Joey Hess2013-04-20
|
* refactor static route definition -- android webapp build fixGravatar Joey Hess2013-04-17
| | | | | | Incidentially should work around the last problem that prevented the webapp building on Android. (Except for a few places I need to clean up after hand-fixing the spliced TH code.)
* 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.
* webapp: Added UI to delete repositories. Closes: #689847Gravatar Joey Hess2013-03-31
|
* no longer need webapp state storage! excellentGravatar Joey Hess2013-03-15
|
* gratuitous rename HomeR -> DashboardRGravatar Joey Hess2013-03-12
|
* split repolist out of configuration, into its own tab (temporarily)Gravatar Joey Hess2013-03-12
|
* 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
|
* webapp: Use IP address, rather than localhostGravatar Joey Hess2013-01-09
| | | | | | | | | since some systems may have configuration problems or other issues that prevent web browsers from connecting to the right localhost IP for the webapp. Tested on both ipv4 and ipv6 localhost. Url for the latter looks like: http://[::1]:50676
* restart UIGravatar Joey Hess2013-01-03
| | | | | Browser behavior is not ideal; a new tab is opened on restart. Browsers won't let me redirect to a file:// so I cannot use the old tab.
* webapp: Add UI to stop assistant.Gravatar Joey Hess2013-01-03
| | | | | | | Would like to also have restart UI, but that's rather harder to do, seems it'd need to start another copy of the webapp, and redirect the browser to its new url, but running two assistants in the same repo at the same time isn't good.
* allow building webapp w/o webdavGravatar Joey Hess2012-11-25
|
* webapp and assistant glacier supportGravatar Joey Hess2012-11-24
|
* webapp: support box.comGravatar Joey Hess2012-11-17
|
* moved ThreadedMonad to TypesGravatar Joey Hess2012-10-29
|
* tweakGravatar Joey Hess2012-10-29
|
* Assistant monad, stage 2.5Gravatar Joey Hess2012-10-29
| | | | | | | | | | Converted several threads to run in the monad. Added a lot of useful combinators for working with the monad. Now the monad includes the name of the thread. Some debugging messages are disabled pending converting other threads.
* 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
|
* XMPP configuration formGravatar Joey Hess2012-10-26
| | | | | | Currently relies on SRV being set, or the JID's hostname being the server hostname and the port being default. Future work: Allow manual configuration of user name, hostname, and port.
* import S3 only when enabledGravatar Nicolas Pouillard2012-10-18
|
* add "configure" link to each repository in the webapp's repo listGravatar Joey Hess2012-10-09
|
* add a configurator for S3Gravatar Joey Hess2012-09-26
|
* make other repositories list list all autostarted reposGravatar Joey Hess2012-09-18
| | | | And add a form to add another, unrelated repository
* hlintGravatar Joey Hess2012-09-13
|
* render webapp staitc file url using yesodGravatar Joey Hess2012-09-08
|
* 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.