GithubHelp home page GithubHelp logo

zsync's Introduction

This project has been deprecated by the release of iCloud by Apple.

The repository is left here for historical purposes.

zsync's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

zsync's Issues

Device: Thinks it's connected to a server when it isn't

At least that's what I'm assuming is happening here. Somehow I've gotten the SampleTouch app to not display the pairing code even though the desktop is requesting one. Here are the logs:

Steps to Reproduce

A note: This bug exhibited itself after some other bugs were encountered (mostly the canceling ones), but it is reliable.

  1. Run the ZSyncDaemon
  2. Run SampleTouch
  3. Tap the Sync button
  4. Pick the server name from the list of available servers

Expected Result

The SampleTouch app would display a pairing code.

Actual Result

The Mac displays a Pairing Code input window, but the SampleTouch app just dismisses the server list and doesn't display anything.

No crashes were observed.

SampleTouch:
[Session started at 2010-06-18 10:10:02 -0400.]
2010-06-18 10:10:09.636 SampleTouch[4414:207] Reachability Flag Status: -R ------d localWiFiStatusForFlags
2010-06-18 10:10:09.637 SampleTouch[4414:207] -[ZSyncTouchHandler startServerSearch] -[ZSyncTouchHandler startServerSearch] starting browser
2010-06-18 10:10:09.739 SampleTouch[4414:207] -[ZSyncTouchHandler services:] -[ZSyncTouchHandler services:] server list found
2010-06-18 10:10:13.498 SampleTouch[4414:207] -[ZSyncTouchHandler connectionDidOpen:] -[ZSyncTouchHandler connectionDidOpen:] entered
2010-06-18 10:10:13.499 SampleTouch[4414:207] -[ZSyncTouchHandler connectionDidOpen:] -[ZSyncTouchHandler connectionDidOpen:] initial send complete
2010-06-18 10:10:13.515 SampleTouch[4414:207] -[ZSyncTouchHandler connection:receivedResponse:] -[ZSyncTouchHandler connection:receivedResponse:] entered
{
kZSyncAction = 1132;
}
2010-06-18 10:10:13.568 SampleTouch[4414:207] -[ZSyncTouchHandler connection:receivedResponse:] -[ZSyncTouchHandler connection:receivedResponse:] entered
{
kZSyncAction = 1123;
}

