Boarding - Instantly create a simple signup page for TestFlight beta testers

Overview


fastlane

deliversnapshotframeitpemsighproducecertspaceshippilotboardinggymscanmatchprecheck



Twitter: @FastlaneTools License

Get in contact with the developers on Twitter: @FastlaneTools


Why?Getting StartedTechnical DetailsCustomizeUpdate


boarding is part of fastlane: connect all deployment tools into one streamlined workflow.

What's boarding?

Instantly create a simple signup page for TestFlight beta testers.

Have you ever been to an airport, where you had to ask the manager of the airport if you can board now? Once the manager agrees, you'll be carried from your check-in to your gate into your plane.

Because that's what you do right now as an app developer when you want to add a new tester to your TestFlight app: Open Screenshots

Why don't you have a simple web site you can share with potential testers (e.g. email newsletter, Facebook, Twitter) on which people interested in trying out your new app can just board on their own?

BoardingScreenshot

Thanks to spaceship.airforce (oh well, I really talk a lot about flying 🚀 ) it is now possible to automate the boarding process for your TestFlight beta testers.

Example

Take a look at this live example page: boarding.herokuapp.com

Like this tool? Be the first to know about updates and new fastlane tools

Getting Started

Assuming you already have a Heroku account follow those steps:

  • Deploy
  • Enter your iTunes Connect credentials and the bundle identifier of your app. This will all be stored on your own Heroku instance as environment variables
  • Click on View once the setup is complete and start sharing the URL

Assuming you already have an Azure account follow those steps:

  • Deploy to Azure
  • Enter your iTunes Connect credentials and the bundle identifier of your app. This will all be stored on your own Heroku instance as environment variables
  • It can take up to 5 minutes until everything is loaded.

boarding does all kinds of magic for you, like fetching the app name and app icon.

Heroku is free to use for the standard machine. If you need a Heroku account, ask your back-end team if you already have a company account.


SetupGif


If your account is protected using 2-factor author, follow the 2 step verification guide.

Security

To secure your webpage, you only have to set the ITC_TOKEN environment variable to any password.

Available environment variables

Required:

  • ITC_USER iTunes Connect username
  • ITC_PASSWORD iTunes Connect password
  • ITC_APP_ID The Apple ID or Bundle Identifier of your app

Optional:

  • ITC_TOKEN Set a password to protect your website from random people signing up
  • ITC_CLOSED_TEXT Set this text to temporary disable enrollment of new beta testers
  • RESTRICTED_DOMAIN Set this domain (in the format domain.com) to restrict users with emails in another domain from signing up. This list supports multiple domains by setting it to a comma delimited list (domain1.com,domain2.com)
  • FASTLANE_ITC_TEAM_NAME If you're in multiple teams, enter the name of your iTC team here. Make sure it matches.
  • FASTLANE_SESSION You need to provide a pregenerated session via fastlane spaceauth if you have 2-factor authentication enabled and want to use any actions that communicates with App Store Connect.
  • IMPRINT_URL If you want a link to an imprint to be shown on the invite page.

Custom Domain

With Heroku you can easily use your own domain, follow this guide.

With Azure you can easily use your own domain, follow this guide.

Alternative Setup Options

How does this work?

boarding is part of fastlane, which helps you automate everything you usually do manually as an iOS developer.

Using spaceship.airforce it is possible to manage testers, builds, metadata, certificates and so much more.

This repository is a simple Rails application with most code in these files:

BoardingOverview

More information about this automation process can be found here.

Customize

If you want to change the design, layout or even add new features:

  • Install the Heroku toolbelt and heroku login
  • Clone your application using heroku git:clone --app [heroku_app_name] (it will be an empty repo)
    • You may see a message saying warning: You appear to have cloned an empty repository.. If so, just continue on with the instructions. This is a known Heroku issue
  • cd [heroku_app_name]
  • git pull https://github.com/fastlane/boarding
  • Modify the content, in particular the files that are described above.
  • Test it locally by running ITC_USER="email" ITC_... rails s and opening http://127.0.0.1:3000
  • Commit the changes
  • git push

It is recommended to also store your version in your git repo additionally to Heroku.

Update to a new version

From time to time there will be updates to boarding. There are 2 ways to update your Heroku application:

Recommended: Using the terminal

  • Install the Heroku toolbelt and heroku login
  • Clone your application using heroku git:clone --app [heroku_app_name] (it will be an empty repo)
  • cd [heroku_app_name]
  • git pull https://github.com/fastlane/boarding
  • git push

Using Heroku website

Using Azure website

  • Navigate to the Azure Portal
  • Login and navigate to your WebApp
  • On Overview hit the restart button

Managing Azure version

If you installed boarding using the deploy to Azure button, boarding will be deployed in an Azure WebApp for containers. This means that azure is running the docker-version of boarding.

Setting optional parameters in Azure

In order to set the optional parameters for boarding follow these steps:

  • Navigate to the Azure Portal
  • Login and navigate to your WebApp
  • Under Settings click Application settings
  • Click the link + Add new setting and add the the optional parameter i.e. ITC_CLOSED_TEXT = We are closed!
  • Hit Save and navigate to Overview
  • On Overview hit the restart button

Troubleshoot boarding on Azure

When you run boarding on Azure, it could happen that you run into an HttpStatus 503 showing Service Unavailable There can be multiple reasons for that:

  • boarding isn't yet fully loaded. Wait a few minutes hit refresh.
  • The provided parameters are wrong (ITC_USER, ITC_PASSWORD, ITC_APP_ID). Please go to the settings in Azure and check if they are right.

For further troubleshooting, please got to Azure App Service on Linux FAQ

Like this tool? Be the first to know about updates and new fastlane tools

Special thanks

Special thanks to @lee_moonan for designing the awesome logo.

Development Setup

  1. gem install bundler
  2. bundle install
  3. Create a .env.local file with the following contents:
    # Required
    ITC_APP_ID=<your_app_id>
    ITC_USER=<your_email>
    ITC_PASSWORD=<your_password>
    
    # Optional
    FASTLANE_ITC_TEAM_NAME=<your_team_name>
    ITC_APP_TESTER_GROUPS=<your_groups>
    ITC_TOKEN=<your_token>
    GA_PROPERTY_ID=<your_ga_property_id>
    IMPRINT_URL=<your_url>
    
  4. bundle exec rails s

