Commit Graph

1521 Commits

Author SHA1 Message Date
Edward Lee
bd4a46d064 Bug 557591 - Add tests for Utils.lazySvc. [r=mconnor]
Add a fake service that definitely won't exist for testing purposes.
2010-05-17 13:46:19 -07:00
Mike Connor
e3ff29780a Bug 564523 - passphrase can match password for new accounts, r=Mardak
--HG--
extra : rebase_source : bae8d44f67c0f836efa1a6f607e6605f3d30b33b
2010-05-07 18:39:58 -04:00
Mike Connor
e670005eb2 Bug 564365 - canceling setup, then setting up Weave, doesn't set firstrun pref, causing problems later, r=mardak 2010-05-07 16:16:37 -04:00
Mike Connor
11b09dae28 Bug 563868 - Provide better feedback when server is unreachable or doesn't have a server instance during setup. also fixes bug 564329. r=Mardak 2010-05-07 00:02:00 -04:00
Edward Lee
32ffff545f 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
Mike Connor
d500173a72 Bug 563682 - Latest Secret phrase does not update in password manager, r=Mardak
--HG--
extra : rebase_source : bc6631f3d4732fb48ddb131cb36ce1bde23d991e
2010-05-04 16:56:12 -04:00
Mike Connor
18372106ac Bug 561391 - Add hidden pref to let createAccount include X-Weave-Secret header to bypass captcha, r=Mardak
--HG--
extra : rebase_source : 7c26037977ab47b4f7bceb8ec9889786abd3f0fd
2010-05-04 16:55:34 -04:00
Edward Lee
0c62a45494 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
2a2cbfbad2 Bug 562515 - Reset sync option "Replace all data on this computer with your Weave data" is not handling local deletes correctly [r=mconnor]
Clear out any changed ids when wiping the client to prevent delete records from getting uploaded for these items.
2010-05-03 14:39:32 -07:00
Edward Lee
eb6d0834d7 Bug 562100 - need enhanced activity logging to measure sync performance from client [r=mconnor]
Track a start time and print the total sync time to hundredths of a second.

--HG--
extra : rebase_source : b1639875d527b0bfabe57be90413bb47ba0b05ce
2010-05-03 14:01:08 -07:00
Mike Connor
2b46d6a587 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
152c9df466 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
d5a98d02e2 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
1fc133e489 Bug 556454 - engine.sync should always check engine.enabled [r=mconnor]
Just check if the engine is enabled at the beginning of sync. For now keep getEnabled as it's used for other behavior and not just sync.
2010-04-29 16:42:21 -07:00
Edward Lee
1618e0cb25 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
5dbc80dbd3 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
26717b95bc 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
d59d71b959 Bug 560887 - Heartbeat doesn't detect new clients if the browser is closed before 1 hour, r=Mardak 2010-04-29 11:50:46 -04:00
Mike Connor
eb6db50e8a 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
Edward Lee
29159af867 Bug 561005 - Use FakeSvc to grab binary crypto if js-ctypes doesn't work [r=zpao r=mconnor]
Lazily load the binary component service onto FakeSvc if ;2 fails to register on Svc.
2010-04-28 16:36:41 -07:00
Edward Lee
2a8342da17 Bug 561638 - Weave Error in Trunk Nightly (Status Bar Icon Missing) [r=mconnor]
Remove the extra name from get/set declarations now that Spidermonkey doesn't want them.
2010-04-26 11:37:12 -07:00
Mike Connor
7dd144218f Bug 560937 - move all setup into a single wizard, and clean up interactions, r=mardak 2010-04-21 20:40:42 -04:00
Mike Connor
99319d631c Bug 526012 - audit observer service usage, r=mardak 2010-04-20 21:56:44 -04:00
Mike Connor
9912926c15 Bug 556930 - Wrong secret phrase warning shows up when logging in, r=Mardak 2010-04-09 13:20:41 -04:00
Justin Dolske
75fe297323 Bug 513798 - Rewrite WeaveCrypto in JS. r=mconnor, r=dwitte
--HG--
rename : services/crypto/components/IWeaveCrypto.xpt => services/crypto/IWeaveCrypto.xpt
2010-04-21 19:02:16 -07:00
Edward Lee
fba87f0c14 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
0f030153cc 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
f05a827ed2 Bug 480448 - Get rid of code to delete old snapshots [r=mconnor]
SnapshotStore got removed with bug 524916 and hasn't been getting called for a long time now.
2010-04-21 11:10:32 -07:00
Edward Lee
30147177c1 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
12f3abb6e4 Bug 560184 - Proxy authentication: Initial Weave connection attempt doesn't time out [r=mconnor]
Delay the abort timer from the constructor in addition to onStartRequest and onDataAvailable in-case the callbacks never get called.