ZSyncDaemon:
run
[Switching to process 4425]
Running…
2010-06-18 10:10:13.497 ZSyncDaemon[4425:a0f] -[ZSyncHandler listener:didAcceptConnection:] fired
2010-06-18 10:10:13.501 ZSyncDaemon[4425:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-06-18 10:10:13.502 ZSyncDaemon[4425:a0f] -[ZSyncConnectionDelegate registerSyncClient:] -[ZSyncConnectionDelegate registerSyncClient:] clientID 4AB57989-88EE-4657-B517-02C98E99B519-4404-00003D3BB2DA06AD
2010-06-18 10:10:13.513 ZSyncDaemon[4425:a0f] -[ZSyncConnectionDelegate registerSyncClient:] -[ZSyncConnectionDelegate registerSyncClient:] client already registered: SampleTouch: iPhone Simulator
2010-06-18 10:10:13.516 ZSyncDaemon[4425:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-06-18 10:10:13.521 ZSyncDaemon[4425:a0f] -[PairingCodeWindowController windowDidLoad] -[PairingCodeWindowController windowDidLoad] fired

Daemon needs plugin design

The Daemon is written as a test atm and need to be changed to handle plugins. Need to figure out where to store the plugins so that they can be loaded.

Add a way to force a device to begin a sync from the desktop

Once there is a way to request the list of synced devices, we should be able to push a request for the device to sync from the desktop. Things has a menu option to "Sync with Kevin Hoctor's iPhone now" and that works well if I'm on my Mac and want to refresh from device.

Sync fails after a sync server couldn't be found

Summary

When attempting to sync a device, if the sync server can't be found, any subsequent attempts to sync will fail.

Steps to Reproduce

  1. Establish a fully working sync between the Mac and a device.
  2. Close the app on the device.
  3. Kill the ZSyncDaemon
  4. Run the app on the device.
  5. Attempt to sync (sync should fail)
  6. Start the ZSyncDaemon
  7. Attempt to sync

Expected Results

The sync should work just fine.

Actual Results

The sync fails with the following message at the console:
: -[ZSyncTouchHandler startServerSearch] -[ZSyncTouchHandler startServerSearch] service browser is not nil

Workaround

Close the app on the device and start it again.

Device: Cannot request sync after canceling sync request

Summary

When setting up syncing for the first time, if the user hits cancel on the device after requesting a list of devices they cannot request a list of devices a second time.

Steps to Reproduce

Using the SampleTouch application:

  1. Launch the ZSyncDaemon
  2. Tap the Sync button in SampleTouch
  3. When the list of available servers appears tap the Cancel button
  4. Tap the Sync button again.

Expected Results

The list of servers will appear again.

Actual Results

Sample touch crashes:

[Session started at 2010-06-18 09:45:44 -0400.]
2010-06-18 09:45:46.564 SampleTouch[4322:207] Reachability Flag Status: -R ------d localWiFiStatusForFlags
2010-06-18 09:45:46.565 SampleTouch[4322:207] -[ZSyncTouchHandler startServerSearch] -[ZSyncTouchHandler startServerSearch] starting browser
2010-06-18 09:45:46.667 SampleTouch[4322:207] -[ZSyncTouchHandler services:] -[ZSyncTouchHandler services:] server list found
2010-06-18 09:45:49.499 SampleTouch[4322:207] *** Assertion failure in -[ZSyncTouchHandler requestSync](), /Users/feymp/Desktop/ZSync/SampleTouch/../DeviceCode/ZSyncTouchHandler.m:143
2010-06-18 09:45:49.500 SampleTouch[4322:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Attempt to sync while another action is active'
2010-06-18 09:45:49.500 SampleTouch[4322:207] Stack: (
    47269968,
    48427820,
    47007499,
    1118869,
    22294,
    15755,
    3300590,
    5525360,
    3300590,
    3798078,
    3807424,
    3802221,
    3427816,
    3319363,
    3351000,
    54706556,
    46549148,
    46545064,
    54700189,
    54700386,
    3343218,
    9412,
    9301
)
terminate called after throwing an instance of 'NSException'

Device: No way to cancel a sync in progress

There is currently no way to cancel a sync in progress. This functionality would be particularly useful when the device is looking for a server that it cannot find, allowing the user to cancel the process instead of having to wait for the timeout.

Errors not passed to ZSyncDelegate

I cleared out all the registered sync clients and the schema using Syncrospector. I then fired up the ZSyncDaemon and a fresh copy of the iPhone app. My computer showed up in the list, but when I attempted to sync I got the following (expected) error at the command line of the iPhone app:
2010-04-07 10:08:54.676 MoneyWell[28988:207] zSyncNoServerPaired:
2010-04-07 10:08:54.678 MoneyWell[28988:207] ZSyncService GumpBookPro
2010-04-07 10:08:56.960 MoneyWell[28988:207] -[ZSyncTouchHandler connectionDidOpen:] entered
2010-04-07 10:08:56.962 MoneyWell[28988:207] -[ZSyncTouchHandler connectionDidOpen:] initial send complete
2010-04-07 10:09:00.229 MoneyWell[28988:207] -[ZSyncTouchHandler connection:receivedResponse:] entered
{

"Error-Code" = 501;
"Error-Domain" = BLIP;
NSLocalizedDescription = "[NOTE: this exception originated in the server.]\nfailed to register client because: client named 4A74A770-8144-48FD-8141-5F1CD56A04F6-28988-0001BCC14D1FF439 wants to sync unrecognized entity named: com.nothirst.MoneyWell.BucketBalance";
} 2010-04-07 10:09:00.229 MoneyWell[28988:207] -[ZSyncTouchHandler connection:receivedResponse:] received empty response, ignoring

The trouble is that the ZSyncDelegate method - (void)zSync:(ZSyncTouchHandler)handler errorOccurred:(NSError)error was never called so the UI just hung out waiting for a response that would never come.


I found another case of errors not being passed to the iPhone: During a sync attempt I had conflicts. In the sync conflict resolution window on my Mac I clicked "Sync Later". The daemon threw an error but the iPhone never saw it.
Here's the log from the ZSyncDaemon:
2010-05-17 11:19:58.334 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 11:19:58.335 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate registerSyncClient:] clientID A1B6EBFA-1C29-4E3C-A0C0-D4A3947F01B9-13741-0000EF282DB05186
2010-05-17 11:19:58.343 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate registerSyncClient:] client already registered: MoneyWell for iPhone: iPhone Simulator
2010-05-17 11:19:58.349 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 11:19:58.364 ZSyncDaemon[15243:a0f] -[PairingCodeWindowController windowDidLoad] fired
2010-05-17 11:20:03.383 ZSyncDaemon[15243:a0f] -[PairingCodeWindowController windowDidBecomeKey:] fired
2010-05-17 11:20:08.086 ZSyncDaemon[15243:a0f] -[PairingCodeWindowController dealloc] window released cleanly
2010-05-17 11:20:08.189 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 11:20:08.190 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate addPersistentStore:] request length: 0
2010-05-17 11:20:08.221 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 11:20:08.320 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:willPushChangesInSyncSession:] entered
2010-05-17 11:20:08.350 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didPushChangesInSyncSession:] entered
2010-05-17 11:20:30.670 ZSyncDaemon[15243:a0f] [110490] |ISyncSession|Warning| A1B6EBFA-1C29-4E3C-A0C0-D4A3947F01B9-13741-0000EF282DB05186: transitioning to cancel - session cancelled by server: SyncServer failed to merge the changes from some clients: ISyncSessionCancelledException session cancelled
2010-05-17 11:20:30.672 ZSyncDaemon[15243:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didCancelSyncSession:error:] entered
2010-05-17 11:20:30.675 ZSyncDaemon[15243:a0f] [110490] |CoreDataSync|Error| Failed to synchronize with error: (null)
2010-05-17 11:20:30.676 ZSyncDaemon[15243:a0f] *** Assertion failure in -ZSyncConnectionDelegate performSync, /Users/feymp/Development/NoThirst/MoneyWell/ZSyncDaemon/../ZSync/DesktopCode/ZSyncConnectionDelegate.m:163
2010-05-17 11:20:30.702 ZSyncDaemon[15243:a0f] Error starting sync session: (null)

