Commit Graph

271 Commits

Author SHA1 Message Date
Philipp von Weitershausen
4678af4c19 Bug 584402 - Audit references across XPCOM borders [r=mconnor]
Use weak references for observers.
2010-08-04 21:07:53 +02:00
Paul O’Shannessy
69a6017b51 Bug 584040 - Fix leaky tests [r=mconnor]
Make sure we explicitly nullify the cached services in the BookmarksStore & BookmarksTracker.
Also, explicitly finalize the statement if it was created.
2010-08-04 14:50:44 +02:00
Edward Lee
4e55362a90 Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Map the modules directory to services-sync instead of weave and update imports.
2010-06-16 14:30:08 -07:00
Edward Lee
f65cfa40d2 Bug 561839 - import PlacesUtils.jsm instead of utils.js [r=mconnor]
Try the new PlacesUtils file before the old utils.js.
2010-05-04 12:14:48 -07:00
Edward Lee
ff3ec7ac67 Bug 559163 - Don't select from slow indexless views for just one item [r=mconnor]
Just select from moz_places instead of _view where data might be slightly stale but good enough.
2010-04-29 14:36:15 -07:00
Edward Lee
ffe2ddb849 Bug 558077 - Bookmark folder and its contents lost under certain conditions of syncing same named folder [r=mconnor]
Mark entries as dupe if they're known to be dupes locally so that receiving ends won't bother looking for dupes for these items.

--HG--
extra : rebase_source : 2623f7ed20160ba445b58f538c3397caa0ef78e3
2010-04-29 14:36:09 -07:00
Edward Lee
be8613110f Bug 437277 - update daily backup before first bookmark sync [r=mconnor]
Share an archiveBookmarks function that wraps the PlacesUtils call to be used from storage.wipe and first sync.
2010-04-21 11:10:32 -07:00
Edward Lee
9dea7f5571 Bug 557503 - bookmark restore from backup and server-wins interact badly [r=mconnor]
Don't resetLastSync as that will make local changes look old and instead mark each as changed now that addChangedID doesn't jsonSave on each call.
2010-04-06 11:59:50 -07:00
Edward Lee
37ec3dd78c Replace tabs in files under source/ with appropriate number of spaces. 2010-04-02 16:37:53 -07:00
Edward Lee
3b4aa0220d Bug 550627 - Default reconciliation to server wins for older changed items [r=mconnor]
Save the time the tracker adds a new changed id and use that to compare the age of the record on the server vs the age of the local change to decide if it's server wins or client wins. Fix up various direct uses of changedIDs to use the API and make the save-to-disk lazy to avoid excessive writes. Add a test to make sure addChangedID only increases in time.
2010-04-01 15:54:53 -07:00
Edward Lee
ab278f01cd Bug 556509 - folders description not synchronised [r=mconnor]
Allow descriptions to be set on folder records and set description on creation.

--HG--
extra : rebase_source : d380f5d28130bd53532e5b4d293468aa053c19b2
2010-04-01 15:11:42 -07:00
Paul O’Shannessy
9aefb399d5 Bug 555015 - JavaScript strict warning: bookmarks.js: undeclared variable record [r=Mardak]
Just make sure the record variable is declared before using it.
2010-03-25 13:58:27 -07:00
Edward Lee
1ce05d4603 Bug 549633 - Standardize record creation so all SyncEngines encrypt data [r=mconnor]
Always add the id and encryption value so client and delete records can be encrypted.
2010-03-05 14:46:48 -08:00
Edward Lee
a9c2e6c4c2 Bug 549632 - Remove storage cache, which is mostly un/incorrectly used [r=mconnor]
Remove incorrectly used cache from some engines and clean up references from SyncEngine.
2010-03-05 14:43:11 -08:00
Edward Lee
1ad29052b7 Bug 545767 - Clean up various names/strings needed for each set of engines/stores/trackers
Pass the engine name when constructing a subclass engine and construct the store/tracker with the same name.
2010-02-11 15:29:15 -08:00
Edward Lee
b8de893593 Bug 545764 - Convert constructor -> _init pattern to just use constructor
Inline various _init calls and do super's init with <Super>.call(this, args..). Add various get/set sugar to those missing e.g., meta.keyring. Also simplify crypto record creation by setting cleartext in the parent.

