Joey Hess
490aa67d10
check if git-remote-gcrypt is installed
2013-09-16 16:35:27 -04:00
Joey Hess
b37aad6c06
webapp: Initial support for setting up encrypted removable drives.
...
No support yet for generating new gpg keys.
No support yet for adding existing encrypted repos from removable drives.
2013-09-16 16:07:27 -04:00
Joey Hess
f53526501d
commit immediately when adding removable drive repo
...
I noticed that adding a removable drive repo, then trying to add the same
drive again resulted in the question about whether repos should be
combined. This was because the uuid.log was not updated. Which happened
because the new uuid did not get committed on the removable drive.
This fixes that.
2013-09-16 14:56:19 -04:00
Joey Hess
0962c43bf7
fix build
2013-07-23 13:40:27 -04:00
Joey Hess
5c82c99c76
webapp: When creating a repository on a removable drive, set core.fsyncobjectfiles, to help prevent data loss when the drive is yanked.
2013-07-23 13:38:05 -04:00
Joey Hess
9fc1448947
webapp: Differentiate between creating a new S3/Glacier/WebDav remote, and initializing an existing remote. When creating a new remote, avoid conflicts with other existing (or deleted) remotes with the same name.
2013-07-20 18:15:16 -04:00
Joey Hess
57f5c9f41a
webapp: Fix authorized_keys line added when setting up a rsync remote on a server that also supports git-annex, to not force running git-annex-shell.
2013-07-08 12:51:07 -04:00
Joey Hess
d84a000e92
detect system with no dot in FQDN, where git commit will fail, and workaround
...
Sigh, git is so *fragile*. Or rather, across the set of systems that use
git-annex, where are no many horribly broken systems..
2013-07-05 12:24:28 -04:00
Joey Hess
1b395dcb76
webapp: Fix ssh setup with nonstandard port, broken in last release.
2013-07-02 15:46:02 -04:00
Joey Hess
ff4f008591
clean up build warnings with yesod 1.2, while still building with 1.1
2013-06-27 01:15:28 -04:00
Joey Hess
10072157cb
webapp: Fix bug when setting up a remote ssh repo repeatedly on the same server.
...
The ssh setup first runs ssh to the real hostname, to probe if a ssh key is
needed. If one is, it generates a mangled hostname that uses a key. This
mangled hostname was being used to ssh into the server to set up the key.
But if the server already had the key set up, and it was locked down, the
setup would fail. This changes it to use the real hostname when sshing in
to set up the key, which avoids the problem.
Note that it will redundantly set up the key on the ssh server. But it's
the same key; the ssh key generation code uses the key if it already
exists.
2013-06-25 14:46:20 -04:00
Joey Hess
9b61d6a82b
fix warning building w/o xmpp
2013-06-20 22:25:45 -04:00
Joey Hess
e8827c29c6
Make field readonly, not disabled
...
Working on Windows horriblness all day sure did nice things to my mood,
didn't it?
2013-06-18 17:08:37 -04:00
Joey Hess
f651b87bbd
revert broken change that prevented saving changes to local repo
...
People who get annoyed at not being able to edit "here" can send me a
patch, I don't have time for this nonsense.
2013-06-18 17:02:58 -04:00
Joey Hess
fa1c1e0f65
annex.debug can now be set to enable debug logging by default. The webapp's debugging check box does this.
2013-06-17 20:41:27 -04:00
Joey Hess
c9f3082b99
disable text field for repository name for current repository
2013-06-13 13:38:46 -04:00
Joey Hess
0b11c71740
Android: Add .thumbnails to .gitignore when setting up a camera repository.
2013-06-10 17:10:12 -04:00
Joey Hess
b42fe2283a
remove unnecessary haskell extensions
2013-06-04 21:13:20 -04:00
Joey Hess
1198b5444d
now builds with both yesod 1.2 and 1.1
2013-06-03 18:14:22 -04:00
Joey Hess
31753bad46
add liftH shim between yesod versions, to avoid needing zillions of ifdefs
2013-06-03 13:51:54 -04:00
Joey Hess
79fd677805
WIP yesod 1.2
2013-06-03 11:25:23 -04:00
Joey Hess
d8d46c3ba3
when xmpp connection fails, show the host(s) it tried to connect to
2013-05-27 14:36:20 -04:00
Joey Hess
5a678244e2
avoid duplicate srv lookup when testing xmpp
2013-05-27 13:48:24 -04:00
Joey Hess
92910f5107
fix build
2013-05-12 19:13:38 -04:00
Joey Hess
1e2ddcb68a
use setCurrentDirectory
...
On POSIX, this just calls changeWorkingDirectory.
2013-05-11 19:14:30 -04:00
Joey Hess
d63a0a77f2
fix build w/o DAV
2013-05-08 12:20:10 -04:00
Joey Hess
69bd8d0462
fix android build
2013-05-06 16:45:49 -04:00
Joey Hess
ad6fee422a
fix warning
2013-05-04 16:36:51 -04:00
Joey Hess
001d82f953
fix warning
2013-05-04 16:35:54 -04:00
Joey Hess
d35132810a
Got removable media mount detection working on Android.
...
Bionic has an amusing stub for `getmntent` that prints out
"FIX ME! implement getmntent()"
But, `/proc/mounts` is there, so I just parse it.
2013-05-04 16:19:25 -04:00
Joey Hess
d994f35937
disable hostname validation and canonicalization on android
2013-05-04 14:26:49 -04:00
Joey Hess
33334bfe2e
added special camera repository to start screen for android
2013-05-03 15:21:31 -04:00
Joey Hess
e92f04f9cc
build fix for -XMPP
2013-05-02 13:04:49 -04:00
Joey Hess
d9e288b0fd
fix build with S3 disabled (for Android)
2013-05-01 13:27:51 -04:00
Joey Hess
017f62654f
stop using UltDest, doesn't seem to reliably work
2013-04-30 15:21:49 -04:00
Joey Hess
c3498042fd
webapp: Now automatically fills in any creds used by an existing remote when creating a new remote of the same type. Done for Internet Archive, S3, Glacier, and Box.com remotes.
2013-04-27 15:16:06 -04:00
Joey Hess
8a7e059f54
fix build w/o s3
2013-04-26 16:12:23 -04:00
Joey Hess
b4f4ed7d93
fix build with newer yesod
2013-04-26 15:06:18 -04:00
Joey Hess
8603109294
allow configuring the preferreddir
2013-04-26 13:01:06 -04:00
Joey Hess
867cba52a0
better default collections
2013-04-26 01:46:07 -04:00
Joey Hess
0ae8c82c53
per-IA-item content directories
2013-04-25 23:44:55 -04:00
Joey Hess
e3ea36174b
webapp: Display some additional information about a repository on its edit page.
2013-04-25 16:42:17 -04:00
Joey Hess
8284b310a7
support enabling IA repositories
2013-04-25 13:14:49 -04:00
Joey Hess
2810807ca5
Internet Archive!
...
* Add public repository group.
* webapp: Can now set up Internet Archive repositories.
TODO: Enabling IA repositories.
2013-04-25 12:23:36 -04:00
Joey Hess
2c42e70f6c
rename module
2013-04-23 11:38:52 -04:00
Joey Hess
8a2d1988d3
expose Control.Monad.join
...
I think I've been looking for that function for some time.
Ie, I remember wanting to collapse Just Nothing to Nothing.
2013-04-22 20:24:53 -04:00
Joey Hess
e92a207df5
webapp: When told to add a git repository on a remote server, and the repository already exists as a non-bare repository, use it, rather than initializing a bare repository in the same directory.
2013-04-22 16:21:37 -04:00
Joey Hess
8df5be7804
fix build with xmpp enabled but not local pairing
2013-04-21 13:24:56 -04:00
Joey Hess
844e772910
fix warnings
2013-04-20 19:25:50 -04:00
Joey Hess
4ddf9b7467
webapp: Don't default to making repository in cwd when started from within a directory containing a git-annex file (eg, standalone tarball directory).
2013-04-20 18:53:04 -04:00
Joey Hess
eeaf471f2f
minor tweak to fix a build issue when TH is splices
2013-04-16 22:46:20 -04:00
Joey Hess
c1b682cb8f
another no-xmpp fix
2013-04-16 19:30:09 -04:00
Joey Hess
d0336a9475
build fix for no xmpp
2013-04-16 19:19:30 -04:00
Joey Hess
740ec66dcf
webapp: When a repository's group is changed, rescan for transfers.
2013-04-08 16:45:12 -04:00
Joey Hess
1f1cddbaa7
syncNewRemote is not only used for new remotes; rename to syncRemote
2013-04-08 15:43:43 -04:00
Joey Hess
8b329c0317
refactor alert button creation code
2013-04-04 01:48:26 -04:00
Joey Hess
a886c3b56d
drop down menu for each repository with edit, disable, delete
2013-04-03 21:28:21 -04:00
Joey Hess
37d7da4de8
streamline deletion process and improve UI
2013-04-03 20:54:53 -04:00
Joey Hess
9a5f421768
detect when unwanted remote is empty and remove it
...
Needs fixes to build when the webapp is disabled.
2013-04-03 17:01:40 -04:00
Joey Hess
d888fb6a4b
move content from remote when user asks to delete it
2013-03-31 19:00:43 -04:00
Joey Hess
c57baaaa30
webapp: Added UI to delete repositories. Closes : #689847
2013-03-31 16:38:05 -04:00
Joey Hess
6fa0d0ecc8
webapp: Run ssh server probes in a way that will work when the login shell is a monstrosity that should have died 25 years ago, such as csh.
2013-03-29 13:09:30 -04:00
Joey Hess
4ef6e8fed5
improve wording
2013-03-27 15:46:08 -04:00
Joey Hess
3ef6b6a200
fix build with xmpp and w/o webapp
2013-03-24 18:55:19 -04:00
Joey Hess
bfb63ea521
adding removable drive improvements
2013-03-20 16:47:15 -04:00
Joey Hess
0400c5f596
fix redirect from XMPP prompt to pairing pages
2013-03-16 19:19:58 -04:00
Joey Hess
140774a8c8
webapp: Switch all forms to POST.
2013-03-16 18:48:26 -04:00
Joey Hess
996e899acc
webapp: Encourage user to install git-annex on a server when adding a ssh server, rather than just funneling them through to rsync.
2013-03-16 12:58:59 -04:00
Joey Hess
c94c99942b
make liftAnnex and liftAssistant polymorphic, like liftIO
2013-03-16 00:19:56 -04:00
Joey Hess
77c82de4ea
webapp: Display an alert when there are XMPP remotes, and a cloud transfer repository needs to be configured.
2013-03-15 17:52:41 -04:00
Joey Hess
39e979fb65
webapp: Improved UI for pairing your own devices together using XMPP.
2013-03-15 15:19:07 -04:00
Joey Hess
810a06b771
webapp: Repository list is now included in the dashboard, and other UI tweaks.
2013-03-15 00:34:42 -04:00
Joey Hess
6c7ce8f193
reorg repolist
2013-03-14 22:10:51 -04:00
Joey Hess
9b657a2ccc
webapp: Set locally paired repositories to a lower cost than other network remotes.
2013-03-13 14:10:29 -04:00
Joey Hess
0ef8d806ac
gratuitous rename HomeR -> DashboardR
2013-03-12 22:18:36 -04:00
Joey Hess
8221c2b4ed
split repolist out of configuration, into its own tab (temporarily)
2013-03-12 21:51:03 -04:00
Joey Hess
46a5f1532d
fix warning
2013-03-12 15:47:30 -04:00
Joey Hess
0c3cda3293
fix warning
2013-03-12 15:36:33 -04:00
Joey Hess
2c05c85437
webapp: DTRT when told to create a git repo that already exists.
2013-03-12 08:09:31 -04:00
Joey Hess
ccb7e5cfa4
got hdevtools working on the git-annex source tree
2013-03-12 05:51:34 -04:00
Joey Hess
56830af8d8
simpler use of MIN_VERSION checks
2013-03-10 15:43:17 -04:00
Joey Hess
bf46e6f15d
fix warning
2013-03-08 22:25:23 -04:00
Joey Hess
f8c2dc82d8
show when not connected to xmpp server
2013-03-06 22:02:47 -04:00
Joey Hess
c03fdf5a15
fix password length check to match message
2013-03-05 16:21:13 -04:00
Joey Hess
907b0c0d78
better liftAnnex, avoid using runAnnex undefined
2013-03-04 16:36:38 -04:00
Joey Hess
5274713305
webapp: Proceed automatically on from "Configure jabber account" to pairing.
2013-03-04 16:03:24 -04:00
Joey Hess
a238e58365
cleanup
2013-03-03 23:27:17 -04:00
Joey Hess
6cc0d93bd6
fix year
2013-03-03 23:20:47 -04:00
Joey Hess
08bdea7e52
webapp: New preferences page allows enabling/disabling debug logging at runtime, as well as configuring numcopies and diskreserve.
2013-03-03 17:07:27 -04:00
Joey Hess
53318d6ef1
webapp: fix display of paused local repo
2013-03-03 14:55:25 -04:00
Joey Hess
789ca15012
better prevention of auto repack
...
Looking through the git sources (documentation is unclear),
it seems commit doesn't ever trigger git-gc, mostly fetching and merging
seems to. I cannot easily override the setting in all those places, so
instead set gc.auto in git config when initializing a repository with
the assistant.
This does mean that the user cannot set gc.auto=0 and completely avoid
repacks, as the assistant does it daily. But, it only does it after there
are 100x the default number of loose objects, so this is probably not going
to be too annoying.
2013-03-03 14:20:07 -04:00
Joey Hess
0c13d3065e
git subcommand cleanup
...
Pass subcommand as a regular param, which allows passing git parameters
like -c before it. This was already done in the pipeing set of functions,
but not the command running set.
2013-03-03 13:39:07 -04:00
Joey Hess
95a244d9c4
work around yesod bug that causes a warning
...
I think this is fixed in newer versions of yesod, so this commit can be
reverted when dropping support for Debian wheezy.
2013-02-27 18:31:59 -04:00
Joey Hess
cbd53b4a8c
Makefile now builds using cabal, taking advantage of cabal's automatic detection of appropriate build flags.
...
The only thing lost is ./ghci
Speed: make fast used to take 20 seconds here, when rebuilding from
touching Command/Unused.hs. With cabal, it's 29 seconds.
2013-02-27 02:39:22 -04:00
Joey Hess
9d6fd5b927
webapp: Display any error message from git init if it fails to create a repository.
2013-02-26 13:04:37 -04:00
Joey Hess
e598b78a69
webapp: Can now add a new local repository, and make it sync with the main local repository.
2013-02-18 20:37:26 -04:00
Joey Hess
127463e577
webapp: Allow creating repositories on filesystems that lack support for symlinks.
2013-02-18 12:54:41 -04:00
Joey Hess
13aaf69cdb
webapp: Fix crash adding removable drive that has an annex directory in it that is not a git repository.
2013-01-15 16:43:44 -04:00
Joey Hess
7efdab3852
avoid doing anything if new and old sanitized git remote name are the same
2013-01-14 18:42:15 -04:00
Joey Hess
0d2ac184b5
webapp: Avoid illegal characters in hostname when creating S3 or Glacier remote.
2013-01-14 12:54:29 -04:00
Joey Hess
09cbbaf537
move local repo list out of control menu
2013-01-03 16:34:57 -04:00
Joey Hess
909d726d1d
update list of other repos when adding one
...
This way, once it switches to the new repo, the user can switch back to the
old one, and its menu will allow switching to the new again.
However, if there are multiple repos, the others don't yet learn about the
new repo.
2013-01-03 15:34:50 -04:00
Joey Hess
47994ce5cd
direct mode by default in repositories created by assistant
2013-01-01 15:30:54 -04:00
Joey Hess
4008590c68
type based git config handling for remotes
...
Still a couple of places that use git config ad-hoc, but this is most of it
done.
2013-01-01 13:58:14 -04:00
Joey Hess
7f7c31df1c
type based git config handling
...
Now there's a Config type, that's extracted from the git config at startup.
Note that laziness means that individual config values are only looked up
and parsed on demand, and so we get implicit memoization for all of them.
So this is not only prettier and more type safe, it optimises several
places that didn't have explicit memoization before. As well as getting rid
of the ugly explicit memoization code.
Not yet done for annex.<remote>.* configuration settings.
2012-12-29 23:10:18 -04:00
Joey Hess
c0f9810f0b
OSX assistant: Uses direct mode by default when setting up a new local repository.
2012-12-28 16:42:11 -04:00
Joey Hess
561e317506
typo
2012-12-28 16:25:18 -04:00
Joey Hess
0d50a6105b
whitespace fixes
2012-12-13 00:45:27 -04:00
Joey Hess
551924e6be
webapp: Allow user to specify the ssh port when setting up a remote.
2012-12-06 17:09:38 -04:00
Joey Hess
c9fd389fbf
webapp: Encryption can be disabled when setting up remotes.
2012-12-04 13:28:22 -04:00
Joey Hess
4f4209b833
webapp: Added help buttons and links next to fields that require explanations.
2012-12-02 22:33:30 -04:00
Joey Hess
7b032dbbc8
webapp: Fix bad interaction between required fields and modals.
2012-12-02 17:32:54 -04:00
Joey Hess
0b6c889012
webapp: S3 and Glacier forms now have a select list of all currently-supported AWS regions.
2012-12-01 14:11:37 -04:00
Joey Hess
8dd1d9aaf9
webapp: Defaults to sharing box.com account info with friends, allowing one-click enabling of the repository.
2012-11-28 13:31:49 -04:00
Joey Hess
18fe34222a
allow building webapp w/o webdav
2012-11-25 14:36:24 -04:00
Joey Hess
3dfc9cadb0
simplify
2012-11-25 00:38:11 -04:00
Joey Hess
59733456ed
refactor
2012-11-25 00:27:17 -04:00
Joey Hess
495b0a898c
automatically create archive directory
2012-11-24 16:39:36 -04:00
Joey Hess
463cf58140
webapp and assistant glacier support
2012-11-24 16:30:15 -04:00
Joey Hess
a5111a6d85
Amazon Glacier special remote; 100% working
2012-11-20 16:43:58 -04:00
Joey Hess
dea2780b78
fix build with yesod-form-1.2.0
2012-11-18 13:21:19 -04:00
Joey Hess
453587d392
UI for enabling existing webdav remotes
2012-11-17 16:10:13 -04:00
Joey Hess
7addb89dc1
webapp: support box.com
2012-11-17 15:30:11 -04:00
Joey Hess
e250f6f11f
factor out Creds
2012-11-14 19:32:27 -04:00
Joey Hess
d468e37f46
automatic repolist updating
2012-11-13 17:50:54 -04:00
Joey Hess
75dbce69e6
Show error message to user when testing XMPP creds.
2012-11-13 13:21:09 -04:00
Joey Hess
8fd78f45a2
fix build without XMPP
...
not sure if I'll keep bothering with this option
2012-11-12 01:48:15 -04:00
Joey Hess
8b22bd8831
add a yes/no confirm for xmpp pairing requests
2012-11-11 22:29:16 -04:00
Joey Hess
b91f07fe83
split up xmpp and local pairing UIs
2012-11-11 17:41:56 -04:00
Joey Hess
5e44ab177c
don't try to transfer data to/from XMPP remotes
...
Partition syncRemotes into ones needing git sync (ie, non-special remotes),
and ones needing data sync (ie, non-XMPP remotes).
2012-11-11 16:23:16 -04:00
Joey Hess
b160856297
end of xmpp pairing page encourages adding a shared cloud repository
2012-11-10 20:38:52 -04:00
Joey Hess
fd22734392
show when a buddy is already paired
2012-11-10 16:36:21 -04:00
Joey Hess
da6fb44446
finished XMPP pairing!
...
This includes keeping track of which buddies we're pairing with, to know
which PairAck are legitimate.
2012-11-05 17:43:17 -04:00
Joey Hess
db36b11e28
switch to silent chat messages for XMPP pairing
...
Along the way, significantly cleaned up Assistant.XMPP, and made XMPP
message decoding more efficient.
2012-11-05 15:40:56 -04:00
Joey Hess
0b8027e527
webapp: When setting up authorized_keys, use GIT_ANNEX_SHELL_DIRECTORY.
2012-11-05 12:35:05 -04:00
Joey Hess
a6cecfcf33
workaround for Google Talk's insane handling of self-directed presence
...
Maybe the spec allows it, but broadcasting self-directed presence info to
all buddies is just insane.
I had to bring back the IQ messages for self-pairing, while still using
directed presence for other pairing. Ugly.
2012-11-03 22:52:41 -04:00
Joey Hess
17e84a8096
switch to directed presence for pair requests
...
Testing between Google Talk and prosody, the directed IQ messages
were not received. Google Talk probably only relays them between
clients using the same account.
I first tried even more directed presence, with each client JID being sent
a separate presence, but that didn't work on Google Talk, particularly
it was ignored when one client sent it to another client using the same
account.
So, presence directed at the user@host of the client to pair with. Tested
working between Google Talk and prosody (in both directions), as well
as between two clients with the same account on Google Talk, and
two clients with the same account on prosody.
Only problem with this form of directed presence is that if I also use it
for git pushes, more clients than are interested in a push's data will
receive it. So I may need some better approach, or a hybrid between
directed IQ and directed presence.
2012-11-03 21:19:59 -04:00
Joey Hess
42f030c905
XMPP pair requests are now received, and an alert displayed
2012-11-03 17:46:22 -04:00
Joey Hess
b95c255b6d
XMPP pairing notifications are now sent
...
Rest of pairing process still to do.
2012-11-03 16:01:09 -04:00
Joey Hess
9a8d0be866
send a presence query when the buddy list is displayed
...
This ensures that clients that have not sent presence in a while will show
up in the list.
2012-11-03 14:25:06 -04:00
Joey Hess
a1228e27ed
refactor XMPP client
2012-11-03 14:16:17 -04:00
Joey Hess
6a61829e2d
add buddy list to pairing UI
2012-11-02 21:13:06 -04:00
Joey Hess
2ae43e71e0
xmpp buddy list tracking
2012-11-02 14:28:36 -04:00
Joey Hess
33dbb19d99
webapp: Ensure that rsync special remotes are enabled using the same name they were originally created using.
...
It was creating a new special remote with a different name, unless
the stars perfectly aligned and the names matched.
2012-10-31 16:14:52 -04:00
Joey Hess
c03d9b2310
webapp: Fix renaming of special remotes.
...
Working around what seems to me to be a git bug. Surely there are valid
setups of real git remotes that don't have fetch set?
2012-10-31 14:39:05 -04:00
Joey Hess
7fe077ec24
webapp: Fix creation of rsync.net repositories.
2012-10-31 13:58:31 -04:00
Joey Hess
f460a2a2a8
make initial commit quietly
2012-10-31 13:42:07 -04:00
Joey Hess
88d1907278
where indentation
2012-10-31 02:34:03 -04:00
Joey Hess
0cf152b88b
webapp: Make an initial, empty commit so there is a master branch
...
Several things only happen when on a branch, so make sure we're on one.
2012-10-30 19:12:05 -04:00
Joey Hess
f6208bca0d
reload uuid map after editing repo description and saving
...
Don't rely on the ConfigMonitor thread, it might be too slow.
2012-10-30 17:22:21 -04:00
Joey Hess
93ffd47d76
finished pushing Assistant monad into all relevant files
...
All temporary and old functions are removed.
2012-10-30 17:14:51 -04:00
Joey Hess
47d94eb9a4
pushed Assistant monad down into DaemonStatus code
...
Currently have three old versions of functions that more reworking is
needed to remove: getDaemonStatusOld, modifyDaemonStatusOld_, and
modifyDaemonStatusOld
2012-10-30 15:39:15 -04:00
Joey Hess
68118b8986
split remaining assistant types
2012-10-30 14:34:48 -04:00
Joey Hess
86cb3faf51
moved ThreadedMonad to Types
2012-10-29 19:07:10 -04:00
Joey Hess
87ba4f8677
split and lift Assistant.Pushes
2012-10-29 17:52:43 -04:00
Joey Hess
1852eddce6
lift alertWhile
2012-10-29 16:49:47 -04:00
Joey Hess
e18b733c81
move alert display functions
2012-10-29 16:34:11 -04:00
Joey Hess
5d57b28a34
lifted Assistant.Sync into Assistant monad
...
lots of nice cleanups
2012-10-29 16:22:14 -04:00
Joey Hess
4dbdc2b666
Assistant monad, stage 2.5
...
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.
2012-10-29 02:21:04 -04:00
Joey Hess
4e765327ca
Assistant monad, stage 1
...
This adds the Assistant monad, and an AssistantData structure.
So far, none of the assistant's threads run in the monad yet.
2012-10-29 00:15:43 -04:00
Joey Hess
531f1d1446
add XMPP nudge alert, displayed after making a cloud repository
2012-10-27 12:25:29 -04:00
Joey Hess
c71836269b
(re)start XMPP when it's configured in the webapp
2012-10-27 00:50:14 -04:00
Joey Hess
6803667f00
store xmpp creds from form
2012-10-26 17:13:30 -04:00
Joey Hess
1d04dff4f0
split out xmpp utilities
2012-10-26 14:44:36 -04:00
Joey Hess
82b7e835e4
run xmpp test in bound thread
2012-10-26 14:39:22 -04:00
Joey Hess
07494cbb4b
XMPP configuration form
...
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.
2012-10-26 14:17:09 -04:00
Joey Hess
5544ca2fb8
build fix with pairing disabled
2012-10-26 12:56:19 -04:00
Joey Hess
7ee0ffaeb9
Use USER and HOME environment when set, and only fall back to getpwent, which doesn't work with LDAP or NIS.
2012-10-25 18:17:54 -04:00
Joey Hess
362e18e3fd
allow renaming git remotes in the edit form
2012-10-14 17:18:01 -04:00
Joey Hess
08e1efb278
make repo description optional
2012-10-14 16:32:55 -04:00
Joey Hess
8932acb5d0
redirect to the new repository version of the end form
2012-10-14 16:11:21 -04:00
Joey Hess
2aacae3ebb
always make removable drive repos bare
...
None-bare removable drive repos don't have the assistant running in them,
so don't get their master branch updated as syncs come in. This will
probably change later, but for now, set up something that works.
Also, set the description of a newly added drive's repo locally. This
ensures that the repo edit form has the description in it.
2012-10-14 15:53:40 -04:00
Joey Hess
3f06c883f2
hook up syncing toggles
...
Although I observe that these toggles don't always prevent syncing.
When a transfer scan is active, it will still queue items from the disabled
remote.
Also, transfers from a disabled remote show up as from "unknown", which is
not ideal.
2012-10-12 12:45:16 -04:00
Joey Hess
a7642b3b6e
add syncing enabled/disabled to repo list with icon, and toggle link
...
The toggle link doesn't work yet.
Also lots of refactoring and type improvements
2012-10-12 01:09:28 -04:00
Joey Hess
9b760150b7
fix crash when editing the current repo
2012-10-11 19:36:28 -04:00
Joey Hess
0b266f970f
set/unset annex-sync, rather than annex-ignore
...
This reserves annex.ignore for repos that should not be visible at all;
repos with syncing disabled are now skipped by the assistant, but are
displayed in the list and can be configured.
2012-10-11 19:22:29 -04:00
Joey Hess
f31d292ab1
after setting up a new repo, go to a special version of the configuration page
2012-10-11 17:35:08 -04:00
Joey Hess
5b9900133c
allow disabling syncing to a repo on its edit form
...
This is not quite right yet, since it disables it so hard it doesn't show
up in the repo list anymore!
2012-10-11 17:14:42 -04:00
Joey Hess
7aef34f501
implement saving of repository settings
2012-10-10 19:13:49 -04:00
Joey Hess
5d85c1497c
fix setting the group of the first repo created
2012-10-10 16:32:15 -04:00
Joey Hess
4e2e08b45a
ui for selecting a repository group
2012-10-10 16:23:41 -04:00
Joey Hess
39be7eea40
add standard group selector to repo edit form
2012-10-10 16:04:28 -04:00
Joey Hess
9da7dd8874
webapp: configure new repos to use the standard preferred content settings
2012-10-10 15:35:10 -04:00
Joey Hess
3490977d97
webapp: put new repos in standard groups
...
I'm using transfer for most things, both removable drives and cloud
storage, because it's the safest choice. We'll see if it makes sense
to prompt for the group when setting this up, or let the user pick
something else after the fact.
2012-10-10 15:27:25 -04:00
Joey Hess
f06587ba23
basic repository edit form
...
Only shows description so far.
2012-10-09 15:11:48 -04:00
Joey Hess
b6a3f03f82
add "configure" link to each repository in the webapp's repo list
2012-10-09 14:43:53 -04:00
Joey Hess
a5781fd9ba
webapp automatic grouping
...
webapp: Adds newly created repositories to one of these groups:
clients, drives, servers
This is heuristic, but it's a pretty good heuristic, and can always be
configured.
2012-10-09 14:24:17 -04:00
Joey Hess
33fdcd59be
tweak
2012-09-29 16:22:53 -04:00
Joey Hess
cc0e5b7c52
use getAddrInfo, to support ipv6
2012-09-29 12:50:12 -04:00
Joey Hess
fede52ac05
if the webapp is started with a cwd the user can't write to, don't suggest it
...
Fall back to somewhere under $HOME instead.
I had a report that git-annex.app on OSX was coming up with "/" as the
suggested location on first run.
2012-09-28 16:04:49 -04:00
Joey Hess
3979086035
use ~/.ssh/git-annex-shell wrapper
...
This was needed for the OSX self-contained app, but is a generally good
idea. It avoids needing perl; is probably faster; and could eventually
be replaced by something faster yet.
2012-09-26 18:59:18 -04:00
Joey Hess
c2c577f34f
allow enabling existing S3 repos
2012-09-26 15:24:23 -04:00
Joey Hess
17708dd173
add a configurator for S3
2012-09-26 14:44:07 -04:00
Joey Hess
cb3c9340f8
license the webapp under the AGPL 3+
...
This means that anyone serving up the webapp to users as a service
(ie, without providing any git-annex binary at all to the user) still needs
to provide a link to the source code for it, including any modifications
they may make.
This may make git-annex be covered by the AGPL as a whole when it is built
with the webapp. If in doubt, you should ask a lawyer.
When git-annex is built with the webapp disabled, no AGPLed code is used.
Even building in the assistant does not pull in AGPLed code.
2012-09-24 14:48:47 -04:00
Joey Hess
45a26175d6
renamed RsyncFile -> Rsync
2012-09-19 14:28:32 -04:00
Joey Hess
18bae020ed
make other repositories list list all autostarted repos
...
And add a form to add another, unrelated repository
2012-09-18 17:50:07 -04:00
Joey Hess
74906ed13f
UI for enabling special remotes
...
Now other repositories can configure special remotes, and when their
configuration has propigated out, they'll appear in the webapp's list of
repositories, with a link to enable them.
Added support for enabling rsync special remotes, and directory special
remotes that are on removable drives. However, encrypted directory special
remotes are not supported yet. The removable drive configuator doesn't
support them yet anyway.
2012-09-13 16:50:02 -04:00
Joey Hess
df337bb63b
hlint
2012-09-13 00:57:52 -04:00
Joey Hess
ade511f6e3
keep webapp snappy by generating ssh keypair in the background
2012-09-11 15:51:27 -04:00
Joey Hess
99d52f26bc
fix combining of pairing alerts
2012-09-11 15:43:33 -04:00
Joey Hess
2c1ceeeaf9
pairing works!!
...
Finally.
Last bug fixes here: Send PairResp with same UUID in the PairReq.
Fix off-by-one in code that filters out our own pairing messages.
Also reworked the pairing alerts, which are still slightly buggy.
2012-09-11 15:09:00 -04:00
Joey Hess
aace44454a
keep track of the stage we're at in pairing
...
This avoids us responding to our own pairing messages, as well
as ignoring any out of order messages that might be received somehow.
2012-09-11 12:58:00 -04:00
Joey Hess
16d27e9c02
work around a bug in Yesod
...
The PathPiece instance for Text results in a 404 for T.empty.
2012-09-11 12:26:42 -04:00
Joey Hess
0208d6aa82
add a UUID to pair requests
...
Pair requests the the same UUID are part of the same pairing session,
which allows us to detect attempts to brute force the shared secret,
as that will result in pair requests with the same UUID that are
not verified with the right secret.
2012-09-11 03:16:00 -04:00
Joey Hess
675621d903
clean up authorized_keys handling
...
Including rollback of adding the key when a pairing response
gets canceled by the user.
2012-09-11 00:23:34 -04:00
Joey Hess
d19bbd29d8
pairing probably works now (untested)
2012-09-10 21:55:59 -04:00
Joey Hess
a41255723c
check that ssh public key received over the wire is sane
2012-09-10 18:18:55 -04:00
Joey Hess
c20d6f4189
responding to pair requests *almost* works
2012-09-10 17:53:51 -04:00
Joey Hess
b573d91aa2
broke out fairly generic ssh stuff to Assistant.Ssh so pairing can use it too
...
I'd rather Utility.Ssh, but the SshData type is not sufficiently clean and
generic for Utility.
2012-09-10 15:21:34 -04:00
Joey Hess
34a0e09d4b
split up ssh key generation and setup steps
2012-09-10 14:55:15 -04:00
Joey Hess
16cefae7f2
add an alert while a locally initiated pairing request is in progress
...
Has a button to cancel the request.
2012-09-09 16:24:34 -04:00
Joey Hess
f62cc48482
reorg templates
2012-09-08 23:32:08 -04:00
Joey Hess
6e60b08060
moved the PairStage inside the Verifiable data
2012-09-08 21:06:10 -04:00
Joey Hess
317ab14da2
add remote directory to pair request
2012-09-08 15:40:47 -04:00
Joey Hess
61ee1e1660
fix build without pairing support
2012-09-08 15:21:34 -04:00
Joey Hess
0f0c7f8d70
added pair listener thread
2012-09-08 15:07:44 -04:00
Joey Hess
3e070b947a
don't pass .local hostname over the wire
...
The remote computer may not support mDNS. Instead, pass over the uname -a
hostname, and the IP address, and leave best hostname calculation to the
remote side.
2012-09-08 14:23:35 -04:00
Joey Hess
3dd4b4058f
implement pair request broadcasts
...
Pair requests are sent on all network interfaces, and contain the best
available hostname to use to contact the host on that interface.
Added a pairing in progress page.
Revert "reduce some boilerplate using ghc extensions", because it caused
overlapping instances for Text.
2012-09-08 13:04:19 -04:00
Joey Hess
0c01348b65
pairing passphrase entry form, validation, etc
...
Actually 3 forms in one, this handles the initial passphrase entry, and the
confirmation, and also varys wording if the same user or a different user
is confirming.
2012-09-08 02:02:39 -04:00
Joey Hess
3bee6b3c74
yesod skelton and routes for pairing
...
yet more changes to pairing message data types
2012-09-08 00:27:27 -04:00
Joey Hess
46fd6b54c7
rsync.net configurator tested and 100% working
2012-09-04 15:27:06 -04:00
Joey Hess
b584d96c13
rsync.net configurator display
...
Doesn't set up the repo yet.
2012-09-03 00:39:55 -04:00
Joey Hess
b6a91d7a4d
defer setting up ssh public key until after confirmation
2012-09-02 20:43:32 -04:00
Joey Hess
014974a7da
allow making encrypted rsync special remotes
...
wow, that was easy!
2012-09-02 17:32:24 -04:00
Joey Hess
9f403113dd
make bare repo on server
...
I think this makes sense.. Unless the assistant is running on the server,
the repo won't be updated, so it might as well be bare.
Non-bare repos will be handled by the pairing configurator, later.
2012-09-02 15:30:32 -04:00
Joey Hess
97ce4d24cb
adding ssh remote working
...
Rsync remote still needs work
2012-09-02 15:27:00 -04:00
Joey Hess
6623a51cf9
run sync in background
2012-09-02 15:20:03 -04:00
Joey Hess
e6f61e5ab9
factored out repository creation code and made more generic
...
for use by other configurators.. probably should be moved to a utility
module somewhere
2012-09-02 15:06:27 -04:00
Joey Hess
837cd79e4f
add ssh confirmation page
...
also broke out webapp types into a separate module
2012-09-02 00:49:25 -04:00
Joey Hess
53043999ac
don't set up authorized_keys during probe
2012-09-01 21:10:40 -04:00
Joey Hess
32ab049f9c
ssh connection testing and key setup
2012-09-01 20:37:35 -04:00
Joey Hess
54a492db5f
UI for adding a ssh or rsync remote
2012-08-31 18:59:57 -04:00
Joey Hess
86fb1305dc
split out local repo configurators
2012-08-31 15:17:12 -04:00