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