Crash when requesting sync after canceling passcode entry

Steps to reproduce (using MoneyWell):

  1. Launch MoneyWell on your iOS device
    2a) If starting with a fresh install of the app choose to sync with your Mac
    2b) If starting with an existing install, tap on the settings gear on the home screen, then tap on sync.
  2. If you have an existing sync entry, delete it
  3. Choose a computer running ZSync on your Mac
  4. If prompted to replace the data on your iOS device choose to merge instead
  5. When the passcode is presented, tap the X button to cancel the sync setup
  6. Choose the same computer from the list again

Expected result: A passcode is presented as before.

Actual result: The app crashes.

The console spit out the following:

2010-08-03 16:17:35.511 MoneyWell[12700:207] *** Assertion failure in -[ZSyncTouchHandler connectionEstablished](), /Users/feymp/Development/NoThirst/MoneyWell-iPhone/ZSync/DeviceCode/ZSyncTouchHandler.m:589
(gdb) continue
16:17:57.351| aWARNING*** : Exception caught in BLIPConnection delegate:
Unknown server action: 0
0x3138fe14 <- 0x323c4b33 <- 0x33759269 <- 0x29c4b <- 0x2a929 <- 0x323f788f <- 0x5f99f <- 0x61f1d <- 0x657b9 <- 0x65ce1 <- 0x65b1d <- 0x60dd5 <- 0x33776b81 <- 0x32429da3 <- 0x32429f81

Device: Cannot request two syncs in a row

Summary

When setting up syncing for the first time, if the ZSyncDaemon isn't running and the user taps the sync button twice the app crashes.

