Commit Graph

801 Commits

Author SHA1 Message Date
Dan Mills
b787eaf955 collection searches for records older than a certain date now use the 'older' parameter instead of 'modified', since the latter is ambiguous depending on the verb used 2009-02-03 15:54:30 -08:00
Dan Mills
d1d31b3bc4 disable scheduled sync when login fails 2009-02-03 15:50:41 -08:00
Dan Mills
a3802a68ed server returns a json object for user root now, modify checkLogin() accordingly 2009-02-02 11:44:07 -08:00
Dan Mills
5b9b4696f2 ignore all events when tracker.ignoreAll is true; ignore most bookmark annotations (except for the ones we sync) 2009-02-02 11:43:06 -08:00
Dan Mills
72b7f9bf27 merge upstream changes 2009-01-27 17:23:51 -08:00
Dan Mills
abdf4fec19 set record ID for bookmark deletes too 2009-01-27 17:23:23 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
1e0abb5985 Added id argument to definition of createRecord in base Store class -- all subclasses must override this and must take the id argument. 2009-01-27 17:23:18 -08:00
Dan Mills
465c145c78 set record ID in history store when creating a record 2009-01-27 17:08:47 -08:00
Dan Mills
03d78b3d84 set record IDs inside the store; fix bookmarks tracker, it was ignoring change events (e.g., changed title and such) 2009-01-27 16:54:54 -08:00
Dan Mills
a47fcda5b1 only url-encode weave IDs when constructing a URL with them 2009-01-27 16:36:00 -08:00
Dan Mills
bc8fde0994 don't encrypt empty payloads 2009-01-27 15:25:16 -08:00
Dan Mills
c5ae81c609 initialize wbo records' uri property correctly 2009-01-27 15:12:35 -08:00
Dan Mills
a3d9640e3c Make records not extend Resource, instead they have a serialize() method that can be used to create a Resource for uploading if necessary.
Use global service instances under Svc.*
Consolidate various record managers (caches/convenience factories) to extend the same base object
Log exceptions caught by notify wrapper
2009-01-27 13:35:10 -08:00
Dan Mills
03ff21c860 Bug 471076: make notify wrapper catch exceptions; don't use catchAll wrapper in service, and check return value of login/verifyLogin 2009-01-24 16:49:23 -08:00
Dan Mills
be7f853da4 make it so clients list can be modified from any client, and so it doesn't upload client info on every sync; clients list no longer stores data (except the local client's guid) in the firefox prefs 2009-01-23 15:09:21 -08:00
Dan Mills
9c7bac20f5 WBO toString will serialize 'payload', CryptoWrapper overrides that and will serialize 'cleartext' 2009-01-23 15:08:12 -08:00
Dan Mills
078387cb07 move Observers.js and Preferences.js into an ext/ directory, to make it clear they are externally-mantained libraries 2009-01-22 11:48:36 -08:00
Dan Mills
a94f85b7c3 wrap microsummary creation code in try/catch; catch unknown items during onItemMoved (should not happen, but...) 2009-01-21 19:04:13 -08:00
Dan Mills
84340dcdc2 cast modified timestamp to an int if it's a string 2009-01-21 19:02:38 -08:00
Dan Mills
914ac78e2a simpler reconciliation for history 2009-01-20 13:13:31 -08:00
Dan Mills
704d1c079a fix url vs uri typo 2009-01-15 18:43:44 -08:00
Dan Mills
6891a3b69a merge upstream changes 2009-01-15 15:53:51 -08:00
Dan Mills
fedd698bbb fix typo 2009-01-15 15:53:34 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
e823363952 Merged 2009-01-15 14:06:00 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
cd797f05a7 Added a method to historyStore called tempTableExists which does a SELECT (rather than using tableExists) to correctly tell whether a temp table is there or not, so that historyEngine will work correctly on both Fennec and Firefox (See bug 472963) 2009-01-15 14:05:50 -08:00
Dan Mills
3dd2a14339 Bug 468671: Don't synchronize livemarks. Based on patch by Jorge Alves <jag.alves@gmail.com> 2009-01-15 13:58:59 -08:00
Dan Mills
67f99f74cd add some extra log info to engine; have tracker ignore all changes when applying a change to prevent the tracker from generating new guids for new items before the store has a chance to set the right one 2009-01-14 22:01:04 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c681501e5c Added callback to Weave.Service.onStartup, which the Fennec UI uses to notify user that Weave has connected, that it ran into an error, or that it's awaiting configuration. Started moving fennec preferences from HTML to XUL. 2009-01-14 11:23:08 -08:00
Dan Mills
23aaa6fcb7 disable unused engines; fix trackers trying to call enable which is gone now; improve bookmarks tracker logging 2009-01-13 16:55:51 -08:00
Dan Mills
3c8aa12c49 syncCores are gone 2009-01-13 16:11:31 -08:00
Dan Mills
d34aba46fd make tracker return true/false when adding a changed ID to indicate if it was a valid add or not; change bookmarks & history trackers to match; fix some problems in bookmarks tracker 2009-01-13 15:55:35 -08:00
Dan Mills
445916b2e6 ignore/unignore specific weave IDs instead of a blanket enable/disable of the tracker during sync. 2009-01-13 14:43:21 -08:00
Dan Mills
51d51a26ed small getchildren/getsiblings cleanup 2009-01-13 13:40:40 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
730c9b4ef5 History sync now works in Fennec, by simply skipping all the temp tables that don't exist in Fennec. This should also fix bug 472853 for weave in Firefox. 2009-01-09 15:44:27 -08:00
Dan Mills
3c586f5121 merge upstream changes 2009-01-08 21:34:43 -08:00
Dan Mills
ee4044e7e1 when an orphan bookmark is found, reparent it to the unfiled bookmarks folder 2009-01-08 21:33:59 -08:00
Dan Mills
cf5c78dfcf skip part of reconciliation for incoming deleted records 2009-01-08 21:33:37 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
308841e718 Merged 2009-01-08 16:59:56 -08:00
Dan Mills
ad5a4b0316 merge upstream changes 2009-01-08 16:57:49 -08:00
Dan Mills
793c17b023 commit so hg will let me merge 2009-01-08 16:57:35 -08:00
Dan Mills
d72b5b3b4d make sure we return false if veryfyLogin fails 2009-01-08 16:55:30 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
8bff01bd48 The Weave check box on the Fennec preferences screen now logs you in/out when you click it in addition to enabling/disabling the scheduler. Improved the fennec-connect page by making the text fields auto-select when you click in them and turning the 'accept TOS' check box into a button. 2009-01-08 16:37:36 -08:00
Anant Narayanan
de382c7b72 Make RecordParser interface little easier to use 2009-01-08 06:39:39 +01:00
Anant Narayanan
0134157f37 Basic record parsing in place 2009-01-08 06:29:55 +01:00
Dan Mills
f65179b732 set guid when creating history entries 2009-01-07 17:46:31 -08:00
Dan Mills
c8c5ae0467 fix Cache 2009-01-07 17:45:17 -08:00
Dan Mills
46e7f4e44c correctly maintain linked list pointers in cache 2009-01-07 16:43:49 -08:00
Dan Mills
7167b95ceb Bug 472480: catch errors when changing history item IDs 2009-01-07 15:01:12 -08:00
Dan Mills
90d45aefc0 catch undefined URIs in makeURI; use Svc global to cache IO service 2009-01-07 14:22:02 -08:00
Dan Mills
c3dc0195a6 fail recordLike if either record is null (deleted) 2009-01-07 13:05:05 -08:00
Dan Mills
ff240dd3ce add clients sync (list of clients with names and types); make it simpler to create Engine subclasses; remove the 2nd 'authenticator' parameter for Resources; resetServer is now wipeServer; consider 0 an invalid place ID (fixes bug when calculating item depths); add a Svc global exported from utils.js where commonly used services can live 2009-01-06 13:54:18 -08:00
Dan Mills
b707751a28 partially re-enable client data (guid,name,type) 2009-01-03 01:40:22 -08:00
Dan Mills
767ad5d9b3 update history engine to work again with latest engine changes, and re-enable history sync 2009-01-03 01:04:17 -08:00
Dan Mills
34a114606d fix depth/index record generation 2009-01-02 21:13:32 -08:00
Dan Mills
df54949485 extra debugging to catch getFolderIdForItem errors 2009-01-02 19:35:23 -08:00
Dan Mills
cc914050b2 drop _isEqual debug statements to trace level 2009-01-02 17:35:47 -08:00
Dan Mills
41bd8b02b9 consider sortindex when checking if a remote record is the same as a local one 2009-01-02 17:27:45 -08:00
Dan Mills
4cb774d408 remove extra debug code 2009-01-02 16:17:36 -08:00
Dan Mills
07caef3f67 warn when trying to add an undefined guid to the tracker's changes list 2009-01-02 16:17:09 -08:00
Dan Mills
fd1579088c fix tracker's onItemRemoved 2009-01-02 16:16:38 -08:00
Dan Mills
2754039971 fix/further simplify reconciliation 2009-01-02 15:51:35 -08:00
Dan Mills
62c5aa360c remove 'outgoing' record cache (generate outgoing records at send time); clear the store cache and force a GC after reconciliation; push depth+index (metadata) records after regular (full) records; simplify + better comment reconciliation function; fix low mem check 2009-01-02 13:51:38 -08:00
Dan Mills
5e7867a4de add a _getWeaveParentIdForItem method; fix getAllIDs; add a createMetadataRecord method 2009-01-02 13:49:19 -08:00
Dan Mills
f19e7c550a change pushDepthRecord to pushLiteral (takes an object instead of a resource; omits the resource upload filters step) 2009-01-02 13:46:55 -08:00
Dan Mills
0f96797713 fix cache typo. remove wrapDepth, it will be replaces with a different method 2009-01-02 13:36:28 -08:00
Dan Mills
4874eb740f limit json filter's debug output 2009-01-02 13:35:40 -08:00
Dan Mills
f5a1c1d230 improve WBORecord's toString() 2009-01-02 13:20:19 -08:00
Dan Mills
d04e52f8f5 typo fix 2008-12-30 23:56:53 -08:00
Dan Mills
5e3ac9586e add a generic cache class for storing records during reconciliation. cache has 100 item limit, and is cleared before and after reconciliation so the OS can reclaim memory after GC 2008-12-30 23:52:20 -08:00
Dan Mills
380b614133 make engine keep less records in memory by limiting the outgoing queue to a maximum of 100 records, and fetch the rest from the store each time 2008-12-29 23:28:17 -08:00
Dan Mills
6b260498e0 switch to generating individual bookmark records directly from the places store, without using a cache (to improve memory performance); create objects for bookmark types; temporarily disable history sync 2008-12-28 19:59:44 -08:00
Dan Mills
ff39e896cf really actually fix login errors this time 2008-12-27 12:15:45 -08:00
Dan Mills
e53b2d78b2 half baked replace by title method 2008-12-27 12:15:26 -08:00
Dan Mills
58b9b98990 print observer notifications to debug log 2008-12-27 12:15:04 -08:00
Dan Mills
141052a67a add some makefile magic for creating release & snapshot builds more easily 2008-12-27 00:11:41 -08:00
Dan Mills
58318f5332 remove commented-out code 2008-12-26 21:50:07 -08:00
Dan Mills
8a57024bf8 force GC, makes sync of many items possible on fennec 2008-12-26 21:49:17 -08:00
Dan Mills
9ac0dce95a Bug 471076: explicitly check login succeeded 2008-12-26 16:08:55 -08:00
Dan Mills
aff056726e change serverURL to use 0.3 url schema 2008-12-23 13:51:30 -08:00
Dan Mills
6479c553a7 bump version to 0.2.93 2008-12-23 12:17:40 -08:00
Dan Mills
62a45ad0ab Various engine/bookmark changes:
* Rely on the server to sort incoming records, remove all sorting code client-side.
* Streamline sync to be able to process incoming records one at a time, as soon as they are downloaded.  This changes reconciliation to be able to process a single incoming record.
* Engine base class will automatically convert parentid, depth, and sortindex into toplevel WBO objects.  This is good for now but kinda broken, engine subclasses should really be generating WBO records themselves.
* Since index is now a toplevel WBO property, there is no need for the bookmarks sync code to subclass recordLike.
* Refactor bookmarks store to be a little cleaner and work directly with records instead of "commands".
2008-12-23 11:30:31 -08:00
Dan Mills
92a77b80e1 remove accidentally committed logging calls 2008-12-23 11:23:10 -08:00
Dan Mills
7d1322c001 add a method to wrap a depth-only record (just depth and guid, nothing else) 2008-12-23 11:22:29 -08:00
Dan Mills
9c44454330 add depth and sortindex getters, and a toString for nicer printing 2008-12-23 11:20:20 -08:00
Dan Mills
5fd4b9ed13 add a method to push a depth-only record into a collection 2008-12-23 11:19:33 -08:00
jonathandicarlo@user-64-9-236-168.googlewifi.com
8f14709c66 Removed extra debug code from service.js 2008-12-21 14:59:33 -08:00
jonathandicarlo@user-64-9-236-168.googlewifi.com
dc02f68f49 Weave on Fennec will no longer attempt to generate SSH keys -- for this release, you need to have a Weave account already and then connect Fennec to it. 2008-12-21 14:41:17 -08:00
jonathandicarlo@localhost
4e59b0d4d7 Wrote some scaffolding for the Fennec-weave UI -- doesn't do anything yet. 2008-12-21 14:08:33 -08:00
Dan Mills
f8683e6d3d merge upstream changes 2008-12-19 17:01:03 -08:00
Dan Mills
efdd9ff7cf fix typo in history sql queries, clarify valid sort order values for collections 2008-12-19 17:00:12 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
ad9eb3e4e1 Merged 2008-12-19 15:52:20 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
54d7de2ca4 Major rehaul/simplification of the Fennec UI for connecting to your Weave account 2008-12-19 15:48:40 -08:00
Dan Mills
676e05f069 don't filter downloads on a PUT; fail permanently on http status 400-499, 501, 505 2008-12-19 15:24:37 -08:00
Dan Mills
08512b99a5 change engine to process (download, reconcile, apply changes) incoming records one by one 2008-12-19 11:48:09 -08:00
Dan Mills
d55df6a1f4 implement the awe (or tears) inducing places-style sql queries -- history sync works pretty well now 2008-12-18 22:39:32 -08:00
Dan Mills
ce46b6e972 Bug 470208: Fix log4moz typo in FileAppender 2008-12-18 16:53:25 -08:00
Anant Narayanan
c5ece4c18e Use stream based communication instead of XHR 2008-12-19 00:42:12 +01:00
Dan Mills
970091b11a fix some variable references to use a local var instead of a closure 2008-12-18 01:11:03 -08:00
Dan Mills
e21bb9c514 typo fix 2008-12-18 01:09:17 -08:00
Dan Mills
9768e6c566 sync visit times and transition types for history 2008-12-17 16:04:03 -08:00
Dan Mills
06dc4da97f sync only the last 150 history items (pending some special sauce to sync high-scoring items); various sql fixes. history is syncing now, though there are bugs here and there 2008-12-17 02:32:00 -08:00
Dan Mills
7f2139c4af change itemExists to check for the cache, then call _itemExists, that way subclasses can override just that without having to care about the cache 2008-12-17 02:30:11 -08:00
Dan Mills
32773c0f83 override _itemExists, itemExists (no _) checks for cached items, then calls that 2008-12-17 02:29:28 -08:00
Dan Mills
2de7c6df82 remove applyCommands from store; make itemExists not a 'private' method 2008-12-16 17:08:57 -08:00
Dan Mills
c02d11a89e api change for stores, deal with records not 'commands' 2008-12-16 17:06:45 -08:00
Anant Narayanan
ea93b73081 Make Form history sync work again with new engine 2008-12-13 16:33:04 +01:00
Dan Mills
f1a5b78d89 merge upstream changes 2008-12-12 13:57:05 -08:00
Dan Mills
6d599af9b4 closer to history somewhat working. need to rethink approach because of performance problems 2008-12-12 13:55:58 -08:00
Dan Mills
59d28a8a5c add applyImcoming to store base class 2008-12-12 13:55:26 -08:00
Dan Mills
3c88a35efd remove slightly misleading comment 2008-12-12 13:54:19 -08:00
Dan Mills
1e7370ba2d don't stop applying changes when one fails to do so 2008-12-12 13:53:48 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
1e27ccd917 Merged 2008-12-11 15:19:43 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
db031ee612 On Fennec there is no microsummaries service, so I made the BookmarksEngine catch the exception if the service is undefined, and skip commands that would require it to create a microsummary, logging warnings instead. 2008-12-11 14:26:20 -08:00
Dan Mills
022ceb5055 closer to history working 2008-12-10 00:57:27 -08:00
Dan Mills
3ef1c0d9b1 enable history sync (not working yet) 2008-12-09 12:26:14 -08:00
Dan Mills
f2e4594263 make changeItemID exclusively a store method 2008-12-08 13:21:25 -08:00
Dan Mills
9070a62677 remove sync cores, they are no longer used; remove sharing code from bookmarks (we can bring it back when we need it again, needs work); have the engine give hints to the store about when to wrap all items and cache them (to make subsequent calls to wrap one item fast); move serializeItem/getAllIDs into the store 2008-12-08 09:53:32 -08:00
Dan Mills
8bf18e53a1 bump version to 0.2.92 2008-12-06 00:13:19 -08:00
Dan Mills
b8a8a42755 tracker now caches places id -> guid mappings, since otherwise it can't retrieve the correct guid on item removal (because the callback happens after the item is removed) 2008-12-06 00:12:40 -08:00
Dan Mills
84f9045278 more/better logging; allow changed IDs list to be cleared even when tracker is disabled 2008-12-06 00:11:16 -08:00
Dan Mills
c595ceeb1b clear changed IDs before adding all current ones in first-sync case; edit the ID list directly instead of enabling/disabling the tracker 2008-12-06 00:08:54 -08:00
Dan Mills
f1332902ba parentGUID -> parentid 2008-12-05 03:36:27 -08:00
Dan Mills
37a62b2479 re-enable tracker in the first-sync case just to add all the guids; add some debugging messages; when reconciling throw out records which are identical on the client and server (even if we thought they had changed) 2008-12-05 03:28:17 -08:00
Dan Mills
fd7d30a288 oops, always disable tracker during sync 2008-12-05 00:58:25 -08:00
Dan Mills
95b8e357b2 disable tracker for entire sync run. make sure tracker is re-enabled at the end 2008-12-05 00:55:19 -08:00
Dan Mills
912dadd022 merge upstream changes 2008-12-05 00:42:11 -08:00
Dan Mills
c1a443df70 use callbacks instead of snapshot diffs to figure out what changes to send to the server 2008-12-05 00:39:54 -08:00
Dan Mills
dd8e0e678b fix bookmarks tracker by removing yield calls (which of course don't work as callbacks for nsIBookmarksObserver) 2008-12-02 16:46:24 -08:00
Dan Mills
497743cb82 some small key record fixes; avoid causing indirect login manager queries in the Identity constructor; fix wbo, keys, crypto record unit tests 2008-12-02 14:26:18 -08:00
Siddharth Agarwal
9c564f7526 bug 467085 log4moz updateParents messed up, doesn't support multilevel parenting properly, r=thunder 2008-12-02 21:42:20 +05:30
Dan Mills
c5ed82885f bump version to 0.2.91 2008-12-01 20:02:01 -08:00
Dan Mills
7bee21d741 re-set password in login manager when setting username/realm 2008-12-01 20:01:41 -08:00
Dan Mills
0a4d159fd2 add debug for when setting password 2008-12-01 20:01:12 -08:00
Dan Mills
cc4ab1bb14 change chrome url for weave passwords in login manager to chrome://weave 2008-12-01 19:04:49 -08:00
Dan Mills
c327476fcc remove unused 'cleartext' payload property; add fixme comment to set a pref listener 2008-12-01 18:58:28 -08:00
Dan Mills
5e2d2cec11 reset default key URLs whenever username is set via the service 2008-12-01 18:43:43 -08:00
Dan Mills
2deeacdab5 remove incorrect getter/setter for cleartext - it should not be stored inside the payload! 2008-12-01 18:08:59 -08:00
Dan Mills
a001a3f564 server api changes: encoding is gone (payload guaranteed to be utf-8 now), payload is guaranteed to be json so no need to wrap in an array to encode; change crypto object to place encrypted data in a 'cyphertext' property inside the payload, instead of replacing the payload 2008-12-01 18:07:07 -08:00
Dan Mills
a422bdb9b3 print http status, even for successful requests 2008-12-01 14:18:12 -08:00
Dan Mills
73077fa65b fix 'logging in' debug string so it prints the actual username being used 2008-12-01 14:17:44 -08:00
Dan Mills
336e1168af bump version to 0.2.90 2008-11-27 23:07:15 +09:00
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
74e4f48a70 sync engines unconditionally on timer (for now, heuristic sync is broken somehow) 2008-11-27 00:23:25 +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
36a866416f query the bookmarks service to find out if we have an item (instead of our snapshot cache) 2008-11-25 14:49:18 +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
938a1e7ad5 server payload decoding problem is fixed, so remove hack. we now always decode the payload after downloading. 2008-11-25 14:47:43 +09:00
Dan Mills
69074b307e collection iterator is now async, it needs to run the new record's download filter 2008-11-25 14:46:18 +09:00