summaryrefslogtreecommitdiff
path: root/Assistant
Commit message (Collapse)AuthorAge
* avoid needing --force on windows despite no lsofGravatar Joey Hess2013-12-09
| | | | | Note that I still need to think this through and make sure handling of open files is safe. This is just for testing purposes.
* close tmp file handleGravatar Joey Hess2013-12-07
| | | | May fix permission problem on windows
* avoid trying to use lsof when it's not in path and --forcedGravatar Joey Hess2013-12-04
|
* avoid repeatedly searching path to make batch command when running transferkeysGravatar Joey Hess2013-12-01
|
* assistant: Run transferkeys as batch jobs.Gravatar Joey Hess2013-12-01
|
* Avoid using git commit in direct mode, since in some situations it will read ↵Gravatar Joey Hess2013-12-01
| | | | | | | | | | | | the full contents of files in the tree. The assistant's commit code also always avoids git commit, for simplicity. Indirect mode sync still does a git commit -a to catch unstaged changes. Note that this means that direct mode sync no longer runs the pre-commit hook or any other hooks git commit might call. The git annex pre-commit hook action for direct mode is however explicitly run. (The assistant already ran git commit with hooks disabled, so no change there.)
* merge improved fsck types from git-repair and some associated changesGravatar Joey Hess2013-11-30
|
* tested multi-daemon upgradeGravatar Joey Hess2013-11-24
|
* cleanup on failed upgradeGravatar Joey Hess2013-11-24
|
* show version in upgrade alertGravatar Joey Hess2013-11-24
|
* add support for fully automatic upgradesGravatar Joey Hess2013-11-24
| | | | | | | | | The Upgrader avoids checking for upgrades on startup when it was just upgraded. This avoids an upgrade loop if something goes wrong. One example of something going wrong would be if the upgrade info file and the distribution file get out of sync (or the distribution file is cached in a proxy), so it thinks it has upgraded to a new version, but has really not.
* linux upgrade code debugged and workingGravatar Joey Hess2013-11-24
|
* completely untested linux upgrade codeGravatar Joey Hess2013-11-23
|
* queue and start download of git-annex from web, using git-annex, when ↵Gravatar Joey Hess2013-11-23
| | | | upgrade is started
* global webapp redirects, to finish upgradesGravatar Joey Hess2013-11-23
| | | | | | | | | | | | | | | | | When an automatic upgrade completes, or when the user clicks on the upgrade button in one webapp, but also has it open in another browser window/tab, we have a problem: The current web server is going to stop running in minutes, but there is no way to send a redirect to the web browser to the new url. To solve this, used long polling, so the webapp is always listening for urls it should redirect to. This allows globally redirecting every open webapp. Works great! Tested with 2 web browsers with 2 tabs each. May be useful for other purposes later too, dunno. The overhead is 2 http requests per page load in the webapp. Due to yesod's speed, this does not seem to noticibly delay it. Only 1 of the requests could possibly block the page load, the other is async.
* better UI flow through upgrade processGravatar Joey Hess2013-11-23
| | | | | Move button to enable automatic upgrades to an alert displayed after successful upgrade. Unclutters the UI and makes psychological sense.
* restart on upgrade is working, including automatic restartGravatar Joey Hess2013-11-23
| | | | | | | | | | Made alerts be able to have multiple buttons, so the alerts about upgrading can have a button that enables automatic upgrades. Implemented automatic upgrading when the program file has changed. Note that when an automatic upgrade happens, the webapp displays an alert about it for a few minutes, and then closes. This still needs work.
* got assistant upgrade detection to notice when I build a new version with ↵Gravatar Joey Hess2013-11-22
| | | | cabal build!
* assistant restart on upgradeGravatar Joey Hess2013-11-22
|
* watch git-annex program file to detect upgradesGravatar Joey Hess2013-11-22
| | | | | | | | | | | | | | | | | | | | | | | | Not yet wired up to restart the assistant on upgrade; that needs careful sanity checking to wait until the upgrade is done before restarting. Used the DirWatcher here, so it gets events for any changes to the directory containing the program file. (But not subdirs.) This is necessary in order to detect when the file is renamed as part of the upgrade, which an inotify on a single file would not detect. (Also, I have DirWatcher code, but not FileWatcher code.) Note that upgrades that remove or rename a whole directory tree containing the executable will *not* trigger this code. So eg, deleting and replacing the whole standalone tarball dir tree won't work -- but untarring it over top will. So should dpkg package upgrades. Added programPath, using a new GHC feature to find the full path to the executable. The fallback code for old GHC or unsupported OS is less good; its worst failure mode would be either failing to find the program, and so not checking for upgrades, or finding a git-annex that's in PATH, but is not the one running. This commit was sponsored by John Roepke.
* annex.autoupgrade settingGravatar Joey Hess2013-11-22
|
* remove debug codeGravatar Joey Hess2013-11-22
|
* fix inverted priorityGravatar Joey Hess2013-11-22
|
* use .info, allow multiple info files in same directoryGravatar Joey Hess2013-11-22
|
* 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
|
* log missing index at notice priorityGravatar Joey Hess2013-11-13
|
* inverted logicGravatar Joey Hess2013-11-13
|
* better handling of missing index fileGravatar Joey Hess2013-11-13
|
* assistant: Notice on startup when the index file is corrupt, and auto-repair.Gravatar Joey Hess2013-11-13
|
* build assistant and watcher on windows (doesn't work yet)Gravatar Joey Hess2013-11-12
|
* allow to build when sandi is installed (don't use it yet)Gravatar Joey Hess2013-11-11
|
* webapp: Improve UI around remote that have no annex.uuid set, either because ↵Gravatar Joey Hess2013-11-07
| | | | | | | | setup of them is incomplete, or because the remote git repository is not a git-annex repository. Complicated by such repositories potentially being repos that should have an annex.uuid, but it failed to be gotten, perhaps due to the past ssh repo setup bugs. This is handled now by an Upgrade Repository button.
* Improve local pairing behavior when two computers both try to start the ↵Gravatar Joey Hess2013-11-02
| | | | | | | | | | | | | | | | | pairing process separately. I was able to reproduce something very like this bug by starting pairing separately on both computers under poor network conditions (ie, weak wifi on my front porch). Neither computer showed an alert for the PairReq messages it was seeing (intermittently) from the other. So, I've made a new PairReq message that has not been seen before always make the alert pop up, even if the assistant thinks it is in the middle of its own pairing process (or even another pairing process with a different box on the LAN). (This shouldn't cause a rogue PairAck to disrupt a pairing process part way through.)
* better control character sanity checkGravatar Joey Hess2013-11-02
| | | | | | | | | The msg contains a haskell-escaped string, so control characters in it can also be escaped. So this didn't work before, really. Got rid of the \n check, because current pairing messages actually do contain a \n, after the ssh public key. Don't want to break back-compatability.
* fix build w/o webapp (again)Gravatar Joey Hess2013-11-02
|
* webapp: remind user when using repositories that lack consistency checksGravatar Joey Hess2013-10-29
| | | | | | | | | | When starting up the assistant, it'll remind about the current repository, if it doesn't have checks. And when a removable drive is plugged in, it will remind if a repository on it lacks checks. Since that might be annoying, the reminders can be turned off. This commit was sponsored by Nedialko Andreev.
* add post-repair actionsGravatar Joey Hess2013-10-29
|
* fix stale git locks as part of repo repairGravatar Joey Hess2013-10-29
|
* move code around and rename thread; no functional changesGravatar Joey Hess2013-10-29
|
* fix build w/o webappGravatar Joey Hess2013-10-28
|
* automatically launch git repository repairGravatar Joey Hess2013-10-27
| | | | | | | | | | | | | | | | | | Added a RemoteChecker thread, that waits for problems to be reported with remotes, and checks if their git repository is in need of repair. Currently, only failures to sync with the remote cause a problem to be reported. This seems enough, but we'll see. Plugging in a removable drive with a repository on it that is corrupted does automatically repair the repository, as long as the corruption causes git push or git pull to fail. Some types of corruption do not, eg missing/corrupt objects for blobs that git push doesn't need to look at. So, this is not really a replacement for scheduled git repository fscking. But it does make the assistant more robust. This commit is sponsored by Fernando Jimenez.
* assistant: Support repairing git remotes that are locally accessibleGravatar Joey Hess2013-10-27
| | | | | | | | (eg, on removable drives) gcrypt remotes are not yet handled. This commit was sponsored by Sören Brunk.
* assistant: Automatically repair damanged git repository, if it can be done ↵Gravatar Joey Hess2013-10-26
| | | | without losing data.
* moved code out of webappGravatar Joey Hess2013-10-26
| | | | | No code changes, aside from some changes to lifting in code that turned out to be able to run in Assistant rather than Handler.
* 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.
* UI tweaksGravatar Joey Hess2013-10-22
|
* add git fsck to cronner, and UI for repository repair (not yet wired up)Gravatar Joey Hess2013-10-22
|
* git-recover-repository 1/2 doneGravatar Joey Hess2013-10-20
|
* cleanupGravatar Joey Hess2013-10-18
|