Commit Graph

106 Commits

Author SHA1 Message Date
Dan Mills
a67aabffa4 add logic to detect when the same item is in both incoming & outgoing queues, but with different IDs - change the local ID in that case 2008-11-27 00:25:28 +09:00
Dan Mills
c221d2ea8e decrypt incoming items all in one go so as to sort them by index (which is inside the payload); don't attempt to change the index of an item if we're also changing its folder; only change index/parent if it's different from current value 2008-11-26 14:07:18 +09:00
Dan Mills
63f0615496 comment depth function for clarity, remove incorrect warning 2008-11-25 16:37:19 +09:00
Dan Mills
82dda0e367 sort incoming records by depth, so that folders are created before their containing items 2008-11-25 16:12:00 +09:00
Dan Mills
fbbdb6c964 use the new modified property returned after a server POST 2008-11-25 14:48:22 +09:00
Dan Mills
e5c9923591 add some debug chatter 2008-11-25 01:48:38 +09:00
Dan Mills
409940f099 clean up sync function, get last timestamp properly from post result, save correct snapshot at the end, only attempt to post changes to server if there are any changes at all 2008-11-25 01:04:14 +09:00
Dan Mills
5b84631f1a enable batch upload, yay! 2008-11-20 10:38:53 +09:00
Dan Mills
48b9bd885e more NewEngine impl 2008-11-20 09:20:25 +09:00
Dan Mills
b12787f2f2 crypto changes: private keys get their own iv and salt, crypto meta records get a separate iv and no salt. various fixes in crypto code and other wbo related objects. fix crypto tests to match. 2008-11-08 02:00:33 -08:00
Dan Mills
7091144051 make sure records always have a data field that represents their state (e.g. for serialization); add some pki routines (createKeypair); add incoming/outgoing queue to NewEngine 2008-11-06 23:23:35 -08:00
Dan Mills
8d20157eb8 add a temp NewEngine class that will talk to the 0.3 server 2008-11-06 19:18:07 -08:00
Dan Mills
6151afb26d fix log4moz calls (new api), fix module imports for renamed modules 2008-11-03 15:00:38 -08:00
Dan Mills
1f877adb30 move some code from the engine to remote.js; rename FileEngine to BlobEngine (since it doesn't actually sync complete files); clean up SyncEngine's sync method 2008-08-08 14:42:57 -07:00
Dan Mills
010357f05a add a hack that supresses a strange error (this._remote.status.data is null, even though it was downloaded correctly) 2008-07-31 00:20:55 -07:00
Dan Mills
6b50b61a62 fix snapshot typos in SyncEngine 2008-07-30 22:52:49 -07:00
Dan Mills
0102f2cd60 more tab sync fixes, only disposing is left to fix; also allow the notify wrapper to pass along an optional data payload 2008-07-30 21:58:13 -07:00
Dan Mills
eef307467c use client GUID (from ClientData) for FileEngine 2008-07-29 18:38:58 -07:00
Dan Mills
a81ac5e9da Remote.put doesn't require the data arg anymore 2008-07-29 17:35:10 -07:00
Dan Mills
7b63f59feb get crypto working with FileEngine 2008-07-29 12:04:41 -07:00
Dan Mills
acc0a427fd initial try to get crypto working with FileEngine 2008-07-29 11:03:06 -07:00
Dan Mills
58affe8131 Implement FileEngine 2008-07-25 17:02:43 -07:00
Dan Mills
c678010dcf split Engine into SyncEngine and FileEngine 2008-07-25 01:06:23 -07:00
Dan Mills
9ca663413e Fix network timeouts, make them take into account progress; re-upload new snapshot after 25 deltas 2008-07-21 18:23:51 -07:00
Chris Beard
e9ac166a41 * major revision to the login dialog to be more robust, adding error handling, styling and a help link
* some minor hacking of the login progress to improve performance
* expanded the application exit sync dialog to be a general modal sync dialog that will display whenever appropriate (e.g. during initial setup, on manual "sync now" requests, and on application exit)
* added a progress meter and status messages to the modal sync dialog to provide users with a better understanding of what's going on, and to assist in debugging
* added ability to cancel a modal sync request, including on application exit. when cancel is clicked on by the user, it will attempt to cancel the sync at the next opportunity (i.e. before the next sync engine is processed)
2008-07-09 17:17:24 -07:00
Dan Mills
80417871c4 merge upstream changes 2008-06-29 07:07:11 -07:00
Dan Mills
e03543007a make resetguids async 2008-06-29 07:00:53 -07:00
Anant Narayanan
089c1c0f42 General restructure for performance improvements (bug 441907, r=thunder) 2008-06-27 20:16:43 -07:00
Dan Mills
c0471ca320 make log messages that print raw engine json be trace messages 2008-06-27 14:21:54 -07:00
Atul Varma
37225f431c Changed AsyncException so that it dynamically subclasses the exception it's wrapping, and adds an 'asyncStack' property to allow access to the asynchronous call stack. This, along with my previous few commits, makes the processing of stack traces in our code much more streamlined, and also allows our debugging output to be more informative, as stack information is now logged from the point at which an exception was thrown, rather than the point at which it was caught.
Also renamed some things in async.js to be more descriptive and easier-to-understand, albeit a bit more verbose.
2008-06-25 04:43:07 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
2158cdf9c4 Merged 2008-06-24 13:41:25 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c4fa84f683 Merged 2008-06-24 13:41:12 -07:00
Dan Mills
e2fc25dbfa Store each delta as a separate file on the server 2008-06-24 12:33:27 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
ed99f7cb53 Make the stop-sharing-data command work 2008-06-23 18:23:08 -07:00
Justin Dolske
6ed3755104 Bug 433949 - Use WeaveCrypto component (NSS) instead of OpenSSL 2008-06-23 16:23:57 -07:00
Atul Varma
4c78f8d170 Improved test_passwords so that it syncs, re-syncs, adds a new user, and re-syncs again.
Fixed a strict warning in engines.js.
2008-06-20 14:22:06 -07:00
Dan Mills
0c3a240876 make RemoteStore a but more Store-like (wrap, wipe methods); fix a missing yield 2008-06-17 18:03:02 +09:00
Dan Mills
f8a841ee5e move more remote-interaction code into RemoteStore (and out of Engine) 2008-06-17 01:04:23 +09:00
Dan Mills
f74b9f910f catch 404s from initSession and do an initial upload; fix some bugs (missing yields, references to Engine properties) in RemoteStore.initialize 2008-06-16 00:21:44 +09:00
Dan Mills
a8ad7d2804 merge upstream changes 2008-06-15 13:42:10 +09:00
Dan Mills
049ecf1de3 Move remote init code ('fullUpload') into RemoteStore; make RemoteStore hold an Engine object (tightly coupling them); make the server prefix and identity properties of Engine public 2008-06-14 17:07:06 +09:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b462aad4a5 Merged changes. 2008-06-12 14:30:46 -07:00
Myk Melez
0a15090c8c bug 437529: yield after starting to put the status file to the server so we don't finalize the sync until the PUT request completes 2008-06-11 17:44:08 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5459e1733a Resolved merging conflicts to service.js. 2008-06-11 11:54:44 -07:00
Dan Mills
5ca3a1eb7f merge upstream changes 2008-06-11 23:31:28 +09:00
Myk Melez
0f8b279e6e give Engine a public getter for its snapshot that TabTracker can access when generating a sync urgency score 2008-06-11 00:03:28 -07:00
Dan Mills
de1d1acb26 Various changes:
Engine/RemoteStore:
* Move code to make the engine remote directory into RemoteStore.
* Fix initSession call in Engine to properly use callback / call yield.
* Do not check '_getServerData' return status in _sync, we will use exceptions from RemoteStore instead.
* Move code to push a new delta into RemoteStore (appendDelta()).  Currently comments out code that forces a re-upload in cases where the server (engine) format version was different.  We may add this back later into RemoteStore (?).
* Note that this patch also removes the 'this._encryptionChanged' conditional, which I believe is currently useless (we never set it).
Service:
* When wiping the server (due to a server version mismatch), skip .htaccess files, since they are usually not user-modifiable.
2008-06-11 11:12:04 +09:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b22dd7428c Fixed a couple of minor bugs that were preventing bookmark share from starting (like, i was skipping enabled engines instead of disabled engines... duhh) 2008-06-09 18:44:13 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
dfdff82d82 The folder annotation for outgoing shared folders is now a string containing the username of the person the folder is being shared with. Also moved to using const strings in bookmark-menu-overlay.js. 2008-06-09 12:12:51 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
473352178e Resolved conflicts with Chris's changes (to use the username, unhashed, as the name of the server-side sharing directory) 2008-06-06 17:43:15 -07:00