--HG--
extra : rebase_source : 1243f3baa468b13f8da28175b10aa99b2341e53a
2010-04-21 11:10:21 -07:00
Edward Lee
04e6b1f9a8 Bug 559674 - Put the xpi type (dev/rel) in the updated url [r=mconnor]
Add two constants: WEAVE_CHANNEL and UPDATED_URL that get preprocessed with @xpi_type@.
2010-04-15 16:33:09 -07:00
Edward Lee
74ee9ca0f3 Bug 534218 - Changing sync direction from outdated clients loses client/server data [r=mconnor]
Check remoteSetup first to determine if we're okay to sync before wiping client/remote. Additionally only wipe enabled engines instead of everything.
2010-04-14 15:00:29 -07:00
Mike Connor
a0b39324a1 bug 543851 - autoconnect should call _checkSync(), r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
327c2da464 bug 556710 - Make mpLocked part of Utils, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
4f5f1a7edb bug 556683 - password reset URL is hardcoded, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
ff2b435a77 bug 496485 - make Service.wipeServer work properly, r=Mardak 2010-04-07 20:06:37 -04:00
Mike Connor
db5f17224a bug 551572 - 100% CPU when sitting on merge-choice screen, r=Mardak
--HG--
extra : rebase_source : 1b2d36ff6d6d80b81cdadaad4fb53592f851e903
2010-04-05 23:53:31 -04:00
Edward Lee
ea7a2f7ba7 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
1532b85056 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
b62b60e410 Bug 557891 - Wipe local triggers deletions on all other clients! [r=mconnor]
Ignore tracker changes triggered by wiping the local client store.
2010-04-07 17:52:22 -07:00
Edward Lee
a5fc13f320 Bug 557623 - Tab sync broken on fennec since session-store was added [r=zpao]
Check for existance of both cid and iface in Cc/Ci to decide to use the platform's service or fake one. Remove unused lazyInstance to clean up API (iface == string not object).
2010-04-06 14:13:21 -07:00
Edward Lee
b4d4505934 Bug 549789 - Point user/misc urls to 1.0/ instead of 1/ [r=mconnor]
Fix up both url getters to have the extra dot oh.
2010-04-06 12:07:34 -07:00
Edward Lee
079257bf2f 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
65f25d882a Remove trailing spaces in files under source/. 2010-04-02 16:38:05 -07:00
Edward Lee
35083577f3 Replace tabs in files under source/ with appropriate number of spaces. 2010-04-02 16:37:53 -07:00
Paul O’Shannessy
02de93e6b7 Bug 554936 - Make statusbar text "Set Up Weave..." until Weave has been configured [r=Mardak]
* Added a "Set Up Weave..." status message which is determined by Status.login states
* The "Set Up Weave..." message opens the pref window directly instead of showing the menu
* Added an additional error state for NO_PASSPHRASE
* Added checks to onStartup to check some status (no username/password/passphrase) for when autoconnect=false
* When the prefpane is opened and there's an error, it will open to the correct page so that can be corrected
* If using a custom server, that will be reflected when shown that page in the prefpane
2010-04-02 16:30:09 -07:00
Mike Connor
ca58a97947 bug 545725 - Changing passphrase should prevent other clients from syncing, r=Mardak 2010-03-31 21:58:07 -04:00
Edward Lee
084907c53f 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
caac21044c 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
cc452bb5e2 Bug 544532 - Weave won't sync after resume from standby [r=mconnor]
Start an abortTimer onStartRequest and refresh the timer on each onDataAvailable only to cancel on an onStopRequest. If the timer triggers, the sync/async call will be aborted.
2010-04-01 15:25:47 -07:00
Edward Lee
1891e47f71 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
0bc6e62a98 Bug 554924 - Weave should not sync during session restore [r=mconnor]
Get rid of STATUS_DELAYED and initialize Weave listeners, etc immediately. At the end of onStartup, wait a little bit to let sessionstore restore tabs and then count how many busy tabs to delay autoconnecting to avoid doing network while tabs are doing network.
2010-04-01 15:16:19 -07:00
Edward Lee
1fddfb0347 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
dfeaeaf6ac Bug 539057 - better flow with start over [r=mconnor]
* Adds an option to the manage account to change sync option.
* Changes "start over" to "use a different account".
* Hides the "start over" button on the sync options page when not running through the whole process.
* Adds a prompt when starting over (which fixes bug 524186).
2010-04-01 13:43:09 -07:00
Edward Lee
fe072a177b 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
71f982d974 bug 539056 - Better Tab sync UI and discoverability, r=Mardak
--HG--
extra : rebase_source : d0c98d78b889ed74f5b130077a6ee1806bd81282
2010-03-12 16:14:09 -08:00
Edward Lee
6c104ff79a Bug 552134 - Ensure that keyring/symmetric key haven't been tampered with [r=mconnor]
Store a HMAC with the encrypted symmetric key instead of just the wrapped key and verify that the HMAC matches before unwrapping. Test that normal getting works and a tampered payload/HMAC fails but succeeds on restoring the correct HMAC.
2010-03-25 19:23:44 -07:00
Edward Lee
46632f7ac1 Bug 549638 - Ensure that encrypted payloads haven't been tampered with [r=mconnor r=dolske]
Generate a SHA256 HAMC hex string from the base64 ciphertext and base64 symmetric key. Generate a HMAC key from the symmetric key and cache them together when unwrapping. Refactor the Utils.sha1 to share the same digest code.

