Edward Lee
a45ed6623b
Bug 482178 - Clean up services -> lazy services. r=thunder
2009-03-10 06:30:30 -05:00
Dan Mills
2e61ae02f3
remove dump() debug statements
2009-03-10 01:20:50 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
02d92a86ca
Fennec now launches first run page, and updates extensions.weave.lastversion, so that it's no longer resetting syncId and therefore resetting the server every single time it tries to sync. Also set the download in resource.js to use LOAD_BYPASS_CACHE. Together these changes seem to fix bug 480270.
2009-03-07 00:55:47 -08:00
Edward Lee
edda1db597
Bug 480457 - Expose a resetClient API for weave service and engines. r=thunder
2009-02-26 22:36:14 -08:00
Dan Mills
bf29e922ae
disable recordLike for clients
2009-03-03 11:53:56 -08:00
Dan Mills
47ac6a5d0c
create new records with correct guid set
2009-03-03 01:48:13 -08:00
Dan Mills
26e63650e6
override _recordLike for passwords; add logging calls; make getAllIDs return full nsLoginInfos
2009-03-03 01:32:10 -08:00
Dan Mills
3e1235a9e5
Switch away from __defineGetter__ due to bug 481104; explicitly cache logins in password engine; whitespace fixes
2009-03-02 18:55:26 -08:00
Anant Narayanan
0f6fdde06c
Remove getter that fixes the 'two-store' problem
2009-03-03 01:15:48 +01:00
Anant Narayanan
088a5457a5
Rename methods to be less confusing
2009-03-03 00:57:37 +01:00
Anant Narayanan
05dfbc7c8a
Password sync for 0.3 (bug #468697 )
2009-03-03 00:42:57 +01:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
ff833098f5
Resource.js now always validates the cache (VALIDATE_ALWAYS) when downloading stuff. This seems to fix bug 480270 on Firefox but not on Fennec.
2009-02-27 18:28:26 -08:00
Dan Mills
f17dafb475
fix args list for observe()
2009-02-26 17:37:49 -08:00
Dan Mills
7cdfbeed20
track local client data changes so we can upload it as necessary
2009-02-26 15:06:57 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
85f96743c6
Changed how firefox populates tabs-from-other-computers menu and how it opens a tab picked from that menu, so that it can restore the history of the tab and not just the latest URL.
2009-02-25 00:56:46 -08:00
Dan Mills
c46ffd1071
random fixes, actually syncs client data now :)
2009-02-20 01:52:07 -08:00
Dan Mills
bc248c608c
don't load old crypto module
2009-02-20 01:49:00 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
94e49ca097
Tab sync now skips empty tabs. This fixes bug 479216.
2009-02-19 11:20:23 -08:00
Dan Mills
128ac21239
go back to storing the local client name and type as prefs. also store a 'syncID' (gets reset upon a server wipe)
2009-02-19 04:07:23 -08:00
Dan Mills
d0e9169992
pass the cryptoMetaURL to the store's createRecord
2009-02-19 00:36:55 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
2d099f33ea
Fixed a bug with my fix -- I had inadvertently created an infinite loop.
2009-02-18 22:23:48 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
cffc8dfb3a
Fixed a bug in how Firefox gets URL history to save when syncing tabs up. Also some more work on the Fennec tabs UI.
2009-02-18 18:18:50 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
59677a949c
First pass at Fennec tab UI. There's now a button that opens a fullscren panel from the left, which contains the names of all remote tabs. They're not clickable yet.
2009-02-17 16:28:54 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b1ffa834cc
Tab sync works, and has UI in firefox (though not yet in Fennec)
2009-02-11 19:14:25 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
4f990b3937
Fixed bug in tab encoding in Firefox.
2009-02-10 22:15:25 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
941849dd9d
Fixed tab encoding bug on Fennec
2009-02-10 21:54:11 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
1506738c72
Fennec tabs and Firefox tabs now handled in different functions, and the Fennec one at least works.
2009-02-10 19:23:06 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c5df6dd7dd
SessionStore not available on Fennec, so now using alternate methods to get the list of tabs.
2009-02-09 21:16:18 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
6137ee85a6
Fixed some minor problems with TabEngine; identified places where TabEngine will need to use alternate methods to work on Fennec.
2009-02-09 20:23:42 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
98ba92c195
Switched TabTracker to register listeners on window open and remove them at window close -- need to find an alternate way to make this work on Fennec, where windows don't have tabContainers.
2009-02-06 17:50:12 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
bab93ee645
Added debugging info to TabEngine. Instantiated and registered TabEngine in both Firefox weave glue and Fennec weave glue.
2009-02-06 11:19:50 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
cde0013f0f
Rewrote tabs engine to work with 0.3 API. (Not yet tested).
2009-02-04 19:51:20 -08:00
Dan Mills
5b9b4696f2
ignore all events when tracker.ignoreAll is true; ignore most bookmark annotations (except for the ones we sync)
2009-02-02 11:43:06 -08:00
Dan Mills
abdf4fec19
set record ID for bookmark deletes too
2009-01-27 17:23:23 -08:00
Dan Mills
465c145c78
set record ID in history store when creating a record
2009-01-27 17:08:47 -08:00
Dan Mills
03d78b3d84
set record IDs inside the store; fix bookmarks tracker, it was ignoring change events (e.g., changed title and such)
2009-01-27 16:54:54 -08:00
Dan Mills
a3d9640e3c
Make records not extend Resource, instead they have a serialize() method that can be used to create a Resource for uploading if necessary.
...
Use global service instances under Svc.*
Consolidate various record managers (caches/convenience factories) to extend the same base object
Log exceptions caught by notify wrapper
2009-01-27 13:35:10 -08:00
Dan Mills
be7f853da4
make it so clients list can be modified from any client, and so it doesn't upload client info on every sync; clients list no longer stores data (except the local client's guid) in the firefox prefs
2009-01-23 15:09:21 -08:00
Dan Mills
a94f85b7c3
wrap microsummary creation code in try/catch; catch unknown items during onItemMoved (should not happen, but...)
2009-01-21 19:04:13 -08:00
Dan Mills
914ac78e2a
simpler reconciliation for history
2009-01-20 13:13:31 -08:00
Dan Mills
704d1c079a
fix url vs uri typo
2009-01-15 18:43:44 -08:00
Dan Mills
6891a3b69a
merge upstream changes
2009-01-15 15:53:51 -08:00
Dan Mills
fedd698bbb
fix typo
2009-01-15 15:53:34 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
e823363952
Merged
2009-01-15 14:06:00 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
cd797f05a7
Added a method to historyStore called tempTableExists which does a SELECT (rather than using tableExists) to correctly tell whether a temp table is there or not, so that historyEngine will work correctly on both Fennec and Firefox (See bug 472963)
2009-01-15 14:05:50 -08:00
Dan Mills
3dd2a14339
Bug 468671: Don't synchronize livemarks. Based on patch by Jorge Alves <jag.alves@gmail.com>
2009-01-15 13:58:59 -08:00
Dan Mills
67f99f74cd
add some extra log info to engine; have tracker ignore all changes when applying a change to prevent the tracker from generating new guids for new items before the store has a chance to set the right one
2009-01-14 22:01:04 -08:00
Dan Mills
23aaa6fcb7
disable unused engines; fix trackers trying to call enable which is gone now; improve bookmarks tracker logging
2009-01-13 16:55:51 -08:00
Dan Mills
d34aba46fd
make tracker return true/false when adding a changed ID to indicate if it was a valid add or not; change bookmarks & history trackers to match; fix some problems in bookmarks tracker
2009-01-13 15:55:35 -08:00
Dan Mills
445916b2e6
ignore/unignore specific weave IDs instead of a blanket enable/disable of the tracker during sync.
2009-01-13 14:43:21 -08:00
Dan Mills
51d51a26ed
small getchildren/getsiblings cleanup
2009-01-13 13:40:40 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
730c9b4ef5
History sync now works in Fennec, by simply skipping all the temp tables that don't exist in Fennec. This should also fix bug 472853 for weave in Firefox.
2009-01-09 15:44:27 -08:00
Dan Mills
3c586f5121
merge upstream changes
2009-01-08 21:34:43 -08:00
Dan Mills
ee4044e7e1
when an orphan bookmark is found, reparent it to the unfiled bookmarks folder
2009-01-08 21:33:59 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
308841e718
Merged
2009-01-08 16:59:56 -08:00
Dan Mills
793c17b023
commit so hg will let me merge
2009-01-08 16:57:35 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
8bff01bd48
The Weave check box on the Fennec preferences screen now logs you in/out when you click it in addition to enabling/disabling the scheduler. Improved the fennec-connect page by making the text fields auto-select when you click in them and turning the 'accept TOS' check box into a button.
2009-01-08 16:37:36 -08:00
Dan Mills
f65179b732
set guid when creating history entries
2009-01-07 17:46:31 -08:00
Dan Mills
7167b95ceb
Bug 472480: catch errors when changing history item IDs
2009-01-07 15:01:12 -08:00
Dan Mills
ff240dd3ce
add clients sync (list of clients with names and types); make it simpler to create Engine subclasses; remove the 2nd 'authenticator' parameter for Resources; resetServer is now wipeServer; consider 0 an invalid place ID (fixes bug when calculating item depths); add a Svc global exported from utils.js where commonly used services can live
2009-01-06 13:54:18 -08:00
Dan Mills
767ad5d9b3
update history engine to work again with latest engine changes, and re-enable history sync
2009-01-03 01:04:17 -08:00
Dan Mills
34a114606d
fix depth/index record generation
2009-01-02 21:13:32 -08:00
Dan Mills
df54949485
extra debugging to catch getFolderIdForItem errors
2009-01-02 19:35:23 -08:00
Dan Mills
fd1579088c
fix tracker's onItemRemoved
2009-01-02 16:16:38 -08:00
Dan Mills
5e7867a4de
add a _getWeaveParentIdForItem method; fix getAllIDs; add a createMetadataRecord method
2009-01-02 13:49:19 -08:00
Dan Mills
5e3ac9586e
add a generic cache class for storing records during reconciliation. cache has 100 item limit, and is cleared before and after reconciliation so the OS can reclaim memory after GC
2008-12-30 23:52:20 -08:00
Dan Mills
380b614133
make engine keep less records in memory by limiting the outgoing queue to a maximum of 100 records, and fetch the rest from the store each time
2008-12-29 23:28:17 -08:00
Dan Mills
6b260498e0
switch to generating individual bookmark records directly from the places store, without using a cache (to improve memory performance); create objects for bookmark types; temporarily disable history sync
2008-12-28 19:59:44 -08:00
Dan Mills
58318f5332
remove commented-out code
2008-12-26 21:50:07 -08:00
Dan Mills
62a45ad0ab
Various engine/bookmark changes:
...
* Rely on the server to sort incoming records, remove all sorting code client-side.
* Streamline sync to be able to process incoming records one at a time, as soon as they are downloaded. This changes reconciliation to be able to process a single incoming record.
* Engine base class will automatically convert parentid, depth, and sortindex into toplevel WBO objects. This is good for now but kinda broken, engine subclasses should really be generating WBO records themselves.
* Since index is now a toplevel WBO property, there is no need for the bookmarks sync code to subclass recordLike.
* Refactor bookmarks store to be a little cleaner and work directly with records instead of "commands".
2008-12-23 11:30:31 -08:00
Dan Mills
92a77b80e1
remove accidentally committed logging calls
2008-12-23 11:23:10 -08:00
Dan Mills
efdd9ff7cf
fix typo in history sql queries, clarify valid sort order values for collections
2008-12-19 17:00:12 -08:00
Dan Mills
08512b99a5
change engine to process (download, reconcile, apply changes) incoming records one by one
2008-12-19 11:48:09 -08:00
Dan Mills
d55df6a1f4
implement the awe (or tears) inducing places-style sql queries -- history sync works pretty well now
2008-12-18 22:39:32 -08:00
Dan Mills
e21bb9c514
typo fix
2008-12-18 01:09:17 -08:00
Dan Mills
9768e6c566
sync visit times and transition types for history
2008-12-17 16:04:03 -08:00
Dan Mills
06dc4da97f
sync only the last 150 history items (pending some special sauce to sync high-scoring items); various sql fixes. history is syncing now, though there are bugs here and there
2008-12-17 02:32:00 -08:00
Dan Mills
32773c0f83
override _itemExists, itemExists (no _) checks for cached items, then calls that
2008-12-17 02:29:28 -08:00
Dan Mills
c02d11a89e
api change for stores, deal with records not 'commands'
2008-12-16 17:06:45 -08:00
Anant Narayanan
ea93b73081
Make Form history sync work again with new engine
2008-12-13 16:33:04 +01:00
Dan Mills
f1a5b78d89
merge upstream changes
2008-12-12 13:57:05 -08:00
Dan Mills
6d599af9b4
closer to history somewhat working. need to rethink approach because of performance problems
2008-12-12 13:55:58 -08:00
Dan Mills
3c88a35efd
remove slightly misleading comment
2008-12-12 13:54:19 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
1e27ccd917
Merged
2008-12-11 15:19:43 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
db031ee612
On Fennec there is no microsummaries service, so I made the BookmarksEngine catch the exception if the service is undefined, and skip commands that would require it to create a microsummary, logging warnings instead.
2008-12-11 14:26:20 -08:00
Dan Mills
022ceb5055
closer to history working
2008-12-10 00:57:27 -08:00
Dan Mills
3ef1c0d9b1
enable history sync (not working yet)
2008-12-09 12:26:14 -08:00
Dan Mills
f2e4594263
make changeItemID exclusively a store method
2008-12-08 13:21:25 -08:00
Dan Mills
9070a62677
remove sync cores, they are no longer used; remove sharing code from bookmarks (we can bring it back when we need it again, needs work); have the engine give hints to the store about when to wrap all items and cache them (to make subsequent calls to wrap one item fast); move serializeItem/getAllIDs into the store
2008-12-08 09:53:32 -08:00
Dan Mills
b8a8a42755
tracker now caches places id -> guid mappings, since otherwise it can't retrieve the correct guid on item removal (because the callback happens after the item is removed)
2008-12-06 00:12:40 -08:00
Dan Mills
f1332902ba
parentGUID -> parentid
2008-12-05 03:36:27 -08:00
Dan Mills
95b8e357b2
disable tracker for entire sync run. make sure tracker is re-enabled at the end
2008-12-05 00:55:19 -08:00
Dan Mills
c1a443df70
use callbacks instead of snapshot diffs to figure out what changes to send to the server
2008-12-05 00:39:54 -08:00
Dan Mills
dd8e0e678b
fix bookmarks tracker by removing yield calls (which of course don't work as callbacks for nsIBookmarksObserver)
2008-12-02 16:46:24 -08:00
Dan Mills
a67aabffa4
add logic to detect when the same item is in both incoming & outgoing queues, but with different IDs - change the local ID in that case
2008-11-27 00:25:28 +09:00
Dan Mills
c221d2ea8e
decrypt incoming items all in one go so as to sort them by index (which is inside the payload); don't attempt to change the index of an item if we're also changing its folder; only change index/parent if it's different from current value
2008-11-26 14:07:18 +09:00
Dan Mills
36a866416f
query the bookmarks service to find out if we have an item (instead of our snapshot cache)
2008-11-25 14:49:18 +09:00
Dan Mills
fb99c9f85e
fix bookmark deletion sync
2008-11-25 01:49:02 +09:00
Dan Mills
35bbc1b8c0
work with NewEngine
2008-11-20 09:21:12 +09:00
Dan Mills
6f6665b8e1
remove some sharing code, derive from NewEngine
2008-11-06 19:18:46 -08:00