--HG--
extra : rebase_source : 6c9a9f210f8f46ac338adb84188538e7353c9673
2010-02-11 15:25:31 -08:00
Edward Lee
ed5e098629 Bug 544068 - Assume moved bookmarks should be where they're moved
Don't keep the annotation around in-case the predecessor/parent finally syncs because the user positioned it otherwise.
2010-02-03 15:34:42 -08:00
Edward Lee
39e968e8de Bug 531489 - weave lost bookmarks with same url
Do dupe detection for bookmarks like how we do folders/separators but check against the url/title. Add parentName to bookmark records, so bump version.
2010-01-25 09:33:49 -08:00
Edward Lee
8dfdbe920a Bug 526937 - Bookmarks are re-uploaded when they get visited
Don't mark item as changed on a favicon notification to avoid churn that can result in merge messing up bookmark ordering.
2010-01-19 11:24:00 -08:00
Edward Lee
1213f59b7e Bug 534923 - Only show Mobile Bookmarks if there are mobile bookmarks
Fix up existing users as well as only creating the place query under AllBookmarks if there are mobile bookmarks.
2009-12-15 14:21:13 -08:00
Edward Lee
a48b0da141 Bug 532936 - Add root level node for bookmarks synced from Fennec
Create a mobile root in Firefox and link it to the Library UI as a query that fixes its own title if changed. Mark the mobile root on Firefox/Fennec as special so Weave uses "mobile" for the guid in the record, and items will appear in the appropriate folder.

--HG--
extra : rebase_source : fbd3afa2647204a370f7dacdf9d824e462ebb9b9
2009-12-10 16:12:14 -08:00
Edward Lee
4676b9cb18 Bug 488922 - Treat bookmarks restore specially
Add observers for bookmarks-restore-* and ignore changes during import and trigger a fresh start on success.
2009-12-02 19:20:44 -08:00
Edward Lee
d4295ef8e9 Remove unused prefs and imports. (Bug 524916)
--HG--
extra : rebase_source : 074e542f63ee840b61db7fe63a6c3540c13a31a5
2009-11-25 17:49:15 -08:00
Mike Connor
7e923534c2 archive local bookmarks before wiping
--HG--
extra : rebase_source : dd54af2118cf60c9e4f4b3bf08b7a5c61e9e78b8
2009-11-25 17:09:32 -08:00
Edward Lee
c05e0c5f94 Remove trailing whitespace from the codebase. 2009-11-20 14:34:20 -08:00
Edward Lee
c9efc4abfe Bug 514545 - weave mangles bookmarks
For both folders and separators, use the parent name (not guid) in addition to the item's title/position to determine if it's a dupe. This modifies the bookmark format for folders and separators, so a storage version bump is needed.
2009-11-19 21:34:17 -08:00
Edward Lee
ac2b6c824d Bug 529103 - Removing folders must use removeItem not removeFolder
Switch to Svc.Bookmark.removeItem from this._bms.removeFolder.
2009-11-18 10:24:09 -08:00
Edward Lee
2c1baed50d Remove unwanted info logging for bookmark indices. 2009-11-11 15:20:19 -08:00
Mike Connor
14acb12656 bug 518075 - tweak original patch and item values 2009-11-09 12:57:58 -05:00
Edward Lee
06bb9dbc7d Bug 519139 - Weave freezes the browser for 5-10 secs when starting sync
Correctly remove the separator getter just like for folders to prevent triggering the lazy loader on every sync.
2009-11-04 16:07:05 -08:00
Mike Connor
bcb7b750cb bug 485108 - drop status dialog, show status including engines on statusbar, remove dead status bits 2009-10-28 03:42:35 -04:00
Edward Lee
e5604f6745 Bug 517598 - Put useful interestingness/index values for bookmark
Use places to figure out the frecency of a bookmark and give items (not just bookmarks) a bonus if it's sitting in the toolbar.
2009-10-16 16:19:28 -07:00
Edward Lee
a9a420b1bb Keep the unsorted bookmark folder unsorted and not worry about the ordering. 2009-10-13 16:27:10 -07:00
Dan Mills
5094a04f3d initial patch
--HG--
extra : rebase_source : 250c8f0d85483300147a6f0d691e0214db6d837b
2009-09-15 21:54:05 -04:00
Edward Lee
7556f0c2cd Address review comments nits. r=thunder 2009-09-11 16:44:26 -07:00
Edward Lee
e856402be7 Add some comments to partial download code and remove other comments. 2009-09-11 08:24:42 -07:00
Edward Lee
87de5afcd8 Detect dupe separators by identifying them by their position and generate the lookup lazily with the folder/title mapping for now. 2009-09-08 23:33:58 -07:00
Edward Lee
258a985cee Expose a _handleDupe on engines and provide a custom one for bookmarks that tracks GUID changes so that it can keep an alias mapping to fix incoming item properties (id, parent, predecessor). Move out _reparentOrphans so that it is triggered on update and not just create because folders can change ids to the right parent. 2009-09-08 23:33:15 -07:00
Edward Lee
0e889ae8fb Resolve bookmarks.js merge conflicts switching to batchSync (with trailing comma). 2009-08-31 18:04:40 -07:00
Edward Lee
5a3c53fd6a Merge weave to weave-partial-view w/ conflicts. 2009-08-31 18:03:35 -07:00
Edward Lee
678f177443 Detect dupe folders by title for now. Might need to update the hash during sync if titles are added. 2009-08-31 17:54:21 -07:00
Edward Lee
5e9d07e643 Use places utils to find an existing bookmark dupe for an incoming record. 2009-08-31 17:29:47 -07:00
Edward Lee
5468320159 Convert uses of recordLike/findLikeId to findDupe except Bookmarks is unimplemented. 2009-08-31 17:27:30 -07:00
Edward Lee
c70241b5ce Bug 512457 - Report errors before they get eaten up by runInBatchMode
Save the exception from inside runBatched and not have runInBatchMode return failure, so we can then expose the exception.
2009-08-31 16:28:00 -07:00
Edward Lee
4d055dc574 Bug 506297 - Livemarks with null site/feed uris cause sync to fail
It's possible for livemarks to not have a siteURI, so don't assume it to be there.