--HG--
extra : rebase_source : dae973c62317eb3b738306fc30ea19870555c7df
2010-03-16 16:31:56 -07:00
Mike Connor
777762c48e bug 550597 - explicit server backoff is buggy, r=Mardak
--HG--
extra : rebase_source : 8e3621b0d7de77d918f1fe7ce1304f303fd19f97
2010-03-25 17:24:41 -04:00
Mike Connor
a8a384a3b0 bug 535136 - improve transition from single-client to multiple-client mode, r=Mardak
--HG--
extra : rebase_source : 8a667e947aa442e65eec1e13059e7076b00f9878
2010-03-25 17:24:41 -04:00
Edward Lee
503f711a99 Bug 550267 - Sync tabs before other data for Fennec [r=mconnor]
Move tabs to be first instead of last to sync for fennec.

--HG--
extra : rebase_source : 74596397668d4cdcd15993cd0930b0b65b0df777
2010-03-25 14:21:42 -07:00
Paul O’Shannessy
8a1c83fe01 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
e0f3625f3c Bug 503964 - Have per-engine versioning to avoid wiping all engine data [r=mconnor]
Add an engines object to meta/global to track version and syncID for each engine. If the server is outdated, wipe the data and set a new version and syncID. If the client is oudated, ask for an upgrade. Differing syncIDs cause a reupload. All engines are right now the default version 1.
2010-03-25 10:05:21 -07:00
Edward Lee
1cd3c07303 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
1555ba9d3c 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
7379a71033 Bug 547007 - Use a per-record IV instead of one for each symkey [r=mconnor]
Generate a random IV on every encrypt instead of taking it from the CryptoMeta. Don't bother generating a bulkIV per CryptoMeta.
2010-03-16 16:31:56 -07:00
Edward Lee
6e5b14f642 Bug 547048 - Only allow clients to issue delete records [r=mconnor]
Don't specially serialize/not encrypt delete records and store the deleted flag as part of the cleartext payload.
2010-03-16 16:31:56 -07:00
Edward Lee
e057d3a639 Bug 547049 - Verify that encrypted payloads correspond to the requested record [r=mconnor]
Write the record's id to both .data and .cleartext and check that they match when decrypting.
2010-03-16 16:31:56 -07:00
Edward Lee
eb92572129 Bug 549636 - Don't unnecessarily [wrap] cleartext for JSON.stringify [r=mconnor]
Remove the unnecessary indirection now that JSON.stringify can take strings.
2010-03-16 16:31:56 -07:00
Edward Lee
4b77738965 Bug 544069 - Move bookmark parentid into the encrypted payload [r=mconnor]
Tweak the get/setters to refer to the PlacesItem instead of WBORecord.
2010-03-16 16:31:56 -07:00
Edward Lee
039a4a056e 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
48e1d05db4 Bug 545517 - Make the remote version check compare storage versions and not weave versions [r=mconnor sr=mhanson]
Move back to a model where multiple client versions can read the same data of the same storageVersion. The only time meta/global is written is on a freshStart/server wipe. Initialize the version to 1.2pre1.1 so that individual storage-incompatible changes can bump the value. Old versions are strings, so estimate with a parseFloat, but future versions will be integers.
2010-03-16 16:31:55 -07:00
Edward Lee
9406f55ac2 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
Edward Lee
cf3fc65766 Bug 551874 - Figure out if we can avoid getting into partial synced state [r=mconnor]
For not-mobile clients, sync everything by specifying Infinity to keep existing math/logic working. Don't add a limit ?query if it's Infinity.
2010-03-19 11:35:01 -07:00
Paul O’Shannessy
fd097ce9f9 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
Paul O’Shannessy
e6b66d0994 Bug 552532 - Sync form data to mobile [r=Mardak]
Add the "Form" engine to the list of engines used on Fennec.
2010-03-16 12:00:40 -07:00
Edward Lee
650316bd73 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
28164da619 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
78a722ffd5 Revert svc/svc == null change from 87f9860d8e5a. 2010-03-02 11:22:20 -08:00
Paul O’Shannessy
25fc7e8e9e Refactor fake services so it's easier to add more [r=Mardak]
Created a FakeSvc object to put fake services into.
2010-03-02 11:07:30 -08:00
Paul O’Shannessy
dbd9998e8a Bug 547827 - JavaScript strict warning: modules/util.js, line 617: reference to undefined property thisObj[name] [r=Mardak]
Check that name is a property of thisObj before trying to access it.
2010-02-23 13:10:32 -08:00
Paul O’Shannessy
5213834801 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
Paul O’Shannessy
26cffb7e7f Bug 545756 - Get rid of quit-application observer [r=Mardak]
Stop observing 'quit-application', remove handling from observe, and remove WeaveSvc.isQuitting

