Commit Graph

1334 Commits

Author SHA1 Message Date
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
32b2f2a15a 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
56e9f06576 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
5e906447cf 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
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
c79c303ba8 Remove trailing spaces in files under source/. 2010-04-02 16:38:05 -07:00
Edward Lee
37ec3dd78c Replace tabs in files under source/ with appropriate number of spaces. 2010-04-02 16:37:53 -07:00
Paul O’Shannessy
b52cf705d0 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
c572a8eee6 bug 545725 - Changing passphrase should prevent other clients from syncing, r=Mardak 2010-03-31 21:58:07 -04: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
68c0cda5cf 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
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
a399960cee 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
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
1d41397906 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
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
Edward Lee
ba60f514a6 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
e5bce4658d 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
54016ff07a bug 550597 - explicit server backoff is buggy, r=Mardak
--HG--
extra : rebase_source : 8e3621b0d7de77d918f1fe7ce1304f303fd19f97
2010-03-25 17:24:41 -04:00
Mike Connor
9f9e921640 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
d679522490 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
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
0ad782b0b5 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
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
e73dbf06b9 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
177b122960 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
6c37148ae4 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
eca5bad2df 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
00f548581e 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
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
35ae88f40a 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
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
Edward Lee
accbff6fd1 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
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
Paul O’Shannessy
6734a1e7b5 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
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
da13b169a2 Revert svc/svc == null change from 87f9860d8e5a. 2010-03-02 11:22:20 -08:00
Paul O’Shannessy
137de41059 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
b5463708b7 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
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
Paul O’Shannessy
d367359168 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
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