Steps to Reproduce

Using SampleTouch:

  1. Make sure the ZSyncDaemon is NOT running
  2. Launch SampleTouch
  3. Tap the sync button
  4. Tap the sync button a second time

Expected Results

The app will continue to run and continue searching for servers

Actual Results

An exception is thrown and the app crashes:

[Session started at 2010-06-18 09:55:11 -0400.]
2010-06-18 09:55:13.289 SampleTouch[4360:207] Reachability Flag Status: -R ------d localWiFiStatusForFlags
2010-06-18 09:55:13.290 SampleTouch[4360:207] -[ZSyncTouchHandler startServerSearch] -[ZSyncTouchHandler startServerSearch] starting browser
2010-06-18 09:55:17.233 SampleTouch[4360:207] *** Assertion failure in -[ZSyncTouchHandler requestSync](), /Users/feymp/Desktop/ZSync/SampleTouch/../DeviceCode/ZSyncTouchHandler.m:143
2010-06-18 09:55:17.234 SampleTouch[4360:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Attempt to sync while another action is active'
2010-06-18 09:55:17.235 SampleTouch[4360:207] Stack: (
    47269968,
    48427820,
    47007499,
    1118869,
    22294,
    15755,
    3300590,
    5525360,
    3300590,
    3798078,
    3807424,
    3802221,
    3427816,
    3319363,
    3351000,
    54706556,
    46549148,
    46545064,
    54700189,
    54700386,
    3343218,
    9412,
    9301
)
terminate called after throwing an instance of 'NSException'

Re-pairing same device crashes ZSyncDaemon

Summary

When attempting to sync the same device after deregistering it the ZSyncDaemon crashes.

Steps to Reproduce

Setup a device to sync with a Mac
After the sync is complete de-register that device by calling [[ZSyncTouchHandler shared] disconnectPairing] and [[ZSyncTouchHandler shared] deregister]
Setup syncing with the same device to the same Mac

Expected Results

The device would sync properly with the Mac

Actual Results

The daemon exits with EXC_BAD_ACCESS. Here are the logs from the daemon:
2010-05-17 13:00:57.045 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:00:57.046 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate registerSyncClient:] clientID A975BA21-00A3-47C9-95C6-295EA3AA73A1-15528-0000F2D532D58511
2010-05-17 13:00:57.151 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate registerSyncClient:] client already registered: MoneyWell for iPhone: iPhone Simulator
2010-05-17 13:00:57.201 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:00:57.201 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate addPersistentStore:] request length: 681984
2010-05-17 13:00:57.223 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:00:57.351 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:willPushChangesInSyncSession:] entered
2010-05-17 13:00:59.050 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didPushChangesInSyncSession:] entered
2010-05-17 13:00:59.351 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:willPullChangesInSyncSession:] entered
2010-05-17 13:00:59.470 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didPullChangesInSyncSession:] entered
2010-05-17 13:00:59.490 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didFinishSyncSession:] sync is complete
2010-05-17 13:00:59.491 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate mocSaved:] info {

inserted = "{(\n)}";
updated = "{(\n)}";
} 2010-05-17 13:00:59.492 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate transferStoresToDevice] url file://localhost/var/folders/ZB/ZBHrjIO0H1KDKllJXKtvpU+++TI/-Tmp-/7A58E19C-207E-4BD5-9DCF-A199DCD7409D-15504-0000F7D505FE95A9.zsync
Identifier: BADFBD6C-C56B-47FC-9DF0-B22BDB84B734
Size: 681984
2010-05-17 13:00:59.528 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate transferStoresToDevice] file uploaded
2010-05-17 13:00:59.625 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedResponse:] entered
{

kZSyncAction = 1134;
zsStoreIdentifier = "BADFBD6C-C56B-47FC-9DF0-B22BDB84B734";
} 2010-05-17 13:00:59.660 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connectionReceivedCloseRequest:]     entered
2010-05-17 13:00:59.661 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate dealloc] Releasing
2010-05-17 13:01:41.591 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:01:41.591 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate registerSyncClient:] clientID A975BA21-00A3-47C9-95C6-295EA3AA73A1-15528-0000F2D532D58511
2010-05-17 13:01:41.591 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate registerSyncClient:] client already registered: MoneyWell for iPhone: iPhone Simulator
2010-05-17 13:01:41.643 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:01:41.643 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate addPersistentStore:] request length: 681984
2010-05-17 13:01:41.664 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:01:41.772 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:willPushChangesInSyncSession:] entered
2010-05-17 13:01:43.261 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didPushChangesInSyncSession:] entered
2010-05-17 13:01:43.562 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:willPullChangesInSyncSession:] entered
2010-05-17 13:01:43.599 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didPullChangesInSyncSession:] entered
2010-05-17 13:01:43.619 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate persistentStoreCoordinator:didFinishSyncSession:] sync is complete
2010-05-17 13:01:43.631 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate mocSaved:] info {

inserted = "{(\n)}";
updated = "{(\n)}";
} 2010-05-17 13:01:43.632 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate transferStoresToDevice] url file://localhost/var/folders/ZB/ZBHrjIO0H1KDKllJXKtvpU+++TI/-Tmp-/1E64FA8C-8100-4ACF-8FA2-A717414362D6-15504-0000F7DF5E3E59D1.zsync
Identifier: BADFBD6C-C56B-47FC-9DF0-B22BDB84B734
Size: 681984
2010-05-17 13:01:43.670 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate transferStoresToDevice] file uploaded
2010-05-17 13:01:43.765 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedResponse:] entered
{

kZSyncAction = 1134;
zsStoreIdentifier = "BADFBD6C-C56B-47FC-9DF0-B22BDB84B734";
} 2010-05-17 13:01:43.780 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connectionReceivedCloseRequest:] entered
2010-05-17 13:01:43.781 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate dealloc] Releasing
2010-05-17 13:14:09.403 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:14:09.403 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate registerSyncClient:] clientID A975BA21-00A3-47C9-95C6-295EA3AA73A1-15528-0000F2D532D58511
2010-05-17 13:14:09.793 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate registerSyncClient:] client already registered: MoneyWell for iPhone: iPhone Simulator
2010-05-17 13:14:09.799 ZSyncDaemon[15504:a0f] -[ZSyncConnectionDelegate connection:receivedRequest:] entered
2010-05-17 13:14:09.813 ZSyncDaemon[15504:a0f] -[PairingCodeWindowController windowDidLoad] fired
2010-05-17 13:14:11.166 ZSyncDaemon[15504:a0f] -[PairingCodeWindowController windowDidBecomeKey:] fired
2010-05-17 13:14:13.765 ZSyncDaemon[15504:a0f] -[PairingCodeWindowController dealloc] window released cleanly
Program received signal: “EXC_BAD_ACCESS”.