--HG--
extra : rebase_source : e52fab892127d4ddd9a7312e74202cc3e09b2c8c
2010-02-12 12:04:06 -08:00
Edward Lee
f9a2c142e4 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
0e09a51b7a 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
8c4c90a45d 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
1ef5637421 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
c3a6abad27 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
91646d0c29 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
235e105eb2 Bug 541722 - updating out of date machine can cause data to be reverted
Don't have each engine reset their last sync but still have the service clear out its cached data (keys, records).
2010-02-03 15:23:58 -08:00
Edward Lee
df69726fcf Reverse thresholds to make more sense for single vs multi. 2010-01-26 12:08:41 -08:00
Edward Lee
7867da3476 Bug 541766 - Logging in with email address kinda works but not
Detect finding cluster failure due to invalid username and treat like failed login.
2010-01-25 10:30:31 -08:00
Edward Lee
eaf5249121 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
8aca513a35 Lower tab logging to trace when wrapping tabs. 2010-01-21 09:59:27 -08:00
Edward Lee
5c85990e0b 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
Mike Connor
2054217a10 Bug 524221 - Weave's current auto-login behavior is super-annoying if you have a master password. r=Mardak
Only autoconnect if the master password has already been entered and autoretry later if not.
2010-01-07 16:13:44 -08:00
Edward Lee
16f39932f5 Bug 536595 - Sync fewer items per data type on mobile
Just sync a flat 50 instead of .1 of 1500 to avoid increasing slowdown when processing many items.
2010-01-06 10:00:05 -08:00
Edward Lee
138e3682ad Bug 536594 - Warn on record creation failure but continue the sync
Wrap createRecord and encrypt incase an engine fails to create one or more of the records similar to how process incoming records are wrapped.
2010-01-06 09:59:05 -08:00
Edward Lee
5a569bea45 Bug 536596 - Don't force garbage collections on every record processed
Remove the forceGC at the end of each onProgress from Collections and let normal actions trigger GC.
2010-01-06 09:57:05 -08:00
Edward Lee
374089c085 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
d16577a5ea Bug 536457 - Include the version when pinging
Append a v=<version> to include the version and make it easier to add things in the future.
2009-12-22 13:46:34 -08:00
Edward Lee
5e3b42f790 Bug 535722 - Reduce the amount of logging for default log levels
Include the URI on success/fail requests and only trace log the onStartRequest. Switch various debug messages to trace and remove importing Log4Moz in fx-weave-overlay and generic-change. Drop the rootLogger to Debug to not log trace messages from unpreffed loggers.
2009-12-17 18:51:55 -08:00
Edward Lee
b1e4f67913 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
645d705058 Bug 535477 - Always sync tabs but inform Fennec users that recent tabs need syncing
Remove special casing of tabs prefs and remove tabs.backup to simplify the UI logic. Also remove dynamically enabling/disabling based on number of clients. For Fennec, show a notification about recent tabs need syncing.
2009-12-16 19:15:18 -08:00
Edward Lee
dcc74fa6ed Bug 535476 - Ping the server once a day to help count active daily clients
Fetch info/collections? with an extra "?" once a day on a normal sync so that it gets the same data but is easily differentiated in access logs.
2009-12-16 19:08:36 -08:00
Edward Lee
1b845a7667 Bug 532175 - Send event when Weave is ready to register new engines
Notify with "weave:service:ready" so observers can lazily load and wait to add engines, Weave UI.
2009-12-15 14:21:13 -08:00
Edward Lee
1c4d7a2adc 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
30a5a5e095 Bug 534944 - Avoid loading/importing weave files until necessary to speed up fennec startup
Have importing service.js trigger startup instead of only starting up from Weave.js, which now is used as a backup kickstarter. Only call import(service.js) when necessary from various Fennec files.
2009-12-15 14:21:12 -08:00
Edward Lee
61a7c45b44 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
d23f46c4f3 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
e36bc83bfd 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
Mike Connor
120a548fe6 bug 533759 - delay real startup for 10 seconds on Fennec to get away from startup 2009-12-10 12:20:16 -08:00
Mike Connor
8df647353a Bug 533580 - strip busted tbird support 2009-12-08 16:09:26 -08:00
Edward Lee
a27daaaec5 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
Mike Connor
06f700a2ff bug 530824 - close window and start syncing much sooner when setting up second machine
--HG--
extra : rebase_source : 10919d9957e323e0f12f5ca1b67e5fe9f8294288
2009-12-03 15:03:39 -05:00
Edward Lee
290955570d Bug 532722 - Use AddonOptionsLoad event to update Weave options
Make the weave add-on guid available as a constant and watch for AddonOptionsLoad with the matching addonID.
2009-12-03 12:14:56 -08:00
Edward Lee
a69a15740c 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
1e7437ce9f Bug 532449 - Tabs don't sync until 4 syncs have happened
Always update the lastModified time to avoid tabs only sometimes getting updated.
2009-12-02 19:03:27 -08:00
Edward Lee
4eea405002 Bug 532570 - "keyring doesn't contain a key" when signing-in with a differently-cased username
Make sure username is always lowercase so that pubkey uri, storage uri, etc. are all the same no matter how the user logged in. Server needs to be wiped to make sure existing keys with other casing are removed.
2009-12-02 18:25:18 -08:00
Edward Lee
a938b1938a Bug 531005 - Sync is not working after update IWeaveCrypto.unwrapSymmetricKey NS_ERROR_FAILURE
Avoid concurrent key generation by updating meta/global immediately after resetting the client and have wipeServer not delete the meta collection. Also on detecting a syncid mismatch, sleep to allow remote keypair to be uploaded, and don't force a mismatch on upgrade.
2009-12-02 17:57:13 -08:00
Edward Lee
13dc29cda6 Bug 531005 - Sync is not working after update IWeaveCrypto.unwrapSymmetricKey NS_ERROR_FAILURE
Check that the cryptometa is unwrappable when syncing; if not purge the key and data and make a new crypto record.
2009-12-02 17:25:14 -08:00
Edward Lee
eab5c8f980 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
0a30c91bc0 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
34ad9876ab 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
Igor Velkov
baa1783b76 Bug 526521 - Can't open preferences in SeaMonkey 2.0.1pre. r=Mardak
Reorganize fx-prefs to overlay itself so seamonkey can reference the same id and add Tabs sync.
2009-12-01 11:49:23 -08:00
Edward Lee
a30c30b7be Share tab-gathering code for both createRecord and locallyOpenTabMatches. 2009-12-01 11:36:56 -08:00
Edward Lee
9bd57f2170 Provide a fake service for platforms that don't have the service like Private Browsing (for Fennec/Seamonkey). 2009-11-30 14:36:03 -08:00
Edward Lee
4e72f0165b Bug 531943 - Sync scheduled by global threshold during private browsing
Use checkSyncStatus instead of directly calling syncOnIdle or scheduleNextSync so that we only schedule if we're okay to sync.
2009-11-30 14:03:59 -08:00
Edward Lee
6baeee3ae5 Bug 530863 - Global threshold update causes multiple syncs to fire
Make sure we only add one idle observer by keeping a flag.
2009-11-30 13:35:20 -08:00
Edward Lee
c27c49821c 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
c3f5e5f0a5 Remove unused SnapshotStore. (Bug 524916) 2009-11-25 17:59:26 -08:00
Edward Lee
54ac58d5e4 Remove unused prefs and imports. (Bug 524916)
--HG--
extra : rebase_source : 074e542f63ee840b61db7fe63a6c3540c13a31a5
2009-11-25 17:49:15 -08:00
Mike Connor
3244ad9b4b archive local bookmarks before wiping
--HG--
extra : rebase_source : dd54af2118cf60c9e4f4b3bf08b7a5c61e9e78b8
2009-11-25 17:09:32 -08:00
Mike Connor
c80471a7c9 bug 530832 - make Merge more prominent, and clearly the recommended choice, with crisper wording
--HG--
extra : rebase_source : 68fdf9035bf3354a99c93b5050eb4af58c54a072
2009-11-25 17:08:51 -08:00
Edward Lee
5b2d0e0fe2 Bug 530904 - tabs list style doesn't match fennec lists
Make headers larger, adjust text margins, add nokia sans font family.
2009-11-25 16:59:02 -08:00
Edward Lee
12959d684f 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
3e0ad22034 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
84acd63006 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
Mike Connor
4fdb8d9ec2 bug 527504 - overlay macBrowserOverlay so menu works on all windows that include
--HG--
extra : rebase_source : 1c95c891e89557f87539a66b678e3b54d659ce39
2009-11-24 15:50:51 -08:00
Edward Lee
57b5d69aee 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
c0765fefde Remove trailing whitespace from the codebase. 2009-11-20 14:34:20 -08:00
Edward Lee
691f609c50 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
b651389cb4 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
3af727a5c5 Bug 528539 - Start over should warn about incorrect username/password before prompting for secret phrase
Show Connecting... when signin in on page 0 and Verifying... when checking the passphrase on page 1.
2009-11-18 14:42:13 -08:00
Edward Lee
3dd26a8fad 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
cb8c34b644 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
1c3164596f Bug 525786 - Weave's log has a record of private browsing start/stop times
Switch some messages like private browsing, network change to trace and make the default service.main level Debug instead of Trace.
2009-11-16 17:11:10 -08:00
Edward Lee
4290447cc4 Comment out some trace logging in service.main for now (they always appear). 2009-11-12 19:25:43 -08:00
Edward Lee
21aa4351a8 Bug 526942 - Try to sync tabs when viewing remote tabs
Try fetching tabs when loading the remote tabs view and if the sync got new tabs, reload the page.
2009-11-12 15:18:43 -08:00
Edward Lee
9a15bcc16b 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
00cc35abdf 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
ca8fe4c267 Bug 528090 - When logging out, stay disconnected until told to connect
Toggle the autoconnect pref on login/logout.
2009-11-12 13:49:41 -08:00
Mike Connor
cefffb249b Backed out changeset 23d90c46b89c 2009-11-12 15:44:33 -05:00
Edward Lee
3be71460fc Bug 528278 - Remove remote commands and wait for user on wipeRemote/changePassphrase
Store the reason for starting fresh (new syncId) in meta/global and fail remoteSetup on certain reasons to let the UI show a notification to the user for a response (pick merge or change passphrase). Code paths (sync, prep, etc.) related to remote commands are removed.
2009-11-12 11:54:21 -08:00
Mike Connor
7df553e494 bug 526569 - add explicit choice to setup flow for additional computers
--HG--
extra : rebase_source : 45e0af54dc4b059368e14fcf241fe4ab3250b151
2009-11-12 13:11:54 -05:00
Edward Lee
d2abea3b69 Remove unwanted info logging for bookmark indices. 2009-11-11 15:20:19 -08:00
Edward Lee
e11e6a2c55 Reset the score when calculating the global score. 2009-11-11 15:19:00 -08:00
Edward Lee
9e1ef1c8af 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
Edward Lee
48fddbe721 Bug 527775 - Allow customizable api version on the client
Add a new pref storageAPI (currently 0.5) that gets used for storage urls.

