From b429ea0cea48c7c0fc73be8da73bbcc5938eec86 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 23 Nov 2013 17:28:42 -0400 Subject: [PATCH] devblog --- doc/assistant/downloadupgrade.png | Bin 0 -> 9071 bytes doc/devblog/day_64__overkill.mdwn | 31 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 doc/assistant/downloadupgrade.png create mode 100644 doc/devblog/day_64__overkill.mdwn diff --git a/doc/assistant/downloadupgrade.png b/doc/assistant/downloadupgrade.png new file mode 100644 index 0000000000000000000000000000000000000000..157eaddc7b7b9eb7737969d3ad1127f37f58cf7f GIT binary patch literal 9071 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 R!(kafURp(}Ow!c<{{Z2%e{ui- literal 0 HcmV?d00001 diff --git a/doc/devblog/day_64__overkill.mdwn b/doc/devblog/day_64__overkill.mdwn new file mode 100644 index 0000000000..fd5d66f4ec --- /dev/null +++ b/doc/devblog/day_64__overkill.mdwn @@ -0,0 +1,31 @@ +Completely finished up with making the assistant detect when git-annex's +binary has changed and handling the restart. + +It's a bit tricky because during an upgrade there can be two assistant +daemons running at the same time, in the same repository. Although I +disable the watcher of the old one first. Luckily, git-annex has long +supported running multiple concurrent git-annex processes in the same +repository. + +The surprisingly annoying part turned out to be how to make the webapp +redirect the browser to the new url when it's upgraded. Particularly needed +when automatic upgrades are enabled, since the user will not then be taking +any action in the webapp that could result in a redirect. My solution to this +feels like overkill; the webapp does ajax long polling until it gets an +url, and then redirects to it. Had to write javascript code and ugh. + +But, that turned out to also be useful when manually restarting the webapp +(removed some horrible old code that ran a shell script to do it before), +and also when shutting the webapp down. + +[[!img assistant/downloadupgrade.png alt="assistant downloading an upgrade to itself"]] + +Getting back to upgrades, I have the assistant downloading the upgrade, and +running a hook action once the key is transferred. Now all I need is some +platform-specific code to install it. Will probably be hairy, especially on +OSX where I need to somehow unmount the old git-annex dmg and mount the new +one, from within a program running on the old dmg. + +---- + +Today's work was sponsored by Evan Deaubl.