Workaround

Restarting the daemon seems to work, but with the side effect that the device doesn't know what server it is synced with. When the user attempts to setup syncing it just executes a sync instead.

Device: Server search times out

Summary

When performing an initial sync, the search for available servers will time out.

Steps to Reproduce

  1. Make sure the ZSyncDaemon is not running
  2. Launch SampleTouch
  3. Tap the Sync button
  4. Wait a minute or two
  5. Launch the ZSyncDaemon

Expected Results

The server list should appear.

Actual Results

The server list does not appear. Subsequent taps of the Sync button do not work.

[Session started at 2010-06-18 10:38:59 -0400.]
2010-06-18 10:39:01.602 SampleTouch[4878:207] Reachability Flag Status: -R ------d localWiFiStatusForFlags
2010-06-18 10:39:01.604 SampleTouch[4878:207] -[ZSyncTouchHandler startServerSearch] -[ZSyncTouchHandler startServerSearch] starting browser
2010-06-18 10:39:11.705 SampleTouch[4878:207] -[AppDelegate zSyncServerUnavailable:] -[AppDelegate zSyncServerUnavailable:] entered
2010-06-18 10:40:48.782 SampleTouch[4878:207] -[ZSyncTouchHandler startServerSearch] -[ZSyncTouchHandler startServerSearch] service browser is not nil

