Commit Graph

82 Commits

Author SHA1 Message Date
David Glasser
196089ae33 package-client: Help users without usernames
- If they're in deferred-registration state, give them their
  registration link and exit.

- Before running the login prompt, mention that it's a Meteor developer
  account which you can sign up for on www.meteor.com.
2014-08-18 19:13:06 -07:00
David Glasser
08a6fa99fd Don't use _.once or instanceof with uniload
_.once has the problem that if you call the once'd function while it is
still in progress (re-entrantly or in another Fiber), it returns
undefined immediately.  That's bad for uniload! uniload already has a
cache, so just use that.  (In the future, perhaps detect an attempt to
uniload something that's currently in the process of being uniloaded in
another fiber and block until the other fiber is ready.)

Using instanceof with things you've uniloaded is a little sketchy: maybe
two different uniload calls will end up with two different copies of
Package.meteor.Meteor.Error, and it seems kind of hairy to ensure you're
not mixing and matching copies.  However, Meteor.Errors are all tagged
with a string errorType, which fills me with much less fear,
uncertainty, and doubt than instanceof.
2014-08-17 23:37:38 -07:00
Emily Stark
07852ebcbe Fix galaxy login 2014-08-04 20:38:33 -07:00
David Glasser
7d05640ea0 Make buildmessage fiber-aware
Port a simplified version of Meteor.EnvironmentVariable and
Meteor.bindEnvironment to fiber-helpers.js to deal with this.

Identify uses of fiberHelpers.inFiber and switch them to either
fiberHelpers.bindEnvironment (if the callback they are wrapping is
semantically "part of" the context that creates the callback) or
fiberHelpers.inBareFiber (otherwise).

Without this, concurrency was causing the wrong buildmessage message
sets and jobs to be active when builds yielded.
2014-08-04 19:03:05 -07:00
Emily Stark
f761e898c8 Record session id on package stats 2014-06-25 11:12:12 -07:00
Emily Stark
2da8567df7 Add OAuth login to package stats reporting 2014-05-12 13:49:35 -07:00
Emily Stark
d2f27edba9 Factor out OAuth login from package-client 2014-05-12 13:04:46 -07:00
David Glasser
9d70ff64c9 springboard almost works
springboarding happens infinitely because of build ids

have to manually bootstrap a tropohouse

fixed some other things:

 - store package server token in correct domain
 - copy files (eg packages pre-publish) with +x flags
 - catalog.getReleaseTrack works
 - don't pass release to uniload (Meteor.release will always
   end up 'UNILOAD')
 - fix building meteor-tool again
 - stop supporting apps without .meteor/release
 - merging unipackages with tools works

springboarding to warehouse releases totally not supported
2014-05-05 19:18:34 -07:00
Emily Stark
2e0b54e038 Attempt to handle package server errors gracefully.
Still needs some more work and tests.
2014-03-25 10:59:51 -07:00
Geoff Schmidt
688f7b3643 rename unipackage.load to uniload.load 2014-03-13 21:47:12 -07:00
Geoff Schmidt
3f8beb0935 unipackage.load no longer takes a library 2014-03-11 14:42:42 -07:00
David Glasser
6f42a3f9d0 Potential fd leak 2014-03-05 14:27:58 -08:00
David Glasser
fdc7209dff Better error handling around a method call
- Make sure not to double-resolve a future (using two different
  techniques!)

- Try/finally cleanup some resources
2014-03-05 14:01:41 -08:00
Emily Stark
e462df2e72 Refactor package server OAuth flow 2014-03-04 11:34:26 -08:00
Emily Stark
d50049777f A quick-and-dirty 'meteor publish' command.
It more or less works, but needs lots of cleanup.
2014-02-28 02:03:02 -08:00
Emily Stark
89b1a73002 Make options optional on pollForRegistrationCompletion 2014-02-19 23:43:18 -08:00
Emily Stark
857b4e0a4c Merge branch 'meteor-accounts-ux-pass' of github.com:meteor/meteor into meteor-accounts-ux-pass 2014-02-19 19:37:12 -08:00
Emily Stark
829dfdac68 Don't log out an invalid session immediately before deploy.
When we deploy:
* If we are logged in with a username, then we go straight to doing the
  actual deploy.
