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
440d6e331f
tweak
...
This works around a bug in the EvilSplicer
2013-04-26 15:20:31 -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
01bedb54c6
improve display of multiline messages in alerts
...
This better handles error messages formatted for console display, by
adding a <br> after each line.
Hmm, I wonder if it'd be worth pulling in a markdown formatter, and running
the messages through it?
2013-04-24 11:45:41 -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
8861e270be
sync, assistant: Sync with remotes that have annex-ignore set
...
This is so git remotes on servers without git-annex installed can be used
to keep clients' git repos in sync.
This is a behavior change, but since annex-sync can be set to disable
syncing with a remote, I think it's acceptable.
2013-04-22 14:57:09 -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
824c95376a
refactor static route definition -- android webapp build fix
...
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.)
2013-04-17 01:37:08 -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
b40e8fc5da
display alert in webapp when assistant shuts down
...
and remove any activity alerts
2013-04-10 17:52:04 -04:00
Joey Hess
d8f8aa6921
assistant: Stop any transfers the assistant initiated on shutdown.
2013-04-10 17:38:53 -04:00
Joey Hess
1c36af163c
animate syncing and other activity icons
2013-04-08 22:54:02 -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
5e2e4347a3
webapp: New --listen= option allows running the webapp on one computer and 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.
2013-04-08 15:04:35 -04:00
Joey Hess
8b329c0317
refactor alert button creation code
2013-04-04 01:48:26 -04:00
Joey Hess
89dd5aeb95
display repos that are being cleaned out before removal in repolist
2013-04-03 21:58:08 -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
5870f713f0
update comment
2013-03-28 15:03:51 -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
9e8e1ee1ba
better word wrapping
2013-03-20 18:21:43 -04:00
Joey Hess
bfb63ea521
adding removable drive improvements
2013-03-20 16:47:15 -04:00
Joey Hess
b6d691aff7
maintain pools of running transferkeys processes (untested)
2013-03-19 18:46:29 -04:00
Joey Hess
bb284cd980
move display of transfer scan in progress to transfers section of dashboard
...
This way it's only visible when transfers are not running, which is about
what a user would expect.
2013-03-19 13:03:41 -04:00
Joey Hess
78c1cf5564
webapp: Force wrap long filenames in transfer display.
2013-03-18 19:09:05 -04:00
Joey Hess
69cc8e83ce
minor robustness fixes in repo cost reordering code
2013-03-18 13:13:33 -04:00
Joey Hess
705cb5a84a
cleanup import
2013-03-18 12:48:36 -04:00
Joey Hess
1d4ba882b3
redirect to FirstRepositoryR
...
This makes the new POST form work, since otherwise it would
try to POST ConfigurationR, which is not supported.
2013-03-18 12:47:44 -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
48d9a3182f
reorg templates
2013-03-15 12:47:41 -04:00
Joey Hess
9cf4701a8f
no longer need webapp state storage! excellent
2013-03-15 01:01:25 -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
bcc40eac4a
another hamlet compat fix
2013-03-14 16:22:18 -04:00
Joey Hess
bac84ecbcd
some hamlet versions do not support nested tuples
2013-03-14 15:28:11 -04:00
Joey Hess
2bd2703eab
bugfix; simplify
2013-03-14 15:23:45 -04:00
Joey Hess
7289f92522
fix sorting
2013-03-14 14:15:35 -04:00
Joey Hess
a336a7fc1b
show paused remotes in cost order, not at end of repo list
2013-03-14 13:33:30 -04:00
Joey Hess
99dc302d06
webapp: Repository costs can be configured by dragging repositories around in the repository list.
2013-03-14 13:12:27 -04:00
Joey Hess
6af91dadb8
AJAX reordered list back to yesod. THIS TOOK 3 HOURS. Aargh
2013-03-14 11:56:06 -04:00
Joey Hess
b9b5c3991c
drag and drop repo list (doesn't yet actually change cost settings)
2013-03-13 22:47:16 -04:00
Joey Hess
581fe0644f
proof of concept remote reordering UI (needs to be changed to use drag and drop)
2013-03-13 17:59:33 -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
602076af28
tweak
2013-03-12 08:15:41 -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
285838633b
show build flags on webapp about page
2013-03-09 14:59:38 -04:00
Joey Hess
bf46e6f15d
fix warning
2013-03-08 22:25:23 -04:00
Joey Hess
6e7a43ab61
avoid listing glacier when prompting to set up a transfer repository after xmpp
2013-03-07 13:01:18 -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
2894ba5860
webapp: Only show up to 10 queued transfers.
...
The transfer queue can grow larger than 10 when queueing transfers for
files that were just received, as well as requeueing failed transfers.
I probably need to do some work to prevent that, as it could use a lot of
RAM. But for now, cap the number of displayed transfers in the webapp, to
avoid flooding the browser.
2013-02-28 15:51:53 -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
47477b2807
crippled filesystem support, probing and initial support
...
git annex init probes for crippled filesystems, and sets direct mode, as
well as `annex.crippledfilesystem`.
Avoid manipulating permissions of files on crippled filesystems.
That would likely cause an exception to be thrown.
Very basic support in Command.Add for cripped filesystems; avoids the lock
down entirely since doing it needs both permissions and hard links.
Will make this better soon.
2013-02-14 14:15:26 -04:00
Joey Hess
5cd152b8a9
annex.autocommit
...
New setting, can be used to disable autocommit of changed files by the
assistant, while it still does data syncing and other tasks.
Also wired into webapp UI
2013-01-27 22:43:05 +11:00
Joey Hess
76ddf9b6d3
webapp: Now allows restarting any threads that crash.
2013-01-26 17:09:33 +11: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
e15cca7db8
webapp: Now has a page to view the log, accessed from the control menu.
2013-01-15 13:52:35 -04:00
Joey Hess
a707d69e77
webapp: Avoid an error if a transfer is stopped just as it finishes. Closes : #698184
2013-01-14 19:04:58 -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
5a9f8acb99
webapp: More adjustments to longpoll code to deal with changes in variable quoting in different versions of shakespeare-js.
2013-01-14 18:35:33 -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
bc6a59e3c6
webapp: Repo switcher filters out repos that do not exist any more (or are on a drive that's not mounted).
2013-01-09 19:00:28 -04:00
Joey Hess
bad9b6761d
restart UI
...
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.
2013-01-03 18:50:30 -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
de2e287133
webapp: Add UI to stop assistant.
...
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.
2013-01-03 15:24:21 -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
45821bd557
tweak
2012-12-02 23:10:11 -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
c941523b63
webapp: Prettify error display.
2012-12-02 15:02:49 -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
8a5eaf8c3f
Merge branch 'master' of ssh://git-annex.branchable.com
2012-11-18 13:21:32 -04:00
Joey Hess
dea2780b78
fix build with yesod-form-1.2.0
2012-11-18 13:21:19 -04:00
Joey Hess
b60d5116a9
fix warning
2012-11-18 13:04:35 -04:00
Joey Hess
70f4bed400
language CPP
2012-11-18 13:03:00 -04:00
Joey Hess
fe11b3a940
fix build with shakespeare-js-1.0.0.2
...
For no apparent reason, this version removes all useful instances of
ToJavaScript, leavind behind only an instance for Aeson.Value. Argh. Pissed
off at this arbitrary breaking change, and seriously considering dropping
this library.
2012-11-18 13:00:35 -04:00
Joey Hess
b0a76592c3
pass Text into julius
...
May fix
http://git-annex.branchable.com/bugs/3.20121112:_build_error_in_assistant/
2012-11-17 16:19:54 -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
6a0756d2fb
use trustExclude
2012-11-11 00:26:29 -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
75048b43e2
split repository comfiguration page into several widgets
2012-11-10 17:08:43 -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
96c7a5ce32
fix intro display when there is 1 remote
2012-10-30 18:21:13 -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
ea8df8fe9f
cleanup daemonStatus accessors
2012-10-30 14:44:18 -04:00
Joey Hess
68118b8986
split remaining assistant types
2012-10-30 14:34:48 -04:00
Joey Hess
f78ca9bc58
split out daemonstatus types
2012-10-30 14:11:14 -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
d5a5c05a79
tweak
2012-10-29 17:02:50 -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
67ce7929a5
Assistant monad, stage 3
...
All toplevel named threads are converted to the Assistant monad.
Some utility functions still need to be converted.
2012-10-29 14:07:12 -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
4ac2fd0a22
ensure that git-annex branch is pushed after a successful transfer
...
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.
2012-10-28 16:05:34 -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
Nicolas Pouillard
03ba7d6a87
One more #ifdef WITH_S3
2012-10-18 12:43:24 -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
6ea6a2e71c
better variable name
2012-10-14 14:50:03 -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
4ef6dac5c2
webapp: Improve wording of intro display. Closes : #689848
2012-10-11 15:04:38 -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
0ccfb3bbb2
let's not -DOSX, that results in unwanted mangling
2012-09-29 14:49:15 -04:00
Joey Hess
cc0e5b7c52
use getAddrInfo, to support ipv6
2012-09-29 12:50:12 -04:00
Joey Hess
e88e3ba85b
standalone linux app nearly ready
...
also made several fixes that apply to the OSX app
2012-09-28 19:08:13 -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
1087fac544
add a alert at the top of the main part of the webapp, above the transfers display
...
Based on feedback that it was too sparse to be clear what it's doing.
2012-09-28 13:30:29 -04:00
Joey Hess
06a2427deb
disable etags on yesod static site
...
Seems buggy, it was causing redirects from /static/jquery-full.js to
/jquery-full.js. Only in some builds, like Jimmy's.
2012-09-28 12:34:44 -04:00
Joey Hess
8b61bac418
put version on about page
2012-09-27 18:09:05 -04:00
Joey Hess
a02d6b36d8
Add OSX standalone app license bundle, and arrange for the About page
...
to link to it.
2012-09-27 16:47:52 -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