--HG--
extra : rebase_source : 74ca13de918d4211cbdcf708c30cc03d876fec7d
2009-11-10 15:24:31 -08:00
Mike Connor
8b18c0ef54 bug 518075 - fix copy/paste fail 2009-11-09 16:30:37 -05:00
Edward Lee
3f43f527e1 Bug 527379 - Passphrase gets synced back to previous value
Persist the new passphrase in the login manager to have it sync the modify (delete+add).

--HG--
extra : rebase_source : 940c8362aa3900615a06b73e34815acd6365e086
2009-11-09 12:56:14 -08:00
Mike Connor
be46d4fd98 bug 518075 - fix timer usage, reset engine score once added to globalScore 2009-11-09 14:33:53 -05:00
Mike Connor
516a5f8953 bug 518075 - tweak original patch and item values 2009-11-09 12:57:58 -05:00
Edward Lee
43a1a96614 Bug 526661 - Use Firefox content to display the activity log
Just open the file as a tab to show the activity log. Remove related xul/js/strings. Saving can be done through normal Save Page As... No manual cleaning of the log, but the size is much smaller.
2009-11-04 17:01:49 -08:00
Edward Lee
509504e15f Missing let for declaring meta. 2009-11-04 16:27:35 -08:00
Edward Lee
b0552ee55b 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
Edward Lee
4e4495a7a4 Bug 513438 - No easy way to enable / re-enable Weave
Assume Weave is always enabled (don't store it in a pref) and only disable if checks fail on startup.
2009-11-04 15:27:08 -08:00
Edward Lee
eb8a547f22 Avoid undefined property warnings by checking for null first instead of comparing. 2009-11-04 15:12:29 -08:00
Edward Lee
727e615361 Remove unused openStatus util call for status.xul. 2009-11-03 14:39:35 -08:00
Mike Connor
e57d84d4d6 bug 524916 - remove /xmpp from Sync, since we're not using it 2009-11-02 22:38:50 -05:00
Mike Connor
c803c9f499 bug 485108 - drop status dialog, show status including engines on statusbar, remove dead status bits 2009-10-28 03:42:35 -04:00
Mike Connor
261f7793c0 bug 520065 - partial sync fail should be an error, add better error string, and fix status object misuse so it actually works 2009-10-27 19:15:20 -04:00
Mike Connor
06a737b008 moar error checking, turn field validation back on in wizard, do better rewind/forward enabling
--HG--
extra : rebase_source : 473eccb2c879769b94011d6ae6b947a6e070fdaa
2009-10-23 03:05:41 -04:00
Mike Connor
a74475172a merge backout 2009-10-23 01:11:07 -04:00
Mike Connor
d15a690d44 Backed out changeset 4e518b3ae5d2
overzealous pruning ftl ;)
2009-10-23 01:10:36 -04:00
Edward Lee
c63aad855c Bug 483089 - Weave Preferences button in Add-ons manager should be enabled
Show the new pref pane (bug 521357) by having the options.xul file for Fennec (bug 523384) close iteself and open the real prefs window.
2009-10-22 16:15:34 -07:00
Edward Lee
2fd35215ca Bug 523384 - Update Fennec UI for 0.8 release
Provide an optionsURL to show settings on Fennec and update the options on various events like sync, login, options loaded.
2009-10-22 13:51:50 -07:00
Edward Lee
4f6c329f0a Remove unused TabsNotification for remote virtual tabs notification. 2009-10-19 17:06:50 -07:00
Edward Lee
57cd173e1d Remove unused change password/passphrase/generic dialog. 2009-10-19 16:37:25 -07:00
Edward Lee
998e703ef1 Remove unused pick-sync dialog (<==, <==>, ==>). 2009-10-19 16:24:32 -07:00
Edward Lee
2df003c9b1 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
dbc6dadefc 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
cafcb53243 Ignore sortindex when comparing if records are different because it's only used for ordering of records. 2009-10-16 16:18:38 -07:00
Edward Lee
163c93866d Keep the unsorted bookmark folder unsorted and not worry about the ordering. 2009-10-13 16:27:10 -07:00
Edward Lee
83ba7d0855 Bug 522084 - Automatically sync much sooner if there's more data to fetch from the server
Have the syncInterval getter return with a lower interval for non-mobile clients while still enforcing backoff if it's bigger than the sync interval.
2009-10-13 11:56:46 -07:00
Edward Lee
7fcf4fdde6 Bug 522077 - Download a certain total number of items each sync instead of fixed "catch up"
Limit the initial the first fetch of new items by a total number of fetch and subtract the number of items processed. Use the difference to keep fetching more items from the backlog in chunks.
2009-10-13 11:20:28 -07:00
Edward Lee
3f44aa854b Split multiple id deletes into 100-id chunks instead of hitting max apache URI length. 2009-10-12 18:11:31 -07:00
Edward Lee
f56a03aa93 Bug 482906 - Gracefully handle wiping weave passwords if syncing doesn't restore them
After potentially wiping out all local passwords, save the Weave passwords to disk.
2009-10-12 16:45:40 -07:00
Edward Lee
53ada6a89f Bug 520215 - Only wipe if data is able to be restored from the server
For each engine, try decrypting a record from the server before wiping local data.
2009-10-12 16:22:54 -07:00
Edward Lee
39f90ad4f7 Simplify logic for Engines.getAll/Enabled and use Enabled for main sync loop. 2009-10-08 13:51:22 -07:00
Edward Lee
3485d4dcb1 Land external changes to Sync.js: setTimeout timer reference, checkAppReady comments/calls. 2009-10-08 11:45:51 -07:00
Edward Lee
8c92eee28a Bug 517492 - Sync will not complete, causing firefox not to quit successfully
Lazily listen for quit-application on the first sync-async call and bail out if the notification is sent while waiting for the callback.
2009-10-07 18:15:38 -07:00
Edward Lee
af5e61b913 Bug 519147 - "Sign In" is greyed out in Weave menu when Firefox starts, in Weave 0.7pre4
Switch back to STATUS_OK (from STATUS_DELAYED) when the delayed startup is actually called.
2009-10-07 10:47:55 -07:00
Edward Lee
3b609cc8bc Move the status record into a separate Status object exported with the Weave object. 2009-10-07 10:47:43 -07:00
Edward Lee
1578c6c3d2 Remove eval() workaround now that jit.chrome doesn't crash on latest 1.9.2 fennec (bug 517247). 2009-10-02 13:46:38 -07:00
Edward Lee
a2514cee67 Don't try logging out when already logged out -- about:weave calls logout which tries to _log, but Fennec weave hasn't loaded Weave yet. 2009-09-30 15:16:56 -07:00
Edward Lee
fbb222d35d Bug 518226 - Service should bubble up partial sync information
Set a flag on the status object to indicate partial sync after syncing an engine. For now, just show some text under the sync arrows to let the user know nothing needs to be done.
2009-09-30 14:46:59 -07:00
Mike Connor
9344db61c8 fix merge fail 2009-09-29 18:40:18 -07:00
Mike Connor
061821547d bug 518273 - need to handle not having an active node assigned, r=edilee
--HG--
extra : rebase_source : f86c6cc164241cee263345de5e13dd5ae0a3758b
2009-09-29 18:33:41 -07:00
Edward Lee
1468737a00 Remove unused threshold code that will be replaced soon with bug 518075. 2009-09-29 13:02:08 -07:00