If user cancels passcode input on Mac, iPhone client isn't notified

Summary

When setting up syncing for the first time, if the user hits cancel on the passcode input window on their Mac the iPhone client delegate isn't notified and throws an error.

Steps to Reproduce

Begin a sync setup from an iPhone client using ZSync
When the passcode window appears on your Mac click its Cancel button

Expected Results

The delegate would be notified that the user canceled the sync request on their Mac

Actual Results

An exception is thrown and the delegate is not notified:

[Session started at 2010-06-18 09:19:53 -0400.]
2010-06-18 09:19:56.928 SampleTouch[4247:207] Reachability Flag Status: -R ------d localWiFiStatusForFlags
2010-06-18 09:19:56.929 SampleTouch[4247:207] -[ZSyncTouchHandler startServerSearch] -[ZSyncTouchHandler startServerSearch] starting browser
2010-06-18 09:19:57.034 SampleTouch[4247:207] -[ZSyncTouchHandler services:] -[ZSyncTouchHandler services:] server list found
2010-06-18 09:20:01.074 SampleTouch[4247:207] -[ZSyncTouchHandler connectionDidOpen:] -[ZSyncTouchHandler connectionDidOpen:] entered
2010-06-18 09:20:01.076 SampleTouch[4247:207] -[ZSyncTouchHandler connectionDidOpen:] -[ZSyncTouchHandler connectionDidOpen:] initial send complete
2010-06-18 09:20:01.270 SampleTouch[4247:207] -[ZSyncTouchHandler connection:receivedResponse:] -[ZSyncTouchHandler connection:receivedResponse:] entered
{
    kZSyncAction = 1132;
}
2010-06-18 09:20:01.461 SampleTouch[4247:207] -[ZSyncTouchHandler connection:receivedResponse:] -[ZSyncTouchHandler connection:receivedResponse:] entered
{
    kZSyncAction = 1123;
}
2010-06-18 09:20:08.940 SampleTouch[4247:207] *** Assertion failure in -[ZSyncTouchHandler connection:receivedRequest:](), /Users/feymp/Desktop/ZSync/SampleTouch/../DeviceCode/ZSyncTouchHandler.m:720
09:20:08.973| �WARNING*** : Exception caught in Dispatching BLIP request:
    Unknown action received: 1124
0x2e2f32c <- 0x2cd470b <- 0x111295 <- 0xaa60 <- 0x1796d <- 0x21915 <- 0x20e06 <- 0x213ea <- 0x166ee <- 0x143282 <- 0x2cc7313 <- 0x2cc727e <- 0x2c645fa <- 0x2c638a8 <- 0x342a89d

Incorrect passcode not reported to User

Summary

When setting up a sync, if the user enters an incorrect passcode on their Mac they are not notified that the passcode was incorrect.

Steps to Reproduce

  1. Run the ZSyncDaemon on your Mac and attempt to connect to it from a device
  2. When prompted on your Mac for the passcode displayed on the device, enter an incorrect code.

Expected Results

You will be notified on your Mac that the passcode is incorrect and asked to enter it again.

Actual Results

The passcode window disappears and nothing happens.

Workaround

Cancel the sync on the device and attempt to sync again. The passcode window will be redisplayed on your Mac.

Here's the console output from my device including the cancel request that I sent:
2010-06-02 10:44:46.766 MoneyWell[58557:207] Reachability Flag Status: -R ------d localWiFiStatusForFlags
2010-06-02 10:44:46.767 MoneyWell[58557:207] -[ZSyncTouchHandler startServerSearch] starting browser
2010-06-02 10:44:46.870 MoneyWell[58557:207] -[ZSyncTouchHandler services:] server list found
2010-06-02 10:44:51.133 MoneyWell[58557:207] -[ZSyncTouchHandler connectionDidOpen:] entered
2010-06-02 10:44:51.133 MoneyWell[58557:207] -[ZSyncTouchHandler connectionDidOpen:] initial send complete
2010-06-02 10:44:51.136 MoneyWell[58557:207] -[ZSyncTouchHandler connection:receivedResponse:] entered
{
kZSyncAction = 1132;
}
2010-06-02 10:44:51.173 MoneyWell[58557:207] -[ZSyncTouchHandler connection:receivedResponse:] entered
{
kZSyncAction = 1123;
}
2010-06-02 10:45:32.070 MoneyWell[58557:207] -[ZSyncTouchHandler cancelPairing] sending a pairing cancel