* If we are logged in without a username, we check if we have a username
  yet. If we have an invalid credential at this point, we do NOT want
  `pollForRegistrationComplete` to wipe our session file, because we
  already passed the point at which we handle the case of the user being
  logged out. Instead, we just want to continue with the deploy and let
  the deploy server handle the expired credential. (This case, where a
  user's credential has been expired before they set a username,
  shouldn't happen too often in real life.)
* If we deploy with an invalid credential, we get an "Expired
  credential" message.
2014-02-19 19:35:19 -08:00
Geoff Schmidt
32ad71e50e Improve email-in-use flow 2014-02-19 16:24:16 -08:00
Emily Stark
c8e75d9afc Use fut.isResolved() instead of a separate 'resolved' variable.
Add test for 'meteor whoami' after setting username but before logging
in again.
2014-02-19 14:46:28 -08:00
Geoff Schmidt
d1d714ec66 'whoami' gracefully handles revocation of a credential
on a passwordless account. with test
2014-02-18 17:25:19 -08:00
Geoff Schmidt
96e3273f28 make account setup link even more handy 2014-02-18 15:43:55 -08:00
Geoff Schmidt
97d2264a3a Fix a "Future resolved more than once" error 2014-02-18 15:38:26 -08:00
Geoff Schmidt
bee4fbbd24 Reprompt if they enter a blank username to logs or mongo. With test. 2014-02-18 14:48:29 -08:00
Emily Stark
553bf14c78 Remove duplicate getSessionFilePath() function.
METEOR_SESSION_FILE is the only environment variable for setting your
session file now, not SESSION_FILE_PATH.
2014-02-13 19:13:32 -08:00
Emily Stark
20800f4be7 Make email prompt also accept a username 2014-02-12 12:27:03 -08:00
Emily Stark
76464f647d Give login prompt when necessary on logs/mongo commands.
Add tests for authentication on logs and mongo commands.
2014-02-12 11:22:57 -08:00
Emily Stark
5306fee89d Fix missed stderr login prompt 2014-02-10 19:25:45 -08:00
Emily Stark
d7cc7142d0 Get rid of authConn().
Add some helpers like `withAccountsConnection` for running functions
that need a connection to the accounts server.
2014-02-10 19:12:52 -08:00
Emily Stark
b771f4042e Clean up some legacy app error messages 2014-02-09 17:15:26 -08:00
Emily Stark
5ecbbd65e1 Ask accounts server for a username if we don't know of one yet 2014-02-08 17:26:26 -08:00
Emily Stark
38734b94e6 Use stderr instead of stdout in login command.
This is consistent with old password prompts (see #1600), and also makes
it so that everyone who calls `doInteractivePasswordLogin` is using the
same stream as `doInteractivePasswordLogin`.
2014-02-08 16:25:29 -08:00
Emily Stark
aabed4665c Print login failed error message once instead of twice 2014-02-06 10:14:32 -08:00
Emily Stark
a4a83c1b31 Close the Meteor Accounts connection in the right place.
authConn() and call sites need a major cleanup, I have it on my todo
list.
2014-02-06 08:02:00 -08:00
Emily Stark
4f417b402a Prompt for login if the user isn't already logged in 2014-02-06 08:02:00 -08:00
Emily Stark
fd0f2312b2 Use the right result after waitForRegistration call 2014-02-04 20:23:17 -08:00
David Glasser
f2053a94ca Merge branch 'sso' into tool-refactoring
Conflicts:
	tools/auth.js
	tools/files.js
	tools/http-helpers.js
	tools/meteor.js
	tools/run.js
2014-02-04 17:03:29 -08:00
Emily Stark
868859428e Add method timeout for revoking tokens 2014-02-02 13:37:57 -08:00
Emily Stark
1215b7d10d Don't log in again if we're already logged in. 2014-02-02 13:37:39 -08:00
Emily Stark
13f5d182a3 Adjust to new session method API 2014-01-31 14:50:39 -08:00
Emily Stark
8960b70031 Clean up accounts server methods calls with sessions 2014-01-30 22:57:18 -08:00
Emily Stark
bf0fd32754 Replace some accounts HTTP calls with DDP 2014-01-30 22:20:59 -08:00
David Glasser
990450c2a6 Backport some comment-punctuation changes
From tool-refactoring to sso.

Makes the tool-refactoring/sso diff a little smaller (including removing
some files from it entirely) and easier to review.  Only took about five
minutes to prepare, I swear this isn't a total waste of time :)
2014-01-30 21:08:56 -05:00
Geoff Schmidt
0c69701a32 sandbox tests. for now, just the .meteorsession file. 2014-01-22 02:54:10 -08:00
David Glasser
44341f4ff9 Merge branch 'sso' into tool-refactoring
Conflicts:
	tools/auth.js
	tools/mongo_runner.js
	tools/tests/test-bundler-npm.js
2014-01-16 10:54:33 -08:00
Emily Stark
f4e3a08bae Print human-friendly error messages for common login failures. 2014-01-03 14:31:18 -08:00
Emily Stark
85d8d5300c Confirm that we hit the right URL when revoking tokens.
Require token revoke endpoints to return JSON with a `tokenRevoked` key,
to avoid being fooled by endpoints that don't understand token
revocation but just happened to return 200 status codes.
2014-01-03 13:42:02 -08:00
Emily Stark
b44855d70d Send user agent info with galaxy logins 2013-12-31 18:38:03 -08:00
Geoff Schmidt
95e3959165 The period goes outside the parens (like this).
(Except when the parenthetical is a complete sentence.)
2013-12-30 06:20:49 -08:00
Geoff Schmidt
4fc8c0d1f3 Eliminate context everywhere!!
Add release.js to manage current release.
2013-12-30 05:16:21 -08:00