Commit Graph

156 Commits

Author SHA1 Message Date
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
8c078124a1 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
cdf02beb62 Remove unused openStatus util call for status.xul. 2009-11-03 14:39:35 -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
Mike Connor
258c4dcb9a merge backout 2009-10-23 01:11:07 -04:00
Mike Connor
95f627e9ca Backed out changeset 4e518b3ae5d2
overzealous pruning ftl ;)
2009-10-23 01:10:36 -04:00
Edward Lee
f8a9d55658 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
0046b94977 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
704165705e Remove unused change password/passphrase/generic dialog. 2009-10-19 16:37:25 -07:00
Edward Lee
557fd95a67 Remove unused pick-sync dialog (<==, <==>, ==>). 2009-10-19 16:24:32 -07: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
7518b09ad6 Add a simpler-to-use nsITimer wrapper, Utils.delay, that can use a named property of an object to additionally delay or clear the timer. Get rid of Utils.EventListener and simplify/fix up users. 2009-09-24 22:51:38 -07:00
Edward Lee
51761d2ab6 Bug 518146 - Generate shorter GUIDs than nsIUUIDGenerator
Randomly generate 10 characters from a pool of 70 possible characters for an equivalent 61.29-bit GUID which should have around 1% chance of collision (within a collection) after ~100 million records.
2009-09-24 15:54:47 -07:00
Edward Lee
eba12cbe8d Bug 518018 - Default to serverURL instead of userAPI on 404 cluster check
Rework server/user/misc prefs to allow relative paths and full urls for generating API paths. Cache string properties of generated URLs under the storageAPI instead of using dynamic getters.
2009-09-21 17:13:41 -07:00
Edward Lee
9b503e9895 Keep track of previously opened windows of pages that should only have one instance open and close the old one if it's still open. 2009-09-18 00:15:37 -07:00
Edward Lee
5b99d57ab4 Use the lazyStrings object for error strings to avoid using the wrong file (locales vs locale). 2009-09-16 16:52:43 -07:00
Mike Connor
4faaba2018 bug 511549 - make detailedStatus much smarter about errors and backoff, r=edilee
--HG--
extra : rebase_source : 42e3eb9c89d2567d18c02e7583202e284dd69b0e
2009-09-15 21:38:52 -04:00
Edward Lee
fb1bc5da49 Bug 507429 - Partial sync download support
Only fetch a limited number of items on first/update syncs and if we get the same number, ask the server for the ids to fetch later. Also on every download, process some of the backlog and save the list of GUIDs to disk as json for cross-session support.
2009-09-10 23:11:33 -07:00
Edward Lee
ec0c49c88c Bug 513191 - cloud -> client sync wipes auth cache, including weave credentials. r=thunder
Bug 506790 - Utils.setPassword unnecessarily removes logins and add them when the realm/user/pass are the same
Bug 506792 - Utils.setPassword gets called multiple times for both password and passphrase on login
Bug 514499 - Passphrase not verified with auto-login
Don't aggressively persist the password with smart (dumb?) setters that clear out the temp password; and provide a separate function to persist the login. This effectively makes setting password/passphrase always temporary until persisted, which will check if the value is different from the one already stored on disk. A number of verify/cluster functions are privitized to not need to take user/pass/passph as arguments so that the default authenticator will work, and verifyPassphrase will use the stored passphrase to correctly handle auto-login.
2009-09-03 21:11:32 -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
Dan Mills
db5d4e1bd6 remove 'GPrefs' from Svc, Preferences will do fine; don't make the username in the center status a link, since the whole area is a click target; open 'generic dialogs' for change password & passphrase 2009-08-26 21:20:08 -07:00
Edward Lee
fae3856f53 Remove Firefox Weave pref pane and point Preferences... to about:weave.
--HG--
extra : rebase_source : c8e47a770d342dc52aa49d8912be66cd2fa1bfa2
2009-08-26 19:50:39 -07:00
Dan Mills
b039c047b4 about:weave polish: add localized help drawer & other small fixes
--HG--
extra : rebase_source : e82da40950dd20d6f418c90cb9b02ba896cd5693
2009-08-26 18:48:22 -07:00
Dan Mills
e4ea37a013 Adds another pref for the "misc" api, makes base/misc url prefs default to auth.smc/{user,misc}/, fixes about:weave captcha path. r=Mardak 2009-08-26 15:01:28 -07:00
Mike Connor
a99aaee6d7 bug 512393 - l10n cleanup for 0.6, includes fix for bug 511548 as well 2009-08-25 00:47:35 -04:00
Edward Lee
e6e554073c Bug 512001 - Kill the Wizard! (and Account Pane + Login)
Remove the Wizard Dialog, Account Pane, Login Dialog, Add-ons Pane, Advanced Dialog and their related xul/js/css/strings/images. Clean up some unused functions, xul:preferences, css, strings. Orphaned functionality: autoconnect preference, reset/forgot password/passphrase.
2009-08-21 17:32:41 -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
144a9195b9 Merge weave to about-weave. 2009-08-19 22:46:50 -07:00
Dan Mills
bd35370bb3 initial commit of new about:weave 2009-08-18 20:03:11 -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
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
Anant Narayanan
e299866ead Re-structure window utils 2009-07-28 14:30:32 -07:00
Edward Lee
d02b8efc49 Bug 506302 - Shorten stack traces
Trim the full path from JS stacks and just show the file and convert nsIException traces to look like js stacks: func()@file:line. Only difference is js stacks show arguments while nsIException always shows just (). Fix up some places where we print the exception instead of the fixed up string.
2009-07-24 15:28:42 -07:00
Edward Lee
39607ef7b9 Bug 505940 - Unnecessarily uploading records on first sync
Remove short-circuit logic of comparing number of keys for deepEquals and iterate through each key on both objects to make sure both have the same value.
2009-07-22 23:49:15 -07:00
Anant Narayanan
c6a90202ff Add ability to change passphrase (and merge XUL files) bug #443696 2009-07-21 16:54:46 -07:00
Edward Lee
c5690e2288 Bug 504256 - sync should observe idle service and only sync when the user is idle
Detect if the user has been recently active, and if so, skip the sync. Arbitrarily picking 30 seconds for now.
2009-07-17 16:55:15 -07:00
Edward Lee
bc0326da9c Log jsonLoad/Save as trace instead of debug. 2009-07-14 18:44:41 -07:00
Edward Lee
84c52a6411 merge weave. resolve addition of kSpecialIds to bookmarks.js near removal of Async.sugar. 2009-06-23 22:34:57 -07:00
Edward Lee
ad7d001bb3 Bug 498924 - Refactor bookmark special ids out of BookmarksStore
Lazily load places ids for a given weave id/place name pair into kSpecialIds and update all consumers. Expose a Svc.Bookmark in utils.
2009-06-17 09:28:15 -07:00
Edward Lee
4084603da5 Remove async.js and wrap.js and remove remaining references to Async.sugar, etc. 2009-06-06 18:24:30 -05:00
Edward Lee
2f189ad5a8 Add a Utils.lock as a sync. version of Wrap.localLock. 2009-06-06 11:52:49 -07:00
Edward Lee
5a0f364bb6 Add a Utils.catch as a sync. version of Wrap.catchAll. 2009-06-05 22:21:14 -07:00
Edward Lee
4f22e547b2 Temporarily convert _notify to _notifyAsync and add a Utils.notify. 2009-06-05 15:34:23 -07:00
Edward Lee
b2d872175e Bug 493363 - Several issues in Utils.deepEquals()
Use triple-equals to determine if two things are the same; otherwise, check if both are objects with the same keys and same values for the keys.
2009-05-19 10:53:30 -05:00
Edward Lee
b7a138755c Bug 488142 - Make it easier to add simple deferred cleartext/payload values
Add a couple Utils helper to create a pair of simple [gs]etters that use a hash property instead. Apply this to various records: WBORecord, {Priv,Pub}Key, Crypto{Meta,Wrapper}, and every engine's type records. Migrate by making sure key data exists (name change).
2009-04-13 16:39:29 -05:00
Edward Lee
d6a16ace0a Bug 487378 - Use the app name as the default client name
Use nsIXULAppInfo to get the name and remove Fennec specific bits.
2009-04-08 02:12:57 -05:00
Edward Lee
cebb90b5bc Add a Utils.isArray and use it 2009-04-07 16:45:29 -05:00
Edward Lee
ba7af5037c Bug 486230 - Share json disk caching with Utils.json{Load,Save} 2009-03-31 19:52:16 -05:00
Edward Lee
4f6ebe6be5 Bug 481741 - Switch to JSON from nsIJSON 2009-03-31 14:09:38 -05:00
Dan Mills
76043d7ad9 make dialogs non-resizable, split lazy callbacks out 2009-03-25 19:28:46 -07:00
Edward Lee
fef6073d7c Bug 482900 - Provide a friendlier UI to choose which ways to sync data. r=thunder 2009-03-20 02:35:46 -07:00
Edward Lee
1789f15ff7 Bug 484144 - Make sync status dialog not modal. r=thunder 2009-03-20 00:11:04 -07:00
Edward Lee
17f4365fbc More window/dialog cleanup for commonly used dialogs 2009-03-19 14:21:23 -07:00
Edward Lee
767f48bb69 :( trailing whitespace 2009-03-19 14:02:41 -07:00
Edward Lee
bbb0fa332f More services cleanup; Expose a Utils.openWindow/openDialog 2009-03-19 14:00:57 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
3615b62fdd Was failing on Fennec because private browsing doesn't exist there -- now more gracefully handles missing components. 2009-03-10 17:12:59 -07:00
Edward Lee
6bb65722d3 Bug 481345 - Weave should be disabled while offline or private browsing mode is active. r=thunder 2009-03-10 06:30:36 -05:00
Edward Lee
a45ed6623b Bug 482178 - Clean up services -> lazy services. r=thunder 2009-03-10 06:30:30 -05: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
05dfbc7c8a Password sync for 0.3 (bug #468697) 2009-03-03 00:42:57 +01:00
Dan Mills
aad93f5efc use Gecko's version comparison API, don't clobber the server if the remote version > local client version 2009-02-23 12:36:55 -08:00
Dan Mills
7e4d6cb6bd add makeURL function (returns an nsIURL), and add Svc.Memory (for memory service) 2009-02-11 19:19:04 -08:00
Dan Mills
7f00fb6de9 put prefs branch into Svc.Prefs 2009-02-10 00:52:05 -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
90d45aefc0 catch undefined URIs in makeURI; use Svc global to cache IO service 2009-01-07 14:22:02 -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
0a4d159fd2 add debug for when setting password 2008-12-01 20:01:12 -08:00
Dan Mills
cc4ab1bb14 change chrome url for weave passwords in login manager to chrome://weave 2008-12-01 19:04:49 -08:00
Dan Mills
32e411e1a4 print exception in async stack traces, skip async frames in async stack traces 2008-11-06 17:34:34 -08:00
Dan Mills
8c5dd2449d makeUri: don't throw on invalid uris, return null instead 2008-11-03 14:56:56 -08:00
Dan Mills
7ff40bec59 Bug 450526: fix tag sync bug created by a typo in deepCopy. Fix by Mishail <mishail.mishail@gmail.com> 2008-08-14 17:23:11 -07:00
Dan Mills
3fc5d0e8a1 fix typo in utils deepCopy 2008-07-30 23:37:21 -07:00
Dan Mills
ea65089051 when making deep copies of an object, default to alphabetically sorting the properties for adding 2008-07-23 15:46:48 -07:00
Dan Mills
f1bea5c26d allow deep copies of objects to optionally copy object properties in alphabetical order. This is useful to guarantee the order in which they would be serialized as json (which may depend on the order in which properties are added) 2008-07-16 19:36:06 -07:00
Dan Mills
94709c6381 move formatAsyncFrame to utils, don't print 'regular' stack trace when we have an async exception (it's not useful) 2008-07-11 13:40:06 -07:00
Atul Varma
7303b375dc Refactored the exception-handling code a bit and made traces produced by async look more like they used to. 2008-07-01 12:03:05 -07:00
Anant Narayanan
2339871cf6 Prevent multiple lock requests from being executed (bug 441922, r=thunder) 2008-06-26 11:15:02 -07:00
Anant Narayanan
ee51a31ea5 Remove runCmd and other openssl related stuff we no longer need. (bug 441898, r=thunder) 2008-06-25 17:10:24 -07:00
Atul Varma
37225f431c Changed AsyncException so that it dynamically subclasses the exception it's wrapping, and adds an 'asyncStack' property to allow access to the asynchronous call stack. This, along with my previous few commits, makes the processing of stack traces in our code much more streamlined, and also allows our debugging output to be more informative, as stack information is now logged from the point at which an exception was thrown, rather than the point at which it was caught.
Also renamed some things in async.js to be more descriptive and easier-to-understand, albeit a bit more verbose.
2008-06-25 04:43:07 -07:00
Atul Varma
9d7f1afc80 Made exception logging routines more informative and added logtests for them. 2008-06-25 00:13:36 -07:00
Atul Varma
ac90aaff04 Refactoring: consolidated duplicate code creating GUIDs via XPCOM gunk into a new function, Utils.makeGUID().
Note that there are some strange things re: whitespace in engines/bookmarks.js in this changeset; I literally only changed one line, though, and I'm not sure where they came from.  Maybe it was js2-mode?
2008-06-20 12:34:29 -07:00
Atul Varma
30046913d8 Refactored some file operations into a new function in Utils and out of engines.js. 2008-06-18 14:12:24 -07:00
Atul Varma
22a628bfea Moved XPCOM-specific stuff from engines/passwords.js to util.js so they could be easily stubbed-out by unit tests. 2008-06-18 11:54:24 -07:00
Atul Varma
90d243db16 Refactored test_service and module code so that the weave service constructor is called, and auth is done more accurately. 2008-06-17 19:54:09 -07:00
Atul Varma
6b20868829 Fixed a minor typo, though there's a better way to do the unary getter which Myk told me about; will probably substitute that soon. 2008-06-17 11:11:56 -07:00
Atul Varma
245e6492da Fixed a strict warning in util.js. 2008-06-16 18:11:41 -07:00
Atul Varma
9cc4da48c1 Refactoring: made a new function, Utils.makeTimerForCall(), which is used by test suites and async.js. 2008-06-09 19:30:11 -07:00
Dan Mills
c682a760f9 remove some debugging output, fix some remaining array detection code 2008-05-24 17:30:22 -07:00
Dan Mills
fd0eac8eb3 continue sync of other engines even after one of them throws an exception; use constructor name instead of instanceof to check for array object in modules 2008-05-23 23:58:53 -07:00
Atul Varma
ba3e131c29 Fixed a variety of style issues and minor warnings raised by js2-mode. 2008-05-23 11:05:42 -07:00
Dan Mills
83fd7d6261 Various improvements:
* async generators: much better stack traces
* dav: use global identity system rather than login/logout to manage
  usernames and passwords.
* dav: there is a checkLogin() instead of login() which can be used to
  verify auth at any time.
* dav: make it so that we can (only internally atm) hold multiple
  locks for different URLs.
* identity: add an identity manager singleton service to keep
  identities globally, referenced by a name, with aliasing support (so
  e.g., dav can ask for the 'dav' identity, while something else can
  alias 'dav' to another identity).
* service: keep track of logged in status here, rather than in the dav
  service.  Use the global id manager.
2008-04-10 21:38:15 -07:00
Dan Mills
7ec09f1317 add sharing ui+backend code (not working yet); make engines less chatty when applying commands 2008-03-25 23:01:34 -07:00
Dan Mills
0a4be048f7 make service.js the main entry point from chrome/content; make the service be lazy-loaded; make crypto be lazy-loaded 2008-03-25 15:14:00 -07:00
Dan Mills
2739b301fc split up/simplify login functions; add a global (server-wide) storage version; wipe server for storage version upgrades 2008-03-19 18:42:12 -07:00
Dan Mills
16920cd2ae Various improvements:
* Logging improvements / default log levels tweaked.  Less chatty now.
  Ability to tweak log levels of individual loggers via prefs.
* Various crypto module fixes, specially for RSA.
* 'service' lock removed, reuses server lock now.  dav module supports
  temporarily blocking locks to simulate the 'service' lock (login()
  needs this, since dav is not configured at that time).
* PKI support: data encryption uses randomly-generated symmetric keys,
  which are then encrypted with RSA public keys and stored on the
  server.
2008-03-19 15:17:04 -07:00
Dan Mills
48733f699a add a dav method for getting a list of server files/directories; delete all server data when private key isn't found (this will cause everyone's server data to get wiped, since no one has a key yet); fix a bug in checkStatus with specific status codes (as opposed to ranges) 2008-03-07 04:20:55 -08:00
Dan Mills
941dd24c3b Asynchronous generator helpers rework + PKI work
* Async helpers are in a module of their own now
* Async routines have simpler semantics now.  onComplete handlers are taken care of by the helpers.  Exceptions are bubbled up across nested asynchronous generators
* Stack traces are automatically logged for unhandled exceptions
* Async generators are now allowed to 'bottom out' (StopIteration is ignored) - this is configurable.
* RSA key generation fixes
* On login we now create an RSA keypair, encrypt the private one with PBE, and upload them to the server
* Log files are now limited to 2MB (down from 5)
2008-03-07 01:56:36 -08:00
Dan Mills
c1f8acb964 switch to nsIJSON for JSON parsing and output. add a deepCopy function instead of using eval(uneval()). make *sure* to read and write UTF-8 to files. bump version 2008-03-05 00:00:56 -08:00
Dan Mills
350adaed51 use a scriptableinputstream to correctly read openssl output 2008-02-19 20:53:01 -08:00
Dan Mills
5efa6b7b5f flesh out openssl code; still needs more work 2008-02-19 11:39:39 -08:00