Can't get Sample Touch and Sample Desktop to sync (The TXT record did not contain a UUID)

Both projects compile and run successfully, yet when tapping "sync" on the iPhone, nothing happens. When tapping Sync again it says a sync process is already executing. Error on log seems to be:

"The TXT record did not contain a UUID" below is the complete log output on SampleTouch:

2010-08-27 19:35:58.456 SampleTouch[15423:207] -ZSyncTouchHandler registerDelegate:withPersistentStoreCoordinator: -[ZSyncTouchHandler registerDelegate:withPersistentStoreCoordinator:]
2010-08-27 19:35:59.417 SampleTouch[15423:207] -ZSyncTouchHandler requestSync -[ZSyncTouchHandler requestSync]
2010-08-27 19:35:59.418 SampleTouch[15423:207] -ZSyncTouchHandler startServerSearch -[ZSyncTouchHandler startServerSearch]
2010-08-27 19:35:59.419 SampleTouch[15423:207] Reachability Flag Status: -R ------d localWiFiStatusForFlags
2010-08-27 19:35:59.422 SampleTouch[15423:207] -ZSyncTouchHandler updateServerList -[ZSyncTouchHandler updateServerList]
2010-08-27 19:35:59.422 SampleTouch[15423:207] -ZSyncTouchHandler discoveredServers -[ZSyncTouchHandler discoveredServers]
2010-08-27 19:35:59.422 SampleTouch[15423:207] -ZSyncTouchHandler discoveredServers -[ZSyncTouchHandler discoveredServers]
2010-08-27 19:35:59.422 SampleTouch[15423:207] -ZSyncTouchHandler availableServers -[ZSyncTouchHandler availableServers]
2010-08-27 19:35:59.422 SampleTouch[15423:207] -ZSyncTouchHandler discoveredServers -[ZSyncTouchHandler discoveredServers]
2010-08-27 19:35:59.422 SampleTouch[15423:207] -ZSyncTouchHandler discoveredServers -[ZSyncTouchHandler discoveredServers]
2010-08-27 19:35:59.423 SampleTouch[15423:207] -ZSyncTouchHandler discoveredServers -[ZSyncTouchHandler discoveredServers]
2010-08-27 19:35:59.423 SampleTouch[15423:207] -ZSyncTouchHandler discoveredServers -[ZSyncTouchHandler discoveredServers]
2010-08-27 19:35:59.585 SampleTouch[15423:207] -ZSyncTouchHandler netServiceDidResolveAddress: -[ZSyncTouchHandler netServiceDidResolveAddress:]
2010-08-27 19:35:59.586 SampleTouch[15423:207] -ZSyncTouchHandler netServiceDidResolveAddress: [bonjourService TXTRecordData] <00>
2010-08-27 19:35:59.586 SampleTouch[15423:207] -ZSyncTouchHandler netServiceDidResolveAddress: The TXT record did not contain a UUID.

Pairing fails when device receives zsActionRequestPairing

I'm getting an assertion failure in ZSyncTouchHandler.m on line 1217 in connection:receivedResponse: when the zsActionRequestPairing action is passed. It might be that it shouldn't be being passed, but instead of dying, I added the following case to ignore it:

  case zsActionRequestPairing:
  // Ignore this code
  DLog(@"Ignoring zsActionRequestPairing code");
  return;

That seemed to resolve the issue for me.

Can't seem to get it built for iPhone devices

When I go to build for an iPhone device, I get the following (appears to be a problem with the bundled static lib):

