Joey Hess
c6d2bbe402
assistant adding of files in direct mode
2012-12-24 13:37:29 -04:00
Joey Hess
82617b92e9
move thirdparty program installation for standalone bundle into haskell program
...
This allows it to use Build.SysConfig to always install the programs
configure detected. Amoung other fixes, this ensures the right uuid
generator and checksum programs are installed.
I also cleaned up the handling of lsof's path; configure now checks for
it in PATH, but falls back to looking for it in sbin directories.
2012-12-14 16:07:59 -04:00
Joey Hess
0d50a6105b
whitespace fixes
2012-12-13 00:45:27 -04:00
Joey Hess
501ec95a27
assistant: Fix syncing to just created ssh remotes.
...
This got broken when I optimised reconnecting with remotes, to not do a
full scan if the remote was not diverged.
2012-12-06 17:15:50 -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
99a8a5297c
--auto fixes
...
* get/copy --auto: Transfer data even if it would exceed numcopies,
when preferred content settings want it.
* drop --auto: Fix dropping content when there are no preferred content
settings.
2012-12-06 13:22:16 -04:00
Joey Hess
3fdb78a51e
assistant: Allow periods in ssh key comments.
2012-12-06 10:39:51 -04:00
Joey Hess
c59783a549
assistant: Avoid trying to drop content from remotes that don't have it.
2012-12-05 12:44:08 -04:00
Joey Hess
6c0bdc3447
typo
2012-12-05 12:32:26 -04:00
Joey Hess
e5516fc68f
avoid crashing threads that drop content if the drop crashes
2012-12-05 12:28:50 -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
5de0215986
remove dead code
2012-12-01 15:21:24 -04:00
Joey Hess
2f50af5273
better function name
2012-12-01 15:00:03 -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
d2df2e52b4
remove hard link when sanity check failed
...
See http://git-annex.branchable.com/forum/dot_git_slash_annex_slash_tmp/
2012-11-29 16:54:51 -04:00
Joey Hess
3b35cde0e8
assistant: Retrival from glacier now handled.
2012-11-29 15:23:33 -04:00
Joey Hess
600beeb399
typo
2012-11-28 16:17:13 -04:00
Joey Hess
51aa988a9f
Fix broken .config/git-annex/program installed by standalone tarball.
...
It was doubly broken; both missing a slash, and containing
"runshell git-annex", while some parts of the code expected it to be a
simple path to a program. This appears to include the transfer queue
runner, and the code that starts a new assistant process when switching to
another repository in the webapp.
2012-11-28 16:09:38 -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
6991f47e9e
avoid using Data.AssocList, which is cunningly part of hxt
2012-11-27 22:57:04 -04:00
Joey Hess
2525fefbb9
The standalone builds now unset their special path and library path variables before running the system web browser.
...
Should fix a crash reported on OSX.
2012-11-27 17:05:29 -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
c282c8b492
queue uploads when a new or renamed symlink is handled
2012-11-24 15:38:24 -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
3c039d329c
update to dav 0.1, and basic uploading is working!
2012-11-15 13:46:16 -04:00
Joey Hess
e250f6f11f
factor out Creds
2012-11-14 19:32:27 -04:00
Joey Hess
98d45cd383
use System.Timeout
...
I'd forgotten this existed!
2012-11-14 11:53:23 -04:00
Joey Hess
d468e37f46
automatic repolist updating
2012-11-13 17:50:54 -04:00
Joey Hess
c9d58a6590
Fix build of assistant without yesod.
2012-11-13 15:36:34 -04:00
Joey Hess
75dbce69e6
Show error message to user when testing XMPP creds.
2012-11-13 13:21:09 -04:00
Joey Hess
e10137b4da
upper-case first char of buddy name
2012-11-12 13:27:30 -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
522e228aef
auto-accept pair requests from JIDs already paired with
2012-11-11 18:16:11 -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
217eeede43
allow both one push and one receive-pack to run at the same time
...
Noticed that when pairing, sometimes both sides start to push, and the other
side sends a PushRequest, and the two deadlock, neither doing anything.
(Timeout eventually breaks this.) So, let both run at the same time.
2012-11-11 15:42:03 -04:00
Joey Hess
b44e8bb4a5
add 120 second timeout when waiting for XMPP packets
2012-11-11 13:38:28 -04:00
Joey Hess
6a0756d2fb
use trustExclude
2012-11-11 00:26:29 -04:00
Joey Hess
3f8ce7a0c5
reword alert
2012-11-10 20:52:46 -04:00
Joey Hess
f3bbe075f2
fix creation of creds directory for xmpp
2012-11-10 20:48:45 -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
41085cdc8c
set negative XMPP presence priority
...
This should help prevent git-annex clients receiving messages that
were intended for normal clients they're sharing the account with.
Changed XMPP protocol use to always send chat messages directed at the
specific client, as the negative priority blocks less directed messages.
2012-11-10 15:33:12 -04:00
Joey Hess
ec186d6369
avoid sending xmpp push notifications when not pushing to any remotes
2012-11-10 14:52:25 -04:00
Joey Hess
957e742dfc
full-on git-annex assistant syncing now works over XMPP!
...
I decided to use the fallback push mode from the beginning for XMPP, since
while it uses some ugly branches, it avoids the possibility of a normal
push failing, and needing to pull and re-push. Due to the overhead of XMPP,
and the difficulty of building such a chain of actions due to the async
implementation, this seemed reasonable.
It seems to work great!
2012-11-10 14:38:50 -04:00
Joey Hess
7a20b3f1d5
more refactoring
2012-11-10 14:01:24 -04:00
Joey Hess
0cf4c3ba9c
more nice refactoring
2012-11-10 13:00:13 -04:00
Joey Hess
7ab993ffc9
better data types allowed marvelous refactoring
2012-11-10 12:33:55 -04:00
Joey Hess
81953c2131
separate data type for push stages
...
This improves type safety.
2012-11-10 12:18:00 -04:00
Joey Hess
8b8964b523
refactor
2012-11-10 02:35:54 -04:00
Joey Hess
235f2ecb91
use a lookup table for speed
2012-11-10 02:18:19 -04:00
Joey Hess
2286032781
on second thought, do allow deferring StartingPush
...
My reasoning is that StartingPush could be received after another push
starts being received, and it would be better to respond to it afterwards
than not.
2012-11-10 01:41:28 -04:00
Joey Hess
16b2472574
refactor
2012-11-10 01:40:50 -04:00
Joey Hess
c0fab69f85
fix deferring of CanPush, and stop deferring StartingPush
2012-11-10 01:34:03 -04:00
Joey Hess
f57c2ef99e
refactor
2012-11-10 00:24:26 -04:00
Joey Hess
0f8bbcc8fd
refactor
2012-11-10 00:15:00 -04:00
Joey Hess
5fce2c013d
refactor
2012-11-10 00:09:03 -04:00
Joey Hess
341d09adc2
fix exit code propigation
2012-11-10 00:02:55 -04:00
Joey Hess
ee0958e044
refactor
2012-11-09 23:52:51 -04:00
Joey Hess
c00ecfbb83
ensure handles get closed
2012-11-09 23:27:07 -04:00
Joey Hess
3f2467f253
increase chunk size
...
XMPP has no defined message size limits, but some servers will have ad-hoc
limits. However, 4k seems safe, even after the additional bloat of base64.
That should not exceed 8k.
2012-11-09 23:21:51 -04:00
Joey Hess
4a5e758a5a
refactor
2012-11-09 23:17:47 -04:00
Joey Hess
6174c748af
refactor
2012-11-09 23:12:54 -04:00
Joey Hess
6acc4fa83f
avoid excessive debugging
2012-11-09 17:51:26 -04:00
Joey Hess
62fa648455
xmpp git push is working!
...
Various final bug fixes, and tweaks that got it working.
Currently pushes a hardcoded ref, which needs to be fixed, etc.
2012-11-09 17:40:59 -04:00
Joey Hess
1deda1db13
fix murderous typo
2012-11-09 17:33:34 -04:00
Joey Hess
47c032a748
run xmpp push actions in separate thread from xmpp client
...
Took me a while to figure out why the xmpp client was not receiving git xmpp
push messages after a push started.
2012-11-09 16:04:55 -04:00
Joey Hess
232b61e946
fix git push startup
2012-11-09 15:03:16 -04:00
Joey Hess
13547aa659
add canpush xmpp command
2012-11-09 14:34:06 -04:00
Joey Hess
82ccb385e3
use xmpp::user@host for xmpp remotes
...
Inject the required git-remote-xmpp into PATH when running xmpp git push.
Rest of the time it will not be in PATH, and git won't be able to talk to
xmpp remotes.
2012-11-09 13:35:23 -04:00
Joey Hess
29b72205bd
blog for the day
2012-11-08 19:41:36 -04:00
Joey Hess
fb3b9412e4
xmpp push control flow
...
It might even work, although nothing yet triggers XMPP pushes.
Also added a set of deferred push messages. Only one push can run at a
time, and unrelated push messages get deferred. The set will never grow
very large, because it only puts two types of messages in there, that
can only vary in the client doing the push.
2012-11-08 16:46:29 -04:00
Joey Hess
08916ef695
rename
2012-11-08 14:06:43 -04:00
Joey Hess
0238e4ba07
hooked up XMPP git push send/receive (but not yet control flow)
2012-11-08 14:04:41 -04:00
Joey Hess
950c62e6fc
data types and xml generation/parsing for xmpp push
2012-11-07 16:59:18 -04:00
Joey Hess
dbff2a1d73
better git-annex tag handling
...
Allow the tag to contain a value. Better extraction of the attribute value.
2012-11-07 15:47:30 -04:00
Joey Hess
b827afba03
rename another 'close'
2012-11-07 14:56:32 -04:00
Joey Hess
b8585a9452
NetManager is only currently used with dbus
2012-11-07 14:56:32 -04:00
Joey Hess
af44b7ec15
built IO side of xmppReceivePack
2012-11-06 16:36:44 -04:00
Joey Hess
f6bcab3f57
cleanup
2012-11-06 16:08:36 -04:00
Joey Hess
dbbd65e035
note
2012-11-06 15:57:18 -04:00
Joey Hess
33d2c05665
implemented IO side of xmppPush; xmpp side still todo
2012-11-06 10:54:12 -04:00
Joey Hess
68a5c98acc
xmppgit now actually works
...
But I could not find a way to implement it using just FD piping; it
has to copy the data.
2012-11-06 10:14:00 -04:00
Joey Hess
cb7523b9e8
add xmppgit command; roughed out xmpp push protocol and design
2012-11-06 00:59:20 -04:00
Joey Hess
8f08aa3f45
better handling of lifting from XMPP -> Assistant
2012-11-05 19:39:08 -04:00
Joey Hess
fdb6a88877
ignore Messages from our client's own jid
...
shouldn't ever happen, but hey
2012-11-05 17:54: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
da65c5c1d1
tweak
2012-11-05 16:00:55 -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
a2c393b4ae
fix non-xmpp build
2012-11-05 13:29:53 -04:00
Joey Hess
1178840032
Bugfix: Fix hang in webapp when setting up a ssh remote with an absolute path.
2012-11-05 12:35:11 -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
9cff286ea3
avoid repeated pairing alerts
2012-11-03 21:38:27 -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
5108d4b364
update xmpp protocol
...
Amusingly, I am not really using xmpp ping for pairing. I forgot to put in
the ping tag! And when I did, it stopped working, on Google Talk. Seems
it handles client to client pings, at least using the same JID, without
actually sending them to the end client. My mistake avoided this,
and seems to work, so I've left it as-is for now, with just the git-annex
tag in an IQ message. Also tested on prosody.
2012-11-03 19:18:26 -04:00
Joey Hess
21a287a0b3
rename xmpp creds file
...
it's not just about push notifications anymore
2012-11-03 18:58:37 -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
cbbfd4d00b
bugfix
2012-11-03 14:32:59 -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
a6d15938ab
fix marking git-annex clients away when they disconnect
2012-11-02 21:36:26 -04:00
Joey Hess
bf17262986
ignore our own client presence
2012-11-02 21:23:58 -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
39e82b1af8
webapp: Generate better git remote names.
...
Wrote a better git remote name sanitizer. Git blows up on lots of weird
stuff, especially if it starts the remote name, but I managed to get
some common punctuation working.
2012-10-31 15:26:19 -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
a4c6b30e2c
avoid using Blaze directly
...
New 0.5 changes the api, rather gratuitously, so run away. I can juse use
Hamlet here.
2012-10-31 13:27:56 -04:00
Joey Hess
88d1907278
where indentation
2012-10-31 02:34:03 -04:00
Joey Hess
7fe1baf3f1
assistant: Fix syncing local drives.
...
Amoung other things, this makes it immediately sync files from a removable
drive when it's added.
2012-10-30 19:33:27 -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
a1bd5b1fa0
don't delay at startup
...
Still wait 1 minute after a change before waiting on the next change, but don't
wait at the start, when we might get a pull that contains config changes
right away.
2012-10-30 17:23:42 -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
42babf5012
split Commits and lifted
2012-10-29 19:35:18 -04:00
Joey Hess
d2294f0dfa
split Changes and lifted
2012-10-29 19:30:23 -04:00
Joey Hess
39a3adf434
split BranchChange and lifted
2012-10-29 19:20:54 -04:00
Joey Hess
0c584bf70d
split ScanRemotes and lifted
2012-10-29 19:14:30 -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