<script>
  Ember.RSVP.configure('onerror', function(e) {
    // Ignore TransitionAborted exceptions that bubble up
    if (e && e.message === "TransitionAborted") { return; }

    <% if Rails.env.development? %>
      if (e) {
        if (e.message || e.stack) {
          console.log(e.message);
          console.log(e.stack);
        } else {
          console.log("Uncaught promise: ", e);
        }
      } else {
        console.log("A promise failed but was not caught.");
      }
    <% end %>
    window.onerror(e && e.message, null,null,null,e);
  });
</script>

<script>
  <%- if !current_user && flash[:authentication_data] %>
    Discourse.showingSignup = true
    require('discourse/routes/application').default.reopen({
      actions: {
        didTransition: function() {
          Em.run.next(function(){
            Discourse.authenticationComplete(<%=flash[:authentication_data].html_safe%>);
          });
          return this._super();
        }
      }
    });
  <%- end %>

  (function() {
    var ps = require('preload-store').default;

    Discourse.CDN = '<%= Rails.configuration.action_controller.asset_host %>';
    Discourse.BaseUrl = '<%= RailsMultisite::ConnectionManagement.current_hostname %>'.replace(/:[\d]*$/,"");
    Discourse.BaseUri = '<%= Discourse::base_uri %>';
    Discourse.Environment = '<%= Rails.env %>';
    Discourse.SiteSettings = ps.get('siteSettings');
    Discourse.ThemeSettings = ps.get('themeSettings');
    Discourse.LetterAvatarVersion = '<%= LetterAvatar.version %>';
    Discourse.MarkdownItURL = '<%= asset_url('markdown-it-bundle.js') %>';
    Discourse.ServiceWorkerURL = Discourse.Environment != "development" ? '<%= Rails.application.assets_manifest.assets['service-worker.js'] %>' : 'service-worker.js';
    I18n.defaultLocale = '<%= SiteSetting.default_locale %>';
    Discourse.start();
    Discourse.set('assetVersion','<%= Discourse.assets_digest %>');
    Discourse.Session.currentProp("disableCustomCSS", <%= loading_admin? %>);
    <%- if guardian.can_enable_safe_mode? && params["safe_mode"] %>
    Discourse.Session.currentProp("safe_mode", <%= normalized_safe_mode.inspect.html_safe %>);
    <%- end %>
    Discourse.HighlightJSPath = <%= HighlightJs.path.inspect.html_safe %>;
    <%- if SiteSetting.Upload.enable_s3_uploads %>
      <%- if SiteSetting.Upload.s3_cdn_url.present? %>
    Discourse.S3CDN = '<%= SiteSetting.Upload.s3_cdn_url %>';
      <%- end %>
    Discourse.S3BaseUrl = '<%= SiteSetting.Upload.s3_base_url %>';
    <%- end %>
  })();
</script>

<%= preload_script 'browser-update' %>