--HG--
extra : rebase_source : 870bb41c980834ef3e5f302739d20adfed6f7f8d
2009-08-26 14:22:11 -07:00
Edward Lee
dfe8e7e513 Don't include changes to special places Library "exclude from backup" items. 2009-08-25 16:15:05 -07:00
Edward Lee
ca002d3239 Create records with the correct parent/pred if it's still waiting for them to sync. 2009-08-24 16:17:59 -07:00
Edward Lee
c4393b5e3b Handle holes in bookmark folders and fix up bookmarks to be at an earlier position if a hole was detected. 2009-08-19 19:32:05 -07:00
Edward Lee
87f47c35a6 Attach followers for both created items and updated items (call from applyIncoming) when it's under the right parent. Share logic for attaching followers when creating a folder then fixing the reparented children and when creating/updating an item in the right parent. 2009-08-18 18:42:15 -07:00
Edward Lee
fae8b93210 Add the successor ids when adding/removing items as well as both old and new successors when moving. 2009-08-18 18:39:10 -07:00
Edward Lee
b264174b42 When updating the position of an item, move all of its followers with it. Share chain moving logic used for fixing followers on create and updating positions. 2009-08-18 18:36:31 -07:00
Edward Lee
0435aca087 For items that have the correct parent, see if there's an item following it and reposition the chain of items to after the correct parented item. A chain of followers starts at the item with the predecessor annotation and goes until the end of the folder, an item that is looking for a predecessor, or ends up at where we started (the predecessor). 2009-08-17 02:34:03 -07:00
Edward Lee
7a297f3b5f Simplify the debug output when creating bookmarks and include the parent and position. 2009-08-16 12:39:30 -07:00
Edward Lee
7c3bc745a0 Use the predecessorid to figure out where to put the item or save the predecessor as an annotation. 2009-08-16 12:39:15 -07:00
Edward Lee
96a4461af4 Set the predecessorid when creating records for upload. 2009-08-16 12:39:00 -07:00
Edward Lee
4cb51d9bde Remove the missing parent annotation after reparenting an orphan. 2009-08-15 14:43:10 -07:00
Edward Lee
306fc8507b Reparent orphans when creating the parent folder. 2009-08-15 01:07:40 -07:00
Edward Lee
7cc5c17773 Use a shared setGUID for new items and changing guids so that the item always ends up with the GUID (because conflicts shouldn't have been Weave generated). 2009-08-15 01:04:06 -07:00
Edward Lee
004fdf436d Store the parent GUID as an annotation if the item is missing a parent and share some parent lookup code. 2009-08-15 01:00:46 -07:00
Edward Lee
31270d064c Move _preprocess to before applyIncoming to share code for create/update/remove. 2009-08-15 01:00:32 -07:00
Edward Lee
cbba430108 Rename weaveId to just GUID and share a id<->guid function across store and tracker. 2009-08-15 00:59:49 -07:00
Edward Lee
fae7aaa071 Temporarily append everything and don't use sortindex for ordering within a folder. 2009-08-15 00:57:09 -07:00
Edward Lee
2335b057db Get rid of depth and sort on index instead. 2009-08-15 00:56:27 -07:00
Edward Lee
3ca750f464 Remove meta/mini records. Bye! 2009-08-13 18:50:54 -07:00
Edward Lee
39895d48b2 Put Annotations in Svc and expose a get/set Utils.anno call to use from bookmarks. 2009-08-13 17:59:26 -07:00
Edward Lee
983afb76a9 Remove unused bookmark annotations/constants. 2009-08-13 17:43:20 -07:00
Edward Lee
bc5f3d3be8 Bug 507296 - Sync bookmarks and history in batched mode. r=thunder
Wrap the original SyncEngine._sync function with a call to runInBatchMode, so SQL disk writes happen at the end of batch mode instead of on every change.
2009-07-30 11:52:26 -07:00
Edward Lee
68d361380a Bug 504230 - Use Engine's logging level for Store and Tracker
Use the log.logger.engine.* prefs to determine what the Store and Tracker should log with. This requires putting the same engine name on each Store/Tracker object, so there's some duplicate string values right now.
2009-07-14 18:34:03 -07:00
Edward Lee
5ad22f9709 Bug 479189 - weave does not sync tag smart folders properly
Create a new record type, BookmarkQuery, to handle place: uri smart bookmarks. Store what tag name the query wants and lookup the id for that tag on other machines on create/update.
2009-07-13 17:43:15 -07:00
Edward Lee
22570f2932 Bug 503938 - Tags with a single bookmark keep generating new tag ids
Share a tagging code for create/update that will tag a dummy uri temporarily while it untags the bookmark to make sure every tag has at least one child during this untag/tag process.
2009-07-13 13:40:49 -07:00
Edward Lee
6ddece8b22 Bug 502482 - error while syncing bookmarks from server
Set the item type for generic PlacesItems, but don't do anything when trying to create it.
2009-07-09 17:15:00 -07:00
Edward Lee
84c52a6411 merge weave. resolve addition of kSpecialIds to bookmarks.js near removal of Async.sugar. 2009-06-23 22:34:57 -07:00
Edward Lee
ad7d001bb3 Bug 498924 - Refactor bookmark special ids out of BookmarksStore
Lazily load places ids for a given weave id/place name pair into kSpecialIds and update all consumers. Expose a Svc.Bookmark in utils.
2009-06-17 09:28:15 -07:00
Edward Lee
3ef568c718 Cleanup/refactor followup to bug 481327.
Change _ignore to take itemId to find folderId and pull out addChanged/getItemGUID/upScore to addId.
2009-06-17 08:51:54 -07:00
Edward Lee
34400917b0 Bug 481327 - Script gets stuck during startup. r=Mardak 2009-06-17 08:51:54 -07:00
Mikhail Stepura (mishail)
fde4deb743 Bug 486042 - "Load this bookmark in the sidebar" status not synced. r=Mardak 2009-06-16 16:16:39 -07:00
Edward Lee
57adfb688b merge weave 2009-06-06 13:12:03 -07:00
Edward Lee
6bc0e717ec Clean up various engines to remove Async.sugar and random self/yields. 2009-06-05 15:34:40 -07:00
Wladimir Palant
753b7da199 Bug 495996 - Bookmark observer doesn't implement onBeforeItemRemoved method. r=Mardak 2009-06-02 21:25:55 +02:00
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