Ld /Users/ahknight/Documents/BuildData/SampleTouch.build/Debug-iphoneos/SampleTouch.build/Objects-normal/armv7/SampleTouch normal armv7
cd /Volumes/Code/ThirdParty/ZSync-hg/SampleTouch
setenv IPHONEOS_DEPLOYMENT_TARGET 3.1.2
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk -L/Users/ahknight/Documents/BuiltProducts/Debug-iphoneos -L/Volumes/Code/ThirdParty/ZSync-hg/SampleTouch/../SharedCode -L/Volumes/Code/ThirdParty/ZSync-hg/SampleTouch/../DeviceCode -F/Users/ahknight/Documents/BuiltProducts/Debug-iphoneos -filelist /Users/ahknight/Documents/BuildData/SampleTouch.build/Debug-iphoneos/SampleTouch.build/Objects-normal/armv7/SampleTouch.LinkFileList -dead_strip -miphoneos-version-min=3.1.2 -framework Foundation -framework UIKit -framework CoreGraphics -framework CoreData -framework CFNetwork -framework QuartzCore -lz -lMYNetwork -framework SystemConfiguration -o /Users/ahknight/Documents/BuildData/SampleTouch.build/Debug-iphoneos/SampleTouch.build/Objects-normal/armv7/SampleTouch

Undefined symbols:
"___save_vfp_d8_d15_regs", referenced from:
-[BLIPResponse setComplete:] in libMYNetwork.a(BLIPRequest.o)
-[BLIPConnection _dispatchRequest:] in libMYNetwork.a(BLIPConnection.o)
_browseCallback in libMYNetwork.a(MYBonjourBrowser.o)
-[MYDNSConnection close] in libMYNetwork.a(MYDNSService.o)
+[MYDNSConnection sharedConnection] in libMYNetwork.a(MYDNSService.o)
_regCallback in libMYNetwork.a(MYBonjourRegistration.o)
_resolveCallback in libMYNetwork.a(MYBonjourService.o)
_queryCallback in libMYNetwork.a(MYBonjourQuery.o)
_lookupCallback in libMYNetwork.a(MYAddressLookup.o)
-[TCPConnection _streamPeerCertAvailable:] in libMYNetwork.a(TCPConnection.o)
-[TCPEndpoint tellDelegate:withObject:] in libMYNetwork.a(TCPEndpoint.o)
_invokeSingleTarget in libMYNetwork.a(Target.o)
_TCPListenerAcceptCallBack in libMYNetwork.a(TCPListener.o)
"___restore_vfp_d8_d15_regs", referenced from:
-[BLIPResponse setComplete:] in libMYNetwork.a(BLIPRequest.o)
-[BLIPConnection _dispatchRequest:] in libMYNetwork.a(BLIPConnection.o)
_browseCallback in libMYNetwork.a(MYBonjourBrowser.o)
-[MYDNSConnection close] in libMYNetwork.a(MYDNSService.o)
+[MYDNSConnection sharedConnection] in libMYNetwork.a(MYDNSService.o)
_regCallback in libMYNetwork.a(MYBonjourRegistration.o)
_resolveCallback in libMYNetwork.a(MYBonjourService.o)
_queryCallback in libMYNetwork.a(MYBonjourQuery.o)
_lookupCallback in libMYNetwork.a(MYAddressLookup.o)
-[TCPConnection _streamPeerCertAvailable:] in libMYNetwork.a(TCPConnection.o)
-[TCPEndpoint tellDelegate:withObject:] in libMYNetwork.a(TCPEndpoint.o)
_invokeSingleTarget in libMYNetwork.a(Target.o)
_TCPListenerAcceptCallBack in libMYNetwork.a(TCPListener.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

Add a way to request names and IDs of synced devices

Every app that I've set up to sync with the iPhone or iPad knows and shows the devices. It's important to see what devices are syncing with your data and to be able to show that to the user in the desktop app.

Daemon issue with unregistered schema

If the desktop app or whoever is responsible for the schema has not run first then the Daemon will not be able to register a client against it. This needs to be an error condition pushed back to the touch device so that the end user knows to run the desktop app at least once.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.