Commit Graph

641 Commits

Author SHA1 Message Date
Richard Newman
82aebc9e26 Bug 627497: remove annotations from copied bookmarks. r=philiKON 2011-01-25 12:37:23 -08:00
Richard Newman
bdc5390864 Bug 626796: Bookmark sync: restore from backup should trigger reupload. r=philiKON 2011-01-24 23:06:42 -08:00
Richard Newman
6a1fddc2f0 Bug 627490: Bookmark sync: don't cache places IDs. r=philiKON 2011-01-24 10:45:27 -08:00
Philipp von Weitershausen
821318dd56 Bug 609421 follow-up: fix copypasta. r=rnewman 2011-01-19 14:12:14 -08:00
Philipp von Weitershausen
448d9b94ac Bug 609421 - Combine base_record/* files into record.js. r=rnewman
--HG--
rename : services/sync/modules/base_records/wbo.js => services/sync/modules/record.js
2011-01-18 16:23:30 -08:00
Philipp von Weitershausen
52ed8e305a Bug 609421 - Move tracker and store implementation into engines.js. r=rnewman 2011-01-18 16:23:25 -08:00
Philipp von Weitershausen
df43d53fe2 Bug 609421 - Combine type_record/* files with their respective engines/* counterparts. r=rnewman 2011-01-18 16:23:20 -08:00
Philipp von Weitershausen
f6e432c2f5 Bug 618403 - Orphan reparenting too aggressive, can lead to double bookmarks on storage version upgrade. r=rnewman 2011-01-14 13:41:09 -08:00
Philipp von Weitershausen
370ffe57dd Bug 591103 - Ensure the client record is refreshed. r=mconnor 2011-01-14 13:22:20 -08:00
Philipp von Weitershausen
16d250d5d1 Bug 623418 - Bookmark sync: use a SQL query to fetch child GUIDs. r=mconnor,sdwilsh 2011-01-13 14:03:11 -08:00
Philipp von Weitershausen
0e0a895bb1 Bug 623418 - Bookmark sync: don't record children in annotation. r=mconnor 2011-01-13 14:03:09 -08:00
Philipp von Weitershausen
d61cf5a4b9 Bug 623375 - History sync: failure on javascript: URLs. r=mconnor 2011-01-11 15:04:45 -08:00
Richard Newman
e905821e24 Bug 597400: return null if GUID lookup fails in forms engine. r=philiKON 2011-01-06 12:05:30 -08:00
Philipp von Weitershausen
3244eba263 Bug 621489 - Make sure to call _orderChildren even if _processIncoming fails. r=mconnor 2011-01-04 15:04:18 -08:00
Philipp von Weitershausen
0f15591bbb Bug 621594 - History sync: failure when title is null. r=mconnor 2010-12-28 17:36:18 -08:00
Philipp von Weitershausen
caab2e2f93 Bug 616001 follow-up: Async statements are compiled asynchronously and fail on first execution, not creation. r=sdwilsh 2010-12-15 16:08:04 -08:00
Shawn Wilsher
2762c45298 Bug 616001 - Sync needs to check moz_places.guid and moz_bookmarks.guid if it exists. r=philikon
Part 2 - Update bookmark engine.
2010-12-14 15:48:05 -08:00
Shawn Wilsher
87f7327377 Bug 616001 - Sync needs to check moz_places.guid and moz_bookmarks.guid if it exists. r=philikon
Part 1 - Update history engine.
2010-12-14 15:48:03 -08:00
Philipp von Weitershausen
3ace8aaf0a Bug 617521 - Random bookmark reordering due to dupe handling. r=mconnor 2010-12-07 21:49:22 -08:00
Richard Newman
98051adf04 Bug 616265: Add download limit for history, lift magic number. r=mconnor 2010-12-06 17:25:35 -08:00
Philipp von Weitershausen
d8c109a724 Bug 615285 - Bookmark sync: track ordering on folder. r=mconnor 2010-12-06 15:51:56 -08:00
Philipp von Weitershausen
5ea3894792 Bug 615410 - Use different annotations for parent and predecessor. r=mconnor
The old annotations will no longer be valid because they point to a different kind of GUID.
Since we're using our own GUID system now, we also don't have to munge predecessor and parent GUIDs before setting them.
2010-12-06 15:51:48 -08:00
Philipp von Weitershausen
85eb795fda Bug 615410 - Have bookmarks generate new-style GUIDs. r=mconnor 2010-12-06 15:51:38 -08:00
Philipp von Weitershausen
f9740e32c7 Bug 616179 - Persona is not displayed after pref sync cleanup. r=mconnor 2010-12-02 11:03:01 -08:00
Philipp von Weitershausen
729a42719c Bug 615604 - Only accept pref updates for the current app. r=mconnor 2010-11-30 13:37:07 -08:00
Philipp von Weitershausen
01ffd2d9a2 Bug 615604 - Make pref GUIDs base64url. r=mconnor 2010-11-30 13:36:01 -08:00
Philipp von Weitershausen
c8ecebe93b Bug 614104 - Use new annotation for history GUIDs. r=mconnor
This way all history entries are assigned new-style GUIDs.
2010-11-30 10:26:15 -08:00
Richard Newman
ffb07cee37 Bug 603489, 614489: simplified crypto. r=mconnor 2010-11-29 16:41:17 -08:00
Philipp von Weitershausen
b445191feb Bug 560580 - Pref sync cleanup [r=mconnor] 2010-11-23 21:21:37 -08:00
Philipp von Weitershausen
a8b99bdfa2 Bug 600993 - Tab sync has no reason to ever touch disk [r=mconnor] 2010-11-11 11:00:41 -08:00
Philipp von Weitershausen
f591065405 Bug 610375 - Make bookmark folders not sync last [r=mconnor] 2010-11-09 13:53:50 -08:00
Philipp von Weitershausen
f32561863b Bug 584927 - Use async queries to set page annotations in the history engine [r=mconnor,sdwilsh] 2010-11-02 16:34:46 -07:00
Philipp von Weitershausen
8e81c5b7cd Bug 584927 - Use an async query to get page annotations in the history engine [r=mconnor,sdwilsh] 2010-11-02 16:34:38 -07:00
Philipp von Weitershausen
3d8a0cccc7 Bug 584927 - Factor GUIDForUri and setGUID into HistoryStore [r=mconnor] 2010-08-06 14:40:06 -07:00
Philipp von Weitershausen
17e9694951 Bug 603502 - Syncing an account with email will generate a nonsensical device name [r=mconnor] 2010-10-14 10:59:08 +02:00
Philipp von Weitershausen
b82a6c9745 Bug 597404 - History sync: Null id for anno! (invalid uri) [r=mconnor]
Don't fail history sync when the places DB contains invalid URIs.
2010-10-14 07:12:19 +02:00
Philipp von Weitershausen
6e250f858f Bug 569968 - Migration requires client to remove absolute URLs in crypto records
Make WBORecord.uri, CryptoWrapper.encryption, PubKey.privateKeyUri, PrivKey.publicKeyUri as well as the CryptoMeta keyring keys relative URLs in the payload.  As a result, all records now *must* know their URI.

Bump storage version from 2 to 3 to trigger reupload of all data and exclude older clients.
2010-08-12 22:19:39 +02:00
Matt Brubeck
19147be0a2 Bug 580050 - Use hardware model instead of oscpu to identify clients [r=Mardak] 2010-09-08 11:55:57 -07:00
Philipp von Weitershausen
252e31061d Bug 585753 - Changeset 7e8b1f7852a9 breaks bookmark sync [r=mconnor] 2010-08-10 01:59:26 +02:00
Philipp von Weitershausen
7af40237fb Bug 583847 - Weave should be using createAsyncStatement instead of createStatement [r=mconnor] 2010-08-09 18:38:18 +02:00
Philipp von Weitershausen
67d49970e4 Bug 583852 - Weave should not be querying on places views [r=mconnor]
Query moz_places, moz_historyvisits *and* moz_places_temp, moz_historyvisits_temp instead of the slower views.
If the temp tables aren't available (bug 552023), just query the regular tables.

Fixed some style and syntax nits.
2010-08-09 18:38:18 +02:00
Philipp von Weitershausen
59d452e839 Bug 487558 - Use satchel notifications to track form data [r=mconnor] 2010-08-06 17:31:36 +02:00
Philipp von Weitershausen
a6703ed75f Bug 584241 - Disable trackers when client isn't configured [r=mconnor] 2010-08-06 17:30:58 +02:00
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
Philipp von Weitershausen
d2bdde4533 Bug 584402 - Audit references across XPCOM borders [r=mconnor]
Nuke refs to XPCOM services on shutdown.
2010-08-04 21:07:27 +02:00
Mike Connor
31d5c911e8 Bug 584369 - history sync is busted on tip, r=philiKON 2010-08-04 11:07:50 -04:00
Mike Connor
9be564a5ca [mq]: weakRefForms 2010-08-04 10:42:09 -04:00
Paul O’Shannessy
4cdd8a43b7 Bug 545752 - DB Statements aren't finalized in HistoryStore [r=mconnor]
Also nullifies the cached service so we don't leak.
2010-08-04 14:59:34 +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
Philipp von Weitershausen
23ee08503e Bug 580158 - Change Firefox Sync behavior in Private Browsing mode [r=mconnor]
Don't disable sync when in private browsing. When in explicit private browsing mode (either via menu item or -private command line flag), have tabs engine not provide data.
2010-07-19 23:07:45 -07:00
Edward Lee
eca54fde2e Bug 575423 - Forced syncs fail to upload some history [r=mconnor]
Select from views to get disk and memory data now that async makes it not block.
2010-06-29 11:18:21 -07:00
Philipp von Weitershausen
43920b5e3d Bug 572436 - Get rid of app-specific hacks (switch (Svc.AppInfo.ID)) in sync library [r=mconnor]
Set relevant default preferences programmatically in app specific overlays, making app-specific code paths in the sync library unnecessary.
2010-06-16 23:11:40 +01:00
Edward Lee
46e1de249f Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Migrate prefs from extensions.weave. to services.sync. when loading the service for the first time before migration.
2010-06-16 14:30:13 -07: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
61f3668330 Bug 562878 - Override for machine name [r=mconnor]
Allow setting of the computer name during Firefox account setup and from prefs. Also allow setting device name from Fennec prefs. Fix up strings for Fennec.
2010-06-11 11:36:51 -07:00
Edward Lee
fd2b51aee6 Bug 566061 - After server syncing, lightweight themes do not get applied to Chrome [r=mconnor]
Make sure the pref exists (is a bool) before trying to access its value.
2010-06-10 10:57:49 -07:00
Edward Lee
1fdb100093 Bustage fix for bug 570635 to check null for item.guid instead of item. 2010-06-09 16:10:38 -07:00
Edward Lee
ef8599f8c5 Bug 570635 - Use async queries for fetching form data [r=mconnor]
Create a Utils.queryAsync to wrap executeAsync that fetches all rows and columns by name. Update form and history engines to use it.
2010-06-09 09:35:01 -07:00
Edward Lee
b217211241 Bug 565411 - Accept max_results as a parameter to allow configuring the number of history items. [r=mconnor] 2010-06-02 15:18:01 -07:00
Edward Lee
653b88df98 Bug 565411 - Sync 5000 most frecent pages instead of 1000 recent for first sync [r=mconnor]
Use an async sql query to get uris by frecency instead of query result nodes, and wrap it with sync/async to keep the sync interface without blocking UI. Rough timings of getAllIDs: old 1k = 1.6sec blocking; old 5k = 2.7sec blocking; new 1k = .2sec non-block; new 5k = .6sec non-block.
2010-05-13 11:44:19 -07:00
Edward Lee
c2d690b112 Bug 568256 - form history changes breaks form sync, FF search bar, probably more [r=mconnor]
Check for both old and new class IDs and use the one that exists when wrapping. Also add FormTracker as the observer object so that its notify function is correctly called by nsHTMLFormElement.

--HG--
extra : rebase_source : 470430eaa643415e635836db3c38fb639a4e44b6
2010-05-26 11:56:04 -07:00
Edward Lee
b7c52221c4 Bug 563989 - Reset Sync option 3, doesn't properly propagate to other clients [r=mconnor]
Always sync client data by making sure it's always enabled and only update local cilent with remote commands. Make sure to sync clients to get a list of clients that need to receive commands. Also, make sure to upload data after wiping remote now that remoteSetup happens before wipeRemote.
2010-05-05 17:16:17 -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
Mike Connor
2c1b819cdf Bug 561382 - Theme doesn't dynamically switch on sync to default theme, r=Mardak
--HG--
extra : rebase_source : e2a8fe1659816065cd162c2514336ec6f5a07521
2010-05-03 16:44:18 -04: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
d98d0bfafa Bug 554836 - On idle occurs 'JavaScript component does not have a method named: "onDeleteVisits"' [r=mconnor]
Add onDeleteVisits in addition to onPageExpired to maintain compatibility with old and new API.
2010-04-29 16:42:39 -07:00
Edward Lee
69584666ee Bustage fix from sync-asyncExecute: don't throw as the old code would catch and implicit return undefined. 2010-04-29 15:18:05 -07:00
Edward Lee
3c6fd67fb6 Bug 553709 - Syncing "Browsing History" uses 100% of a CPU core for extended periods [r=mconnor]
Sync asyncExecute to avoid forcing synchronous waits on disk but keep existing calling conventions (no callbacks) for callers by using Sync.
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
Mike Connor
f2d003872f Bug 562159 - Tabs from other computers don't show at about:weave-tabs, r=Mardak
--HG--
extra : rebase_source : 6e585fc3ddf75f3654286c08f1cd660586ce2de3
2010-04-28 22:20:08 -04:00
Mike Connor
11c85ae589 Bug 526012 - audit observer service usage, r=mardak 2010-04-20 21:56:44 -04:00
Edward Lee
9d76d3dc30 Bug 553402 - New pages in a tab aren't synced [r=mconnor]
Trace pageshow events to indicate that new tab data should be uploaded. Because scores must be integers, still increment the score by 1, but only do that 10% of the time for pageshows.
2010-04-21 16:35:51 -07:00
Edward Lee
7493d97441 Bug 558191 - Theme/persona sync sometimes doesn't happen until restart of client [r=mconnor]
Wait until all lightweight theme prefs have synced before poking at the lightweight theme manager.
2010-04-21 13:41:18 -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
5771a28188 Bug 558654 - Firefox crashes every ~2min after update to 1.2 [r=mconnor]
Limit the number of initial form entries to 500 ordered by "frecency".
2010-04-11 12:34:27 -07:00
Edward Lee
4bc0d28e5b Bug 558264 - Form data fails to sync when there's nothing to upload [r=mconnor]
Wrap the createStatement calls to guard against missing guid columns and lazily add it.

--HG--
extra : rebase_source : c59a692c6ad08321835c75023b54f02e8d1964da
2010-04-09 10:20:58 -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
e2f2dee6c3 Bug 546768 - form history uses hashes for GUIDs [r=mconnor]
Write a FormWrapper that knows about GUIDs and get/sets them in moz_formhistory as needed. It lazily adds the columns on failure and lazily generates GUIDs for entries that are missing it. Don't eagerly create a sha1 formItem mapping -- don't create it at all, so empty syncs will be much faster too.
2010-04-01 15:29:16 -07:00
Edward Lee
5833da7aa7 Bug 556361 - New searches from the searchbar don't get synced [r=mconnor]
Add a component that notifies when satchel methods are getting called. The notifications come as "form-notifier" with JSON data of the function name, arguments, and type (before vs after).
2010-04-01 15:21:54 -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
Edward Lee
05af24a32c Bug 535326 - Need to rethink tab sync limit of 25 [r=mconnor]
Fit as many tabs as possible in 20000 characters by linearly estimating how many will fit then remove extras one by one.

--HG--
extra : rebase_source : 1ef3700a9cddd7e3cb0f96b9affada15e98ea672
2010-02-17 18:24:22 -08:00
Mike Connor
23d76a73c9 bug 539056 - Better Tab sync UI and discoverability, r=Mardak
--HG--
extra : rebase_source : d0c98d78b889ed74f5b130077a6ee1806bd81282
2010-03-12 16:14:09 -08: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
21f7747109 Bug 548066 - JavaScript strict warning: clientData.js, line 194: reference to undefined property this.clients[id] [r=mconnor]
Get rid of get/setInfo on ClientEngine and ClientStore and expose functions to read/modify client data: stats, clearCommands, sendCommand. Also expose the local client information as local[ID,Name,Type,Commands] and rework the storage to use these instead of trying to keep the JS object clients entry in sync with prefs, etc. Update users of the old interface (service/tabs/chrome) to use the new local*. Set the client type based on app id instead of from each app's overlay.
2010-03-16 16:39:08 -07:00
Edward Lee
15e1f02e87 Bug 554427 - Move syncID from clients.js to service.js [r=mconnor]
Switch from Clients.syncID to this.syncID for service.js. Don't special case resetSyncID and just use = "".
2010-03-25 16:52:45 +00:00
Edward Lee
af0bf0ab2a Bug 546772 - Encrypt the clients records [r=mconnor]
Store data in cleartext instead of directly in the payload to have it encrypted with the CryptoWrapper. This cleans up some hacks needed to get the plain WBO client record to behave nicely with other encrypted data.
2010-03-16 16:31:55 -07:00
Edward Lee
dced4ea743 Bug 554472 - Only sync prefs under extensions.weave.prefs.sync. (with a trailing dot) [r=mconnor]
Add a "." to the end of WEAVE_SYNC_PREFS value and fix up uses that did extra work to remove the dot (or something that might not have been a dot).
2010-03-23 18:51:47 -07:00
Paul O’Shannessy
59471f450c Bug 548939 - Use SessionStore in tab engine [r=Mardak]
Created a fake SessionStore service for Fennec that imitates the parts of Firefox's SessionStore API that we need. Then used the now "consistent" SessionStore service in the Tabs engine.
2010-03-16 15:14:32 -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
Paul O’Shannessy
f39831ac01 Bug 546397 - Exception: Clients.getClients()[Clients.clientID] is undefined [r=Mardak]
Overrode _wipeClient in ClientEngine; treat resetting the same as wiping.
2010-02-19 13:36:42 -08:00
Edward Lee
3273de6ac1 Bug 545785 - Actively remove passwords that we don't want to sync
Check if we haven't deleted yet, and if not, grab the guids for weave credentials and delete them from the server.
2010-02-11 17:14:57 -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
Paul O’Shannessy
a3f801887c Bug 545487 - Cleanup TabTracker_observe [r=Mardak]
Remove the "load" event listener and don't QI since we don't need to.
2010-02-11 15:08:28 -08:00
Edward Lee
e238de1fc6 Bug 545701 - explicitly exclude Weave password/passphrase from pw sync
Don't include weave passwords when getting all ids and ignore their changes.
2010-02-11 15:05:22 -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
4cbaa75427 Lower tab logging to trace when wrapping tabs. 2010-01-21 09:59:27 -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
48b1cf979f Bug 537954 - Some tabs don't get synced
Listen for load before adding the unload listener (and the Tab listeners).
2010-01-06 09:54:15 -08:00
Edward Lee
d3218dee1f Bug 535479 - Be smarter in getting rid of the "remote tabs" notification
Add a tri-state pref that is unset, 0, or a number (modified time in seconds) and don't show the notification if it's in the "0" state. Unset pref means no modified time has been saved, and a non-0 state is the modified time of the last synced tab. So when tabs arrive with a different modified time, switch to the 0 state. Additionally, still remember if the user ever dismissed the notification and never show it again.
2009-12-17 12:20:07 -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
baf9c41432 Bug 534687 - Weave's pref syncing can sync lightweight themes in a broken fashion
Trigger lightweight theme manager's currentTheme setter when changing the usedThemes pref.
2009-12-14 16:05:07 -08:00
Edward Lee
c77f5b2807 Have wipeRemote wipe just the engines' data and make sure the clients process the command. 2009-12-10 18:39:51 -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
6f16e5f19c Bug 532770 - Allow tab sync's filtered urls to be set by pref
Expose engine.tabs.filteredUrls as a string to be used as regex and filter case insensitively.
2009-12-03 14:54:23 -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
bef67b3db3 Bug 532173 - Don't sync tabs of some pages (weave firstrun, about:blank)
Ignore certain filtered urls when creating a list of tabs for remote machines.
2009-12-02 14:46:02 -08:00
Edward Lee
08eca0017c Bug 530717 - sync after wipe local should always replace local values with remote
Always take the incoming item after a wipe and otherwise do the normal reconcile.
2009-12-02 14:44:52 -08:00
Edward Lee
c5bc7653dd Bug 531239 - clear out duplicate/old machines from Clients record
Get rid of persistent storage for clients and tabs to always fetch fresh records.
2009-12-02 14:44:17 -08:00
Edward Lee
a46e202447 Share tab-gathering code for both createRecord and locallyOpenTabMatches. 2009-12-01 11:36:56 -08:00
Edward Lee
eb87765d7b Bug 530823 - Engines need to be able to specify a prefName for sharing prefs (different history types)
Use prefName for checking if an engine is enabled and have forms share a prefName with history.
2009-11-30 12:15:18 -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
df947df75e Bug 531177 - Tabs don't sync from firefox (when there's lots of tabs)
Simplify tab record to just use deferGetSet like the other records and sort tabs based on their last usage to pick out a subset.
2009-11-25 15:22:45 -08:00
Edward Lee
dd2f688ee2 Bug 531171 - Tabs don't always update
Only expose that the tab engine knows about the current client's tabs, so always create/apply incoming and only create records tabs for local.
2009-11-25 15:17:39 -08:00
Edward Lee
877e53a9da Bug 531170 - Tabs don't sync from fennec
Add listeners for Fennec tab events the same way we do it for Firefox and share listener logic for various event types.

--HG--
extra : rebase_source : 685e45c16052db3d285c25c68db47680b7d15f72
2009-11-25 15:14:56 -08:00
Edward Lee
b4233752d2 Bug 524916 - remove any/all code/images/strings that we aren't using anymore
Remove unused sync engines (cookies, extensions, input, microformats, plugins, themes).
2009-11-24 16:02:55 -08:00
Edward Lee
c05e0c5f94 Remove trailing whitespace from the codebase. 2009-11-20 14:34:20 -08:00
Edward Lee
d032f1effe Bug 527790 - Allow client names to be different from the default "Firefox"
Generate a client name based on the logged in username, appname, hostname, and profile name.
2009-11-19 23:31:04 -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
19934febcc Bug 507666 - Handle deleting places history
Use onBeforeDeleteURI to get the page's GUID and upload the delete record and process it by removing the page.
2009-11-18 11:47:25 -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
8b8ea72a82 Bug 528343 - Tabs don't sync
Set the current client on any tab change for tracker.changedIDs and reset that when sync finishes.

--HG--
extra : rebase_source : 3100141bc1fdfaaa959b5f990a9538527761aace
2009-11-12 14:48:54 -08:00
Edward Lee
79f980a983 Bug 527767 - Sync more history items on first sync
Syncing 1000 items should be good enough for anybody......
2009-11-12 13:51:28 -08:00
Edward Lee
2c1baed50d Remove unwanted info logging for bookmark indices. 2009-11-11 15:20:19 -08:00
Edward Lee
89460e2378 Bug 527766 - Sync history pages with a single visit
Backout bug 518972 (6954c93b8903) so now we push all data instead of pages with more than 1 visit.
2009-11-10 15:52:40 -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
02e3dda699 Bug 517598 - Put useful interestingness/index values for history
Additionally get the frecency for a history GUID/page when getting the url and title.
2009-10-16 16:18:53 -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
Edward Lee
4f389c5c8a Bug 518972 - Only upload history records that have more than one visit
Allow each engine to provide a custom Collection object and have History provide a collection that filters out certain data. This is inefficient because we have to first create then encrypt the record before we can filter it out.
2009-09-25 16:52:12 -07:00
Edward Lee
51a7e2fb0b Bug 518958 - Only sync tabs if there has been tab activity
Check the score, which gets bumped up on tab open/close/select, to decide if tabs should be marked as changed.
2009-09-25 16:14:26 -07:00
Edward Lee
f042fdc078 Bug 514601 - Don't send DELETE for old history/form data on every sync
Don't send any deletes as the server will do the delete with bug 518945.
2009-09-25 15:30:26 -07:00
Edward Lee
666d0373fe Land about-weave on weave. Bug 516350 - about:weave round 3 followup fixes. r=thunder 2009-09-17 14:51:00 -07:00
Edward Lee
0611761d74 Use trace logging for reporting GUIDs. 2009-09-17 14:41:24 -07:00
Dan Mills
5094a04f3d initial patch
--HG--
extra : rebase_source : 250c8f0d85483300147a6f0d691e0214db6d837b
2009-09-15 21:54:05 -04:00
Edward Lee
7efe9c1d76 Merge weave-partial-view to weave. Bug 507429 - Partial sync download support. r=thunder 2009-09-11 16:48:58 -07:00
Edward Lee
7556f0c2cd Address review comments nits. r=thunder 2009-09-11 16:44:26 -07:00
Edward Lee
7f9b6c7f87 Be less chatty when showing GUIDs and ignore cases. 2009-09-11 14:39:48 -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
9380981a9e Merge weave to weave-partial-view. 2009-09-10 23:18:33 -07:00
Edward Lee
dadc08925c Use a short-circuiting check to determine if a history visit already exists. 2009-09-10 21:27:47 -07:00
Edward Lee
dc6d0cb84b Don't create a GUID when looking for dupes and set the GUID when adding a url. 2009-09-10 20:04:34 -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
97e3f746cb Switch end-of-sync deletes to something SyncEngine is aware of and runs at _syncFinish. 2009-08-31 17:30:34 -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
94e6abd74c Extend Utils.anno to handle pages and clean up GUID code for history engine. Also fix a bug where changeItemID would set annotations to expire on session. 2009-08-21 14:29:37 -07:00
Edward Lee
a4b22bc213 Remove old dumping code for debugging bug 476903. 2009-08-21 14:29:35 -07:00
Edward Lee
381bdb6576 Bug 511794 - Always use _view instead of _temp + table or just table
Also use subqueries instead of multiple queries and drop the query count down to 2.
2009-08-21 14:29:30 -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
1a4c241fc9 Change client engine to override findLikeId instead of recordLike to save on some work (iterating over changed ids). 2009-07-28 10:07:07 -07:00
Edward Lee
6ddbaa9a8e Bug 506795 - Handle adding duplicate logins. r=thunder
Refactor reconcile to call findLikeId that by default will look for recordLike in the outgoing queue as it does now. Override findLikeId for password engine to search local logins.
2009-07-28 10:06:02 -07:00
Edward Lee
551f097468 Convert various debug messages to trace. 2009-07-22 21:40:18 -07:00
Edward Lee
4f7ab3c5c2 Remove pref tracker init debug message. 2009-07-14 18:47:29 -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
9fde263097 Bug 504216 - Force various engines to be disabled
Have the disabled engines return null for enabled instead of the pref's true/false.
2009-07-14 17:03:57 -07:00
Anant Narayanan
7cd35a2c36 Limit form history records (bug 494952, r=thunder)
--HG--
extra : rebase_source : c3e983d30a14efd972eea2651a59be76924da256
2009-07-14 12:28:18 -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
5c482eea0d merge weave. resolve comments added to resource.js. 2009-07-09 11:21:20 -07:00
Edward Lee
1c1025b37d Convert a log.info to log.debug for passwords so it doesn't clutter the brief log. 2009-06-25 22:52:28 -07:00
Edward Lee
39f333a78e Bug 500598 - Undefined item in tabContainer.childNodes after closing tabs
The childNodes NodeList keeps its indices even after removal, so it's safer to convert the array-like thing into an actual array. Condense the QueryInterface code to the instanceof magic.
2009-06-25 22:46:14 -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
Anant Narayanan
22bd439624 Change priority of some log messages to trace 2009-06-22 18:19:42 -07:00
Edward Lee
eeef9a8201 Bug 487282 - "browser is null" error in tabs.js
Share browser detection code for register and unregister tab listeners and better check for tabbrowser windows.
2009-06-22 15:53:42 -07:00