Commit Graph

142 Commits

Author SHA1 Message Date
Edward Lee
e55cf3a52a Bug 488190 - Use record properties instead of cleartext properties
Switch pretty much all references to cleartext in modules/engines/ to just use the record. Also clean up some references to null cleartext to use deleted. The only reference to cleartext is to iterate over that hash in bookmarks.
2009-04-13 16:39:29 -05:00
Edward Lee
2c5fc6c54f Bug 488170 - Consistently set record cleartext URIs as text spec uris
Switch cleartext properties to Uri that always takes a text spec, so eventually URI refers to nsIURI. GeneratorURIs seems to have been broken either way.. makeURI of an already URI and storing of a URI into cleartext. This landed with changes to keys, so the server wipe also handles the local name changes.
2009-04-13 16:39:29 -05:00
Edward Lee
b7a138755c Bug 488142 - Make it easier to add simple deferred cleartext/payload values
Add a couple Utils helper to create a pair of simple [gs]etters that use a hash property instead. Apply this to various records: WBORecord, {Priv,Pub}Key, Crypto{Meta,Wrapper}, and every engine's type records. Migrate by making sure key data exists (name change).
2009-04-13 16:39:29 -05:00
Edward Lee
253a6ca0d8 Bug 488182 - Use an Iterator to grab both key and values from cleartext for processing bookmarks
Get rid of extra record.cleartext references within the for/each/switch -- even for unused keys like incomingSharedAnno.
2009-04-13 16:18:11 -05:00
Edward Lee
9a582a606e Bug 488165 - Correct set the record object type when processing records
Set _recordObj for Bookmarks/History engines and override PlacesItem.decrypt to switch itself to the right type after CryptoWrapper decrypts the payload.
2009-04-13 14:54:31 -05:00
Myk Melez
c699fdf732 switch from --utc to -u flag to enable UTC output for date command so it works on both Linux/Windows (which support --utc in addition to -u) and Mac OS X (which only supports -u) 2009-04-08 15:00:02 -07:00
Mikhail Stepura
e97e9389db Bug 486481 - Weird behavior when syncing the bookmark with tags
Add the remaining special top level folders and ignore them for certain behavior like getAllIDs and wipe. Have the tracker ignore changes to things in the tags folder.
2009-04-07 23:17:40 -05:00
Edward Lee
25b484a48a Bug 487363 - Share bookmark tracker ignore logic
Share the ignore logic that takes a parent folder and ignore if the engine says so or it's a livemark.
2009-04-07 22:56:04 -05:00
Edward Lee
09653caf66 Bug 487338 - Track special folder weave GUIDs <-> bookmark id mapping
Create a specialIds hash and use it to for getting weaveId/id, determine top level, if a folder is a root, getting all ids, wiping, and tracker ignoring.
2009-04-07 19:22:36 -05:00
Edward Lee
3993035a59 Bug 482670 - WBORecord should implement a .deleted property
Expose a .deleted property that engines can set to true to store an even thinner deleted payload (empty string "" instead of "[null]") on the server. Handle deserializing of deleted records by setting the property. Note: Engines must set their payloads to something JSON-able if it's not a delete record.
2009-04-03 12:38:47 -05:00
Edward Lee
2e72dcf2a7 Bug 480929 - RSS names not synced
Set the title in the record just like any other bookmark (folder)
2009-04-01 17:12:08 -05:00
Dan Mills
489e86bdc5 oops, client was not updating depth/index of records 2009-03-11 02:02:58 -07:00
Dan Mills
7b9eedde66 Bug 478327: Send minimal '[null]' payload for deleted records 2009-03-11 01:40:04 -07:00
Dan Mills
bc248c608c don't load old crypto module 2009-02-20 01:49:00 -08:00
Dan Mills
d0e9169992 pass the cryptoMetaURL to the store's createRecord 2009-02-19 00:36:55 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
cde0013f0f Rewrote tabs engine to work with 0.3 API. (Not yet tested). 2009-02-04 19:51:20 -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
abdf4fec19 set record ID for bookmark deletes too 2009-01-27 17:23:23 -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
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
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
fedd698bbb fix typo 2009-01-15 15:53:34 -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
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
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
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
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
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
fd1579088c fix tracker's onItemRemoved 2009-01-02 16:16: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
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
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
08512b99a5 change engine to process (download, reconcile, apply changes) incoming records one by one 2008-12-19 11:48:09 -08:00
Dan Mills
e21bb9c514 typo fix 2008-12-18 01:09:17 -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
c02d11a89e api change for stores, deal with records not 'commands' 2008-12-16 17:06:45 -08:00
Dan Mills
f1a5b78d89 merge upstream changes 2008-12-12 13:57:05 -08:00
Dan Mills
3c88a35efd remove slightly misleading comment 2008-12-12 13:54:19 -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
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
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
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
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