Code of Conduct

Help us keep boarding open and inclusive. Please read and follow our Code of Conduct.

License

This project is licensed under the terms of the MIT license. See the LICENSE file.

This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.

Comments
  • Doesn't seem to work with 2FA

    Doesn't seem to work with 2FA

    Deployed a new Heroku app get an error on checking the production logs I see:

    2016-10-22T07:33:41.782228+00:00 app[web.1]: Please select a device to verify your identity
    2016-10-22T07:33:41.783736+00:00 app[web.1]: Completed 500 Internal Server Error in 1105ms
    2016-10-22T07:33:41.785151+00:00 app[web.1]: 
    2016-10-22T07:33:41.785153+00:00 app[web.1]: NoMethodError (undefined method `choose' for #<Spaceship::TunesClient:0x007fac05456330>):
    2016-10-22T07:33:41.785154+00:00 app[web.1]:   app/controllers/invite_controller.rb:160:in `login'
    2016-10-22T07:33:41.785154+00:00 app[web.1]:   app/controllers/invite_controller.rb:140:in `app'
    2016-10-22T07:33:41.785155+00:00 app[web.1]:   app/controllers/invite_controller.rb:152:in `block in app_metadata'
    2016-10-22T07:33:41.785156+00:00 app[web.1]:   app/controllers/invite_controller.rb:165:in `set_app_details'
    2016-10-22T07:33:41.785156+00:00 app[web.1]:   app/controllers/invite_controller.rb:150:in `app_metadata'
    2016-10-22T07:33:41.785156+00:00 app[web.1]: 
    2016-10-22T07:33:41.785157+00:00 app[web.1]: 
    

    So it looks like it doesn't work with 2FA, so I generate an app specific password and get the error:

    2016-10-22T07:29:52.002790+00:00 app[web.1]: Completed 500 Internal Server Error in 183ms
    2016-10-22T07:29:52.003282+00:00 app[web.1]: 
    2016-10-22T07:29:52.003284+00:00 app[web.1]: Spaceship::Client::InvalidUserCredentialsError (Invalid username and password combination. Used '[email protected]' as the username.):
    2016-10-22T07:29:52.003301+00:00 app[web.1]:   app/controllers/invite_controller.rb:160:in `login'
    2016-10-22T07:29:52.003302+00:00 app[web.1]:   app/controllers/invite_controller.rb:140:in `app'
    2016-10-22T07:29:52.003303+00:00 app[web.1]:   app/controllers/invite_controller.rb:152:in `block in app_metadata'
    2016-10-22T07:29:52.003304+00:00 app[web.1]:   app/controllers/invite_controller.rb:150:in `app_metadata'
    2016-10-22T07:29:52.003304+00:00 app[web.1]:   app/controllers/invite_controller.rb:165:in `set_app_details'
    2016-10-22T07:29:52.003305+00:00 app[web.1]: 
    2016-10-22T07:29:52.003306+00:00 app[web.1]: 
    2016-10-22T07:29:52.037111+00:00 heroku[router]: at=info method=GET path="/" host=jesusis.herokuapp.com request_id=86a6cd29-0e21-4d29-80ab-fb0bd778c236 fwd="81.141.14.45" dyno=web.1 connect=0ms service=201ms status=500 bytes=1669
    

    Any ideas how to resolve without turning of 2FA?

    opened by nimothy 25
  • Creating new beta tester Forbidden

    Creating new beta tester Forbidden

    Hey,

    I'm trying to register a new beta-tester for one of my apps. But seems my ITC user is not allowed to do so with boarding. In ITC-Portal its working well. My ITC-User has a Technical role I've installed boarding on my local machine for testing. Could this be the problem?

    This is what I get

    UnexpectedResponse: {"data"=>nil, "messages"=>{"warn"=>nil, "error"=>["Forbidden"], "info"=>nil}, "statusCode"=>"ERROR"}>
    
    bug help wanted 
    opened by devdrey 22
  • fatal error on user signup

    fatal error on user signup

    I followed the instructions in the README, but I'm getting an error whenever I try to submit a new tester. Here are the logs from Heroku

    2015-12-08T01:02:45.312906+00:00 app[web.1]: I, [2015-12-08T01:02:44.337911 #3]  INFO -- : Going to create a new tester: [email protected] - Andrew Breckenridge
    2015-12-08T01:02:45.312908+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/spaceship-0.15.1/lib/spaceship/tunes/tunes_client.rb:718:in `testers'
    2015-12-08T01:02:45.312908+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/spaceship-0.15.1/lib/spaceship/tunes/tester.rb:74:in `all'
    2015-12-08T01:02:45.312906+00:00 app[web.1]: F, [2015-12-08T01:02:45.312653 #3] FATAL -- : #<Spaceship::Client::UnexpectedResponse: {"data"=>nil, "messages"=>{"warn"=>nil, "error"=>["Forbidden"], "info"=>nil}, "statusCode"=>"ERROR"}>
    2015-12-08T01:02:45.312910+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
    2015-12-08T01:02:45.312909+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/spaceship-0.15.1/lib/spaceship/tunes/tester.rb:81:in `find'
    2015-12-08T01:02:45.312909+00:00 app[web.1]: /app/app/controllers/invite_controller.rb:58:in `submit'
    2015-12-08T01:02:45.312910+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/abstract_controller/base.rb:198:in `process_action'
    2015-12-08T01:02:45.312911+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal/rendering.rb:10:in `process_action'
    2015-12-08T01:02:45.312911+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
    2015-12-08T01:02:45.312911+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:117:in `call'
    2015-12-08T01:02:45.312912+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:117:in `call'
    2015-12-08T01:02:45.312912+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
    2015-12-08T01:02:45.312913+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:505:in `call'
    2015-12-08T01:02:45.312913+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:505:in `call'
    2015-12-08T01:02:45.312913+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:92:in `_run_callbacks'
    2015-12-08T01:02:45.312914+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:776:in `_run_process_action_callbacks'
    2015-12-08T01:02:45.312924+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
    2015-12-08T01:02:45.312925+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/abstract_controller/callbacks.rb:19:in `process_action'
    2015-12-08T01:02:45.312928+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal/rescue.rb:29:in `process_action'
    2015-12-08T01:02:45.312929+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
    2015-12-08T01:02:45.312929+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
    2015-12-08T01:02:45.312929+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications.rb:164:in `block in instrument'
    2015-12-08T01:02:45.312930+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications.rb:164:in `instrument'
    2015-12-08T01:02:45.312930+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
    2015-12-08T01:02:45.312931+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
    2015-12-08T01:02:45.312931+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/abstract_controller/base.rb:137:in `process'
    2015-12-08T01:02:45.312931+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionview-4.2.1/lib/action_view/rendering.rb:30:in `process'
    2015-12-08T01:02:45.312932+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal.rb:196:in `dispatch'
    2015-12-08T01:02:45.312932+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
    2015-12-08T01:02:45.312932+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_controller/metal.rb:237:in `block in action'
    2015-12-08T01:02:45.312933+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/routing/route_set.rb:74:in `call'
    2015-12-08T01:02:45.312933+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
    2015-12-08T01:02:45.312933+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/routing/route_set.rb:43:in `serve'
    2015-12-08T01:02:45.312934+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/journey/router.rb:30:in `each'
    2015-12-08T01:02:45.312935+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/journey/router.rb:30:in `serve'
    2015-12-08T01:02:45.312934+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/journey/router.rb:43:in `block in serve'
    2015-12-08T01:02:45.312935+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/routing/route_set.rb:819:in `call'
    2015-12-08T01:02:45.312935+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/http_accept_language-2.0.5/lib/http_accept_language/middleware.rb:14:in `call'
    2015-12-08T01:02:45.312936+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/etag.rb:24:in `call'
    2015-12-08T01:02:45.312936+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/conditionalget.rb:38:in `call'
    2015-12-08T01:02:45.312937+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/head.rb:13:in `call'
    2015-12-08T01:02:45.312937+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
    2015-12-08T01:02:45.312938+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/flash.rb:260:in `call'
    2015-12-08T01:02:45.312938+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:225:in `context'
    2015-12-08T01:02:45.312939+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:220:in `call'
    2015-12-08T01:02:45.312939+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/cookies.rb:560:in `call'
    2015-12-08T01:02:45.312939+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
    2015-12-08T01:02:45.312940+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:88:in `call'
    2015-12-08T01:02:45.312941+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:88:in `_run_callbacks'
    2015-12-08T01:02:45.312941+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:776:in `_run_call_callbacks'
    2015-12-08T01:02:45.312941+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
    2015-12-08T01:02:45.312942+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
    2015-12-08T01:02:45.312942+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
    2015-12-08T01:02:45.312942+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
    2015-12-08T01:02:45.312943+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
    2015-12-08T01:02:45.312943+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.1/lib/rails/rack/logger.rb:38:in `call_app'
    2015-12-08T01:02:45.312955+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/runtime.rb:18:in `call'
    2015-12-08T01:02:45.312954+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.1/lib/rails/rack/logger.rb:22:in `call'
    2015-12-08T01:02:45.312955+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/methodoverride.rb:22:in `call'
    2015-12-08T01:02:45.312954+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
    2015-12-08T01:02:45.312955+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
    2015-12-08T01:02:45.312971+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.1/lib/rails/engine.rb:518:in `call'
    2015-12-08T01:02:45.312971+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:164:in `call'
    2015-12-08T01:02:45.312956+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/static.rb:113:in `call'
    2015-12-08T01:02:45.312956+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/sendfile.rb:113:in `call'
    2015-12-08T01:02:45.312973+00:00 app[web.1]: /app/vendor/ruby-2.2.3/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'
    2015-12-08T01:02:45.312972+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/lock.rb:17:in `call'
    2015-12-08T01:02:45.312972+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/content_length.rb:15:in `call'
    2015-12-08T01:02:45.312974+00:00 app[web.1]: /app/vendor/ruby-2.2.3/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
    2015-12-08T01:02:45.312972+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:88:in `service'
    2015-12-08T01:02:45.312973+00:00 app[web.1]: /app/vendor/ruby-2.2.3/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'
    
    opened by AndrewSB 21
  • Something went wrong

    Something went wrong

    When a new user is signing up i'm getting this message. I have no clue whats happening. Please need some help here.

    Something went wrong, please contact the application owner: <?xml version="1.0" encoding="UTF-8"?> <String>There is no route for the path 'users/pre/int'.</String>

    Log:

    2017-11-16T03:49:42.133746+00:00 app[web.1]: Started POST "/submit" for 117.201.216.226 at 2017-11-16 03:49:42 +0000
    2017-11-16T03:49:42.139364+00:00 app[web.1]: Processing by InviteController#submit as HTML
    2017-11-16T03:49:42.139477+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "authenticity_token"=>"xxxxx", "first_name"=>"Hari", "last_name"=>"Dulipudi", "email"=>"[email protected]"}
    2017-11-16T03:49:42.159883+00:00 app[web.1]: Creating a new tester: [email protected] - Hari Dulipudi
    2017-11-16T03:49:43.462307+00:00 app[web.1]: #<Spaceship::Client::UnexpectedResponse: <?xml version="1.0" encoding="UTF-8"?>
    2017-11-16T03:49:43.462318+00:00 app[web.1]: <String>There is no route for the path 'users/pre/int'.</String>
    2017-11-16T03:49:43.462319+00:00 app[web.1]: >
    2017-11-16T03:49:43.462926+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/fastlane-2.53.1/spaceship/lib/spaceship/client.rb:588:in `parse_response'
    2017-11-16T03:49:43.462928+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/fastlane-2.53.1/spaceship/lib/spaceship/tunes/tunes_client.rb:1088:in `testers'
    2017-11-16T03:49:43.462929+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/fastlane-2.53.1/spaceship/lib/spaceship/tunes/tester.rb:79:in `all'
    2017-11-16T03:49:43.462930+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/fastlane-2.53.1/spaceship/lib/spaceship/tunes/tester.rb:86:in `find'
    2017-11-16T03:49:43.462931+00:00 app[web.1]: /app/app/services/boarding_service.rb:114:in `find_app_tester'
    2017-11-16T03:49:43.462931+00:00 app[web.1]: /app/app/services/boarding_service.rb:44:in `add_tester'
    2017-11-16T03:49:43.462932+00:00 app[web.1]: /app/app/controllers/invite_controller.rb:92:in `create_and_add_tester'
    2017-11-16T03:49:43.462933+00:00 app[web.1]: /app/app/controllers/invite_controller.rb:75:in `submit'
    
    opened by 1hakr 19
  • Allow setting arbitrary external testers group

    Allow setting arbitrary external testers group

    The app.default_external_group tends to return nil, at lest for my app, so I've added yet another setting to specify desired testers group. I'm pretty fresh to Test Flight, so it's pretty likely that this new setting variable should be renamed. So does verbiage.

    cla: yes 
    opened by skalee 18
  • Boarding fails to add new tester

    Boarding fails to add new tester

    Probably related to the recent TestFlight changes, but after updating to the latest version of Boarding I am unable to add a new tester. Heroku logs extract:

    2017-04-26T16:14:44.122407+00:00 app[web.1]: Started POST "/submit" for 94.193.104.4 at 2017-04-26 16:14:44 +0000 2017-04-26T16:14:44.123607+00:00 app[web.1]: Processing by InviteController#submit as HTML 2017-04-26T16:14:44.123673+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"*********", "first_name"=>"bob", "last_name"=>"bill", "email"=>"**********@gmail.com", "token"=>"", "commit"=>"Get Beta Access"} 2017-04-26T16:14:44.124957+00:00 app[web.1]: Rendered invite/index.html.erb within layouts/application (0.2ms) 2017-04-26T16:14:44.126252+00:00 app[web.1]: Completed 200 OK in 2ms (Views: 1.9ms) 2017-04-26T16:14:49.834437+00:00 app[web.1]: Started POST "/submit" for 94.193.104.4 at 2017-04-26 16:14:49 +0000 2017-04-26T16:14:49.843058+00:00 app[web.1]: Processing by InviteController#submit as HTML 2017-04-26T16:14:49.843341+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"********************", "first_name"=>"bob", "last_name"=>"bill", "email"=>"**@gmail.com", "token"=>"********", "commit"=>"Get Beta Access"} 2017-04-26T16:14:49.862455+00:00 app[web.1]: Going to create a new tester: ***********@gmail.com - bob bill 2017-04-26T16:14:53.768764+00:00 app[web.1]: Found tester 2017-04-26T16:14:54.007883+00:00 app[web.1]: #<Spaceship::Client::InsufficientPermissions: User *****@***.com (Team ID *******) doesn't have enough permission for the following action: parse_response> 2017-04-26T16:14:54.008110+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/fastlane-2.28.2/spaceship/lib/spaceship/client.rb:574:in raise_insuffient_permission_error!' 2017-04-26T16:14:54.008111+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/fastlane-2.28.2/spaceship/lib/spaceship/client.rb:549:indetect_most_common_errors_and_raise_exceptions'

    opened by afehners 16
  • Something went wrong try again

    Something went wrong try again

    This error happens every now and then for some users. I have been able to reproduce it but it doesn't alway fail sometimes it works: fname: s lname: y email: [email protected]

    ne ideas?

    opened by soheil-zz 16
  • dyno does not live long

    dyno does not live long

    Hi, I'm using boarding on 2 free dynos. when i first deploy them they are fine for a few days. after that, they seem dead and i get this (attached image). I'm sure there is something I'm missing, as I'm not that familiar with heroku. Any suggestions what might cause this? Thanks.

    screen shot 2016-04-02 at 10 52 19 am
    opened by rlimberger 15
  • new heroku deployments immediately crashing

    new heroku deployments immediately crashing

    2018-03-29T21:46:54.268168+00:00 heroku[worker.1]: Starting process with command `bundle exec rake jobs:work`
    2018-03-29T21:46:54.912391+00:00 heroku[worker.1]: State changed from starting to up
    2018-03-29T21:46:58.266227+00:00 heroku[worker.1]: Process exited with status 1
    2018-03-29T21:46:58.282547+00:00 heroku[worker.1]: State changed from up to crashed
    2018-03-29T21:46:58.113664+00:00 app[worker.1]: rake aborted!
    2018-03-29T21:46:58.113708+00:00 app[worker.1]: Don't know how to build task 'jobs:work' (see --tasks)
    2018-03-29T21:46:58.114187+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
    2018-03-29T21:46:58.114189+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:74:in `load'
    2018-03-29T21:46:58.114191+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:74:in `kernel_load'
    2018-03-29T21:46:58.114193+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:27:in `run'
    2018-03-29T21:46:58.114195+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli.rb:360:in `exec'
    2018-03-29T21:46:58.114197+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
    2018-03-29T21:46:58.114215+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
    2018-03-29T21:46:58.114217+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor.rb:369:in `dispatch'
    2018-03-29T21:46:58.114218+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli.rb:20:in `dispatch'
    2018-03-29T21:46:58.114220+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/base.rb:444:in `start'
    2018-03-29T21:46:58.114221+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli.rb:10:in `start'
    2018-03-29T21:46:58.114223+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/exe/bundle:30:in `block in <top (required)>'
    2018-03-29T21:46:58.114225+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
    2018-03-29T21:46:58.114226+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/exe/bundle:22:in `<top (required)>'
    2018-03-29T21:46:58.114228+00:00 app[worker.1]: /app/bin/bundle:3:in `load'
    2018-03-29T21:46:58.114229+00:00 app[worker.1]: /app/bin/bundle:3:in `<main>'
    2018-03-29T21:46:58.114235+00:00 app[worker.1]: (See full trace by running task with --trace)
    

    I've tried deploying twice with the same results. I'm not sure what other information is helpful, so please let me know what else I can provide. I was able to deploy to Azure successfully using the same underlying app and iTC access.

    opened by 33b5e5 13
  • Method not allowed

    Method not allowed

    We've had Boarding set up and working well for the last 2 months or so, however, all of the sudden it has started throwing Method Not Allowed errors when users attempt to sign up.

    See attached. screen shot 2017-11-15 at 4 17 11 pm

    opened by jabeler 12
  • Fatal Sign-up Error (

    Fatal Sign-up Error ("Undefined method 'admin?' for nil:NilClass")

    I have successfully deployed the heroku app however when I try to create a new user, I get this error

    "Something went wrong, please contact the application owner: undefined method `admin?' for nil:NilClass"

    Has anyone else run into this issue?

    This is the log from the event, with some redacting:

    2017-05-15T01:45:04.170327+00:00 heroku[router]: at=info method=GET path="/assets/application-895ae8ca2b3268d6153266e6779a6d89796096e2da27247f1558a72aa570cff9.css" host=sleepy-brushlands-18802.herokuapp.com request_id=5f8e3154-6abd-45ac-85aa-f4f29367e317 fwd="107.77.211.168" dyno=web.1 connect=0ms service=1ms status=304 bytes=48 protocol=https 2017-05-15T01:45:04.372172+00:00 heroku[router]: at=info method=GET path="/assets/application-3242170f28b3708d4591ea0b3f7ddfc4e4c9c6e182222d74f01449e323a3dbb7.js" host=sleepy-brushlands-18802.herokuapp.com request_id=b00c459c-2ec3-4f0a-9918-581b7023e7f7 fwd="107.77.211.168" dyno=web.1 connect=0ms service=1ms status=304 bytes=48 protocol=https 2017-05-15T01:45:04.363907+00:00 heroku[router]: at=info method=GET path="/assets/application-895ae8ca2b3268d6153266e6779a6d89796096e2da27247f1558a72aa570cff9.css" host=sleepy-brushlands-18802.herokuapp.com request_id=bcd6e6c8-97e0-4c0a-be81-cf3a82b178cf fwd="107.77.211.168" dyno=web.1 connect=0ms service=5ms status=304 bytes=48 protocol=https 2017-05-15T01:45:04.552287+00:00 heroku[router]: at=info method=GET path="/assets/application-3242170f28b3708d4591ea0b3f7ddfc4e4c9c6e182222d74f01449e323a3dbb7.js" host=sleepy-brushlands-18802.herokuapp.com request_id=e9754802-5568-47d7-b073-f0033ca09942 fwd="107.77.211.168" dyno=web.1 connect=0ms service=1ms status=304 bytes=48 protocol=https 2017-05-15T01:45:07.762504+00:00 heroku[router]: at=info method=GET path="/" host=sleepy-brushlands-18802.herokuapp.com request_id=5a7eff58-4823-499b-96d1-63a915a192a0 fwd="107.77.211.168" dyno=web.1 connect=4ms service=6ms status=200 bytes=3119 protocol=https 2017-05-15T01:45:07.757606+00:00 app[web.1]: Started GET "/" for 107.77.211.168 at 2017-05-15 01:45:07 +0000 2017-05-15T01:45:07.758383+00:00 app[web.1]: Processing by InviteController#index as HTML 2017-05-15T01:45:07.760849+00:00 app[web.1]: Rendered invite/index.html.erb within layouts/application (1.8ms) 2017-05-15T01:45:07.761373+00:00 app[web.1]: Completed 200 OK in 3ms (Views: 2.5ms) 2017-05-15T01:46:06.790195+00:00 app[web.1]: Started POST "/submit" for 107.77.211.168 at 2017-05-15 01:46:06 +0000 2017-05-15T01:46:06.791171+00:00 app[web.1]: Processing by InviteController#submit as HTML 2017-05-15T01:46:06.791247+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"CeQOOGGubrL6AdIFaYz8y3nKMNTnxYqfDxaESAXEJqha32BA9hXYwcwxW/9R6xlOef+N2hNmKExQ6ex3KnN45A==", "first_name"=>"First Name", "last_name"=>"Last Name", "email"=>"we*********@gmail.com", "token"=>"Spring*******", "commit"=>"Get Beta Access"} 2017-05-15T01:46:06.792077+00:00 app[web.1]: Creating a new tester: weg********@gmail.com ****** 2017-05-15T01:46:07.667984+00:00 heroku[router]: at=info method=POST path="/submit" host=sleepy-brushlands-18802.herokuapp.com request_id=c25fadbc-7977-468b-922b-bda034bad703 fwd="107.77.211.168" dyno=web.1 connect=9ms service=1001ms status=200 bytes=2099 protocol=https 2017-05-15T01:46:07.662244+00:00 app[web.1]: #<NoMethodError: undefined method admin?' for nil:NilClass> 2017-05-15T01:46:07.663545+00:00 app[web.1]: /app/app/services/boarding_service.rb:111:infind_app_tester' 2017-05-15T01:46:07.663546+00:00 app[web.1]: /app/app/services/boarding_service.rb:42:in add_tester' 2017-05-15T01:46:07.663548+00:00 app[web.1]: /app/app/controllers/invite_controller.rb:91:increate_and_add_tester' 2017-05-15T01:46:07.663548+00:00 app[web.1]: /app/app/controllers/invite_controller.rb:74:in submit' 2017-05-15T01:46:07.663549+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal/implicit_render.rb:4:insend_action' 2017-05-15T01:46:07.663550+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/abstract_controller/base.rb:198:in process_action' 2017-05-15T01:46:07.663551+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal/rendering.rb:10:inprocess_action' 2017-05-15T01:46:07.663552+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/abstract_controller/callbacks.rb:20:in block in process_action' 2017-05-15T01:46:07.663552+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:117:incall' 2017-05-15T01:46:07.663553+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:555:in block (2 levels) in compile' 2017-05-15T01:46:07.663554+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:505:incall' 2017-05-15T01:46:07.663554+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in __run_callbacks__' 2017-05-15T01:46:07.663555+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in_run_process_action_callbacks' 2017-05-15T01:46:07.663556+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:81:in run_callbacks' 2017-05-15T01:46:07.663557+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/abstract_controller/callbacks.rb:19:inprocess_action' 2017-05-15T01:46:07.663557+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal/rescue.rb:29:in process_action' 2017-05-15T01:46:07.663572+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal/instrumentation.rb:32:inblock in process_action' 2017-05-15T01:46:07.663573+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/notifications.rb:164:in block in instrument' 2017-05-15T01:46:07.663574+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/notifications/instrumenter.rb:20:ininstrument' 2017-05-15T01:46:07.663575+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/notifications.rb:164:in instrument' 2017-05-15T01:46:07.663575+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal/instrumentation.rb:30:inprocess_action' 2017-05-15T01:46:07.663576+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal/params_wrapper.rb:250:in process_action' 2017-05-15T01:46:07.663577+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/abstract_controller/base.rb:137:inprocess' 2017-05-15T01:46:07.663577+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionview-4.2.8/lib/action_view/rendering.rb:30:in process' 2017-05-15T01:46:07.663578+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal.rb:196:indispatch' 2017-05-15T01:46:07.663579+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal/rack_delegation.rb:13:in dispatch' 2017-05-15T01:46:07.663580+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_controller/metal.rb:237:inblock in action' 2017-05-15T01:46:07.663580+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/routing/route_set.rb:74:in dispatch' 2017-05-15T01:46:07.663581+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/routing/route_set.rb:43:inserve' 2017-05-15T01:46:07.663582+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/journey/router.rb:43:in block in serve' 2017-05-15T01:46:07.663582+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/journey/router.rb:30:ineach' 2017-05-15T01:46:07.663583+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/journey/router.rb:30:in serve' 2017-05-15T01:46:07.663584+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/routing/route_set.rb:817:incall' 2017-05-15T01:46:07.663584+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/http_accept_language-2.0.5/lib/http_accept_language/middleware.rb:14:in call' 2017-05-15T01:46:07.663585+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/etag.rb:24:incall' 2017-05-15T01:46:07.663586+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/conditionalget.rb:38:in call' 2017-05-15T01:46:07.663587+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/head.rb:13:incall' 2017-05-15T01:46:07.663588+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/params_parser.rb:27:in call' 2017-05-15T01:46:07.663588+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/flash.rb:260:incall' 2017-05-15T01:46:07.663785+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/session/abstract/id.rb:225:in context' 2017-05-15T01:46:07.663786+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/session/abstract/id.rb:220:incall' 2017-05-15T01:46:07.663787+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/cookies.rb:560:in call' 2017-05-15T01:46:07.663788+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/callbacks.rb:29:inblock in call' 2017-05-15T01:46:07.663788+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:88:in __run_callbacks__' 2017-05-15T01:46:07.663789+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in_run_call_callbacks' 2017-05-15T01:46:07.663790+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:81:in run_callbacks' 2017-05-15T01:46:07.663790+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/callbacks.rb:27:incall' 2017-05-15T01:46:07.663791+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/remote_ip.rb:78:in call' 2017-05-15T01:46:07.663792+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/debug_exceptions.rb:17:incall' 2017-05-15T01:46:07.663792+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/show_exceptions.rb:30:in call' 2017-05-15T01:46:07.663793+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.8/lib/rails/rack/logger.rb:38:incall_app' 2017-05-15T01:46:07.663794+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.8/lib/rails/rack/logger.rb:20:in block in call' 2017-05-15T01:46:07.663794+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/tagged_logging.rb:68:inblock in tagged' 2017-05-15T01:46:07.663795+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/tagged_logging.rb:26:in tagged' 2017-05-15T01:46:07.663796+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/tagged_logging.rb:68:intagged' 2017-05-15T01:46:07.663796+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.8/lib/rails/rack/logger.rb:20:in call' 2017-05-15T01:46:07.663797+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/request_id.rb:21:incall' 2017-05-15T01:46:07.663798+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/methodoverride.rb:22:in call' 2017-05-15T01:46:07.663799+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/runtime.rb:18:incall' 2017-05-15T01:46:07.663799+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.8/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' 2017-05-15T01:46:07.663800+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/static.rb:120:incall' 2017-05-15T01:46:07.663801+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/sendfile.rb:113:in call' 2017-05-15T01:46:07.663802+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.8/lib/rails/engine.rb:518:incall' 2017-05-15T01:46:07.663805+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.8/lib/rails/application.rb:165:in call' 2017-05-15T01:46:07.663806+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/configuration.rb:224:incall' 2017-05-15T01:46:07.663807+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/server.rb:600:in handle_request' 2017-05-15T01:46:07.663808+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/server.rb:435:inprocess_client' 2017-05-15T01:46:07.663808+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/server.rb:299:in block in run' 2017-05-15T01:46:07.663809+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/thread_pool.rb:120:inblock in spawn_thread' 2017-05-15T01:46:07.665578+00:00 app[web.1]: Rendered invite/index.html.erb within layouts/application (0.5ms) 2017-05-15T01:46:07.668096+00:00 app[web.1]: Completed 200 OK in 877ms (Views: 3.8ms) Disconnected from log stream. There may be events happening that you do not see here! Attempting to reconnect... 2017-05-15T01:46:07.663801+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.5/lib/rack/sendfile.rb:113:in call' 2017-05-15T01:46:07.663800+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/static.rb:120:incall' 2017-05-15T01:46:07.663802+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.8/lib/rails/engine.rb:518:in call' 2017-05-15T01:46:07.663805+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.8/lib/rails/application.rb:165:incall' 2017-05-15T01:46:07.663806+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/configuration.rb:224:in call' 2017-05-15T01:46:07.663807+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/server.rb:600:inhandle_request' 2017-05-15T01:46:07.663808+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/server.rb:435:in process_client' 2017-05-15T01:46:07.663808+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/server.rb:299:inblock in run' 2017-05-15T01:46:07.663809+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/puma-3.8.2/lib/puma/thread_pool.rb:120:in `block in spawn_thread' 2017-05-15T01:46:07.665578+00:00 app[web.1]: Rendered invite/index.html.erb within layouts/application (0.5ms) 2017-05-15T01:46:07.668096+00:00 app[web.1]: Completed 200 OK in 877ms (Views: 3.8ms)

    opened by RPasecky 11
  • Spaceship::UnauthorizedAccessError: Unauthorized Access thrown 8 hours after deployment

    Spaceship::UnauthorizedAccessError: Unauthorized Access thrown 8 hours after deployment

    The issue:

    We've deployed boarding to a Docker container hosted on our internal application platform and we are able to successfully add new Beta Testers after deployment.

    However, after about 8 hours, users trying to sign up start to see the following error in the UI:

    Something went wrong, please contact the application owner: Unauthorized Access
    

    I checked the application logs after a failed sign up attempt and I see the following:

    April 6th 2020, 09:59:14.101 | #<Spaceship::UnauthorizedAccessError: Unauthorized Access>
    April 6th 2020, 09:59:14.101 | /usr/local/bundle/ruby/2.6.0/gems/fastlane-2.126.0/spaceship/lib/spaceship/client.rb:844:in `send_request'
    April 6th 2020, 09:59:14.101 | /boarding/app/services/boarding_service.rb:57:in `block in add_tester'
    April 6th 2020, 09:59:14.101 | Could not add (email address) to app: (our app name)
    

    What I'd like to be able to do:

    Deploy boarding in a way that doesn't require frequent maintenance to resolve these issues.

    What I've tried:

    1. I've seen some chatter of 2FA being enabled having some impact on this, however, the ITC_USER specified is an App Manager role that does not have 2FA enabled so I don't believe this is related.
    2. I've also tried passing in a valid FASTLANE_SESSION (generated via command line) by setting export FASTLANE_SESSION=(the fastlane session) prior to bundle exec puma -C config/puma.rb being executed by our app platform. In doing so, I see Session loaded from environment variable is not valid. Continuing with normal login. in the application logs – Googling this leads me right back to the 2FA conversations.

    I've also looked through the docs and seemingly related GitHub issues, however, I haven't been able to find anything conclusive.

    Thanks in advance for your help in resolving this.

    opened by abardallis 3
  • bundler 2.0.1 issue

    bundler 2.0.1 issue

    Hi, we cant use the direct links from TestFlight in alpha and now have the app has been down for a while and I'd like to fix it, but when I tried to update the fastlane and even tried creating new app through the easy links in this project page but they all fail in this same issue.

    remote:        Installing bootstrap-sass 3.4.1
    remote:        Bundle complete! 19 Gemfile dependencies, 123 gems now installed.
    remote:        Gems in the groups development and test were not installed.
    remote:        Bundled gems are installed into `./vendor/bundle`
    remote:        Post-install message from i18n:
    remote:
    remote:        HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
    remote:        But that may break your application.
    remote:
    remote:        Please check your Rails app for 'config.i18n.fallbacks = true'.
    remote:        If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
    remote:        'config.i18n.fallbacks = [I18n.default_locale]'.
    remote:        If not, fallbacks will be broken in your app by I18n 1.1.x.
    remote:
    remote:        For more info see:
    remote:        https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
    remote:
    remote:        Post-install message from sass:
    remote:
    remote:        Ruby Sass has reached end-of-life and should no longer be used.
    remote:
    remote:        * If you use Sass as a command-line tool, we recommend using Dart Sass, the new
    remote:          primary implementation: https://sass-lang.com/install
    remote:
    remote:        * If you use Sass as a plug-in for a Ruby web framework, we recommend using the
    remote:          sassc gem: https://github.com/sass/sassc-ruby#readme
    remote:
    remote:        * For more details, please refer to the Sass blog:
    remote:          https://sass-lang.com/blog/posts/7828841
    remote:
    remote:        Bundle completed (162.93s)
    remote:        Cleaning up the bundler cache.
    remote: -----> Installing node-v10.15.3-linux-x64
    remote: -----> Detecting rake tasks
    remote:
    remote:  !
    remote:  !     Could not detect rake tasks
    remote:  !     ensure you can run `$ bundle exec rake -P` against your app
    remote:  !     and using the production group of your Gemfile.
    remote:  !     Activating bundler (2.0.1) failed:
    remote:  !     Could not find 'bundler' (2.0.1) required by your /tmp/build_4bddf08f954368810a34eedf218d6064/Gemfile.lock.
    remote:  !     To update to the latest version installed on your system, run `bundle update --bundler`.
    remote:  !     To install the missing version, run `gem install bundler:2.0.1`
    remote:  !     Checked in 'GEM_PATH=vendor/bundle/ruby/2.5.0', execute `gem env` for more information
    remote:  !
    remote:  !     To install the version of bundler this project requires, run `gem install bundler -v '2.0.1'`
    remote:  !
    remote: /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/lib/language_pack/helpers/rake_runner.rb:106:in `load_rake_tasks!': Could not detect rake tasks (LanguagePack::Helpers::RakeRunner::CannotLoadRakefileError)
    remote: ensure you can run `$ bundle exec rake -P` against your app
    remote: and using the production group of your Gemfile.
    remote: Activating bundler (2.0.1) failed:
    remote: Could not find 'bundler' (2.0.1) required by your /tmp/build_4bddf08f954368810a34eedf218d6064/Gemfile.lock.
    remote: To update to the latest version installed on your system, run `bundle update --bundler`.
    remote: To install the missing version, run `gem install bundler:2.0.1`
    opened by JoukoTyni 9
  • Move to JWT authentication

    Move to JWT authentication

    Fastlane now has support for JWT authentication against AppStore Connect #14888. JWT support would mean that we wouldn't have to create a separate 'App Manager' account to get around the 2FA problems.

    I think this would also solve an issue we are seeing where the session expires within a day (when using username/password authentication).

    opened by FinHorsley 0
  • Something went wrong, please contact the application owner.

    Something went wrong, please contact the application owner.

    I just deployed boarding to Azure but when I try to add a new tester, I get an error:

    Something went wrong, please contact the application owner: <!DOCTYPE html><html lang="en"> <head> <title></title> <link rel="stylesheet" href="/styles/main.css"> <style type='text/css'> /*include ../../dist/styles/main.css*/ </style> </head> <body><div id="wrapper" class="j42"> <h2>Method Not Allowed</h2></div> <div class="footer"> <p>Copyright &copy; <span id='year'>2015</span> Apple Inc. All rights reserved.</p> <ul><li><a href="https://www.apple.com/legal/internet-services/itunes/">Terms of Service</a></li><li><a href="https://www.apple.com/legal/privacy">Privacy Policy</a></li></ul> </div> <script type='text/javascript'>(function() { var isIos = navigator.userAgent.match(/(iPod|iPhone|iPad)/); document.body.setAttribute( 'class', (!isIos) ? 'otherBrowser' : 'isMobileSafari' ) var yearEl = document.getElementById('year'); if (yearEl) { yearEl.textContent = new Date().getFullYear(); } })(); </script> </body> </html>
    

    Looks like something went wrong with boarding trying to talk to ITC.

    opened by ojii 4
  • A new tester doesn't get added to TestFlight

    A new tester doesn't get added to TestFlight

    I just tried to deploy the latest version of the boarding app and when I try to add a new tester, it shows that I was successfully added as a new tester, but I didn't get an invite email and I'm not able to find myself when I check on TestFlight. I think this block of code doesn't get executed https://github.com/fastlane/boarding/blob/8a3619e2593195492f360703bf5a44f6d5bd41e1/app/services/boarding_service.rb#L95-L99 I tried adding logs with response.status and response.body to verify and I don't see them in the console either.

    opened by AlexeyLi 5
Releases(0.1)
Owner
fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps
fastlane
PinpointKit is an open-source iOS library in Swift that lets your testers and users send feedback with annotated screenshots using a simple gesture.

PinpointKit is an open-source iOS library in Swift that lets your testers and users send feedback with annotated screenshots using a simple gesture. F

Lickability 1.1k Jan 6, 2023
Transition from any SwiftUI Text view into an inline navigation bar title when the view is scrolled off-screen, as seen in Apple's TV & TestFlight iOS apps.

SwiftUI Matched Inline Title Transition from any SwiftUI Text view into an inline navigation bar title when the view is scrolled off-screen, as seen i

Seb Jachec 19 Oct 9, 2022
LoginKit is a quick and easy way to add Facebook and email Login/Signup UI to your app.

LoginKit About LoginKit is a quick and easy way to add Facebook and email Login/Signup UI to your app. If you need to quickly prototype an app, create

Icalia Labs 653 Dec 17, 2022
LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.

LoginKit About LoginKit is a quick and easy way to add Facebook and email Login/Signup UI to your app. If you need to quickly prototype an app, create

Icalia Labs 653 Dec 17, 2022
Reading animation allows you to click on the different page numbers and accordingly it will animate page changes in a cool way. It has a very attractive UI and is very easy to use.

Reading Animation Cool Reading Animation in iOS written in Swift. Preview Table of content :- Description How to add in your project Requirement Licen

MindInventory 42 Oct 4, 2022
A PageView Swiping to the left will go to previous page and swiping to the right will go to next page

PageView This package creates a PageView. Swiping to the left will go to previous page and swiping to the right will go to next page. You can find how

null 0 Oct 20, 2021
SwiftyTimer allows you to instantly schedule delays and repeating timers using convenient closure syntax. It's time to get rid of Objective-C cruft.

SwiftyTimer Modern Swifty API for NSTimer SwiftyTimer allows you to instantly schedule delays and repeating timers using convenient closure syntax. It

Radek Pietruszewski 1.2k Dec 27, 2022
Primer iOS SDK - Instantly deploy native screens without writing code

Instantly deploy native screens without writing code. Primer enables you to design and test new user experiences, and personalize them for each user.

Primer 6 Mar 23, 2018
Server Driven UI can enable faster iterations and allowing apps to instantly update on multiple platforms.

Pets App Server Driven UI can enable faster iterations and allowing apps to instantly update on multiple platforms Steps to run Pets-Web: Download or

Metin Atalay 0 Jun 11, 2022
SwiftUI MovieDB prototype app built with Xcode 11 Beta & macOS 10.15 Catalina

SwiftUI MovieDB iOS 13 App SwiftUI MovieDB prototype app built with Xcode 11 Beta & macOS 10.15 Catalina Requirements macOS 10.15 Catalina Xcode 11 Be

Alfian Losari 297 Dec 17, 2022
🍞 [Beta] A view controller that can unwind like presentation and navigation.

FluidPresentation - no more handling presented or pushed in view controller A view controller that supports the interactive dismissal by edge pan gest

Muukii 19 Dec 22, 2021
Basic Unsplash client for iOS made with SwiftUI (beta).

PapersSwiftUI Basic Unsplash client for iOS made with SwiftUI (beta). Note SwiftUI is still in beta and I'm also still learning how it works. To-Do: P

Don 19 Dec 17, 2022
A repository that demonstrates the difficulty to run async tests with Xcode 13.2 beta on pre iOS-15 simulators

A repository that demonstrates the difficulty to run async tests with Xcode 13.2 beta on pre iOS-15 simulators This demonstration uses an iOS 13.7 sim

Gwendal Roué 0 Nov 1, 2021
Uber Rides iOS SDK (beta)

Uber Rides iOS SDK This Swift library allows you to integrate the Uber Rides API into your iOS app. Requirements iOS 8.0+ Xcode 10.0+ Swift 4.2+ Insta

Uber Open Source 343 Jan 4, 2023
A collection of bugs present in the SwiftUI beta.

Gosh Darn Bugs! GoshDarnBugs is a collection of... you guessed it, bugs. Usage Clone the repository. Open GoshDarnBugs.xcodeproj Click Run. Why? Swift

SwiftUIX 33 Aug 28, 2021
A tester tool for the bug PoC released by Synacktiv for 15.0 - 15.4 beta 3

SploitTest A tester tool for the bug PoC released by Synacktiv for 15.0 - 15.4 beta 3 iOS 15.4 patched a kernel vulnerability introduced in iOS 15.0 b

GeoSn0w 42 Nov 26, 2022
Agora 4.x Beta (Audio)

Agora 4.x Beta (Audio) Install Agora RTC SDK 4.x easily with Swift Package Manager. The NG SDK starts with version 4.0.0-beta.1. Click here for full d

null 0 Apr 6, 2022
How to develop an iOS 14 application with SwiftUI 2.0 framework. How to create an Onboarding Screen with Page Tab View

Ama-Fruits USER INTERFACE AND USER EXPERIENCE APP DESIGN How to develop an iOS 14 application with SwiftUI 2.0 framework. How to create an Onboarding

Noye Samuel 1 Dec 11, 2021
📖 A simple, highly informative page view controller

TL;DR UIPageViewController done properly. ⭐️ Features Simplified data source management & enhanced delegation. Dynamically insert & remove pages. Infi

UI At Six 1.8k Jan 5, 2023
📖 A simple, highly informative page view controller

TL;DR UIPageViewController done properly. ⭐️ Features Simplified data source management & enhanced delegation. Dynamically insert & remove pages. Infi

UI At Six 1.8k Dec 24, 2022