<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- force IE browsers in compatibility mode to use their most aggressive rendering engine -->
<meta charset="utf-8">
<title>GitHub Status</title>
<meta name="description" content="Welcome to GitHub's home for real-time and historical data on system performance.">
<!-- Mobile viewport optimization -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
<!-- Time this page was rendered - http://purl.org/dc/terms/issued -->
<meta name="issued" content="1738962420">
<!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading -->
<meta http-equiv="cleartype" content="on">
<!-- Le fonts -->
<style>
@font-face {
font-family: 'proxima-nova';
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=www.githubstatus.com');
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host=www.githubstatus.com') format('woff'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host=www.githubstatus.com') format('truetype');
font-weight:300;
font-style:normal;
}
@font-face {
font-family: 'proxima-nova';
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=www.githubstatus.com');
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host=www.githubstatus.com') format('woff'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host=www.githubstatus.com') format('truetype');
font-weight:400;
font-style:normal;
}
@font-face {
font-family: 'proxima-nova';
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=www.githubstatus.com');
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host=www.githubstatus.com') format('woff'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host=www.githubstatus.com') format('truetype');
font-weight:400;
font-style:italic;
}
@font-face {
font-family: 'proxima-nova';
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=www.githubstatus.com');
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host=www.githubstatus.com') format('woff'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host=www.githubstatus.com') format('truetype');
font-weight:500;
font-style:normal;
}
@font-face {
font-family: 'proxima-nova';
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=www.githubstatus.com');
src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host=www.githubstatus.com') format('woff'),
url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host=www.githubstatus.com') format('truetype');
font-weight:700;
font-style:normal;
}
</style>
<link rel="shortcut icon" type="image/x-icon" href="//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/36420/akacZEQQfOBdc7ftyxJt" />
<link rel="shortcut icon" href='//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/36420/akacZEQQfOBdc7ftyxJt'>
<link rel="alternate" type="application/atom+xml" href="https://www.githubstatus.com/history.atom" title="GitHub Status History - Atom Feed">
<link rel="alternate" type="application/rss+xml" href="https://www.githubstatus.com/history.rss" title="GitHub Status History - RSS Feed">
<!-- Canonical Link to ensure that only the custom domain is indexed when present -->
<link rel="canonical" href="https://www.githubstatus.com">
<meta name="_globalsign-domain-verification" content="y_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ"/>
<link rel="alternate" type="application/atom+xml" title="ATOM" href="https://www.githubstatus.com/history.atom" />
<!-- Le styles -->
<link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/0.b4545edb68e147de7949.css" />
<link rel="stylesheet" media="all" href="https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-260e48dd9b8c9b04e8d6c6286f76aecb8ac22f273beea6dba3eee902141bcbfe.css" />
<script src="https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js"></script>
<script>
window.pageColorData = {"blue":"#0366d6","border":"#e1e4e8","body_background":"#ffffff","font":"#24292e","graph":"#0366d6","green":"#28a745","light_font":"#6a737d","link":"#0366d6","orange":"#e36209","red":"#dc3545","yellow":"#dbab09","no_data":"#b3bac5"};
</script>
<style>
/* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */
body,
.layout-content.status.status-api .section .example-container .example-opener .color-secondary,
.grouped-items-selector,
.layout-content.status.status-full-history .history-nav a.current,
div[id^="subscribe-modal"] .modal-footer,
div[id^="subscribe-modal"],
div[id^="updates-dropdown"] .updates-dropdown-section,
#uptime-tooltip .tooltip-box {
background-color:#ffffff;
}
#uptime-tooltip .pointer-container .pointer-smaller {
border-bottom-color:#ffffff;
}
/* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */
body.status,
.color-primary,
.color-primary:hover,
.layout-content.status-index .status-day .update-title.impact-none a,
.layout-content.status-index .status-day .update-title.impact-none a:hover,
.layout-content.status-index .timeframes-container .timeframe.active,
.layout-content.status-full-history .month .incident-container .impact-none,
.layout-content.status.status-index .incidents-list .incident-title.impact-none a,
.incident-history .impact-none,
.layout-content.status .grouped-items-selector.inline .grouped-item.active,
.layout-content.status.status-full-history .history-nav a.current,
.layout-content.status.status-full-history .history-nav a:not(.current):hover,
div[id^="subscribe-modal"] .modal-header .close,
.grouped-item-label,
#uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link {
color:#24292e;
}
.layout-content.status.status-index .components-statuses .component-container .name {
color:#24292e;
color:rgba(36,41,46,.8);
}
/* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */
small,
.layout-content.status .table-row .date,
.color-secondary,
.layout-content.status .grouped-items-selector.inline .grouped-item,
.layout-content.status.status-full-history .history-footer .pagination a.disabled,
.layout-content.status.status-full-history .history-nav a,
#uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header {
color:#6a737d;
}
/* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */
body.status .layout-content.status .border-color,
hr,
.tooltip-base,
.markdown-display table,
div[id^="subscribe-modal"],
#uptime-tooltip .tooltip-box {
border-color:#e1e4e8;
}
div[id^="subscribe-modal"] .modal-footer,
.markdown-display table td {
border-top-color:#e1e4e8;
}
.markdown-display table td + td, .markdown-display table th + th {
border-left-color:#e1e4e8;
}
div[id^="subscribe-modal"] .modal-header,
#uptime-tooltip .pointer-container .pointer-larger {
border-bottom-color:#e1e4e8;
}
#uptime-tooltip .tooltip-box .outage-field {
/*
Generate the background-color for the outage-field from the css_body_background_color and css_border_color.
For the default background (#ffffff) and default css_border_color (#e0e0e0), use the luminosity of the default background with a magic number to arrive at
the original outage-field background color (#f4f5f7). I used the formula Target Color = Color * alpha + Background * (1 - alpha) to find the magic number of ~0.08.
For darker css_body_background_color, luminosity values are lower so alpha trends toward becoming transparent (thus outage-field background becomes same as css_body_background_color).
*/
background-color: rgba(225,228,232,0.31);
/*
outage-field border-color alpha is inverse to the luminosity of css_body_background_color.
That is to say, with a default white background this border is transparent, but on a black background, it's opaque css_border_color.
*/
border-color: rgba(225,228,232,0.0);
}
/* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */
.layout-content.status.status-index .status-day .update-title.impact-critical a,
.layout-content.status.status-index .status-day .update-title.impact-critical a:hover,
.layout-content.status.status-index .page-status.status-critical,
.layout-content.status.status-index .unresolved-incident.impact-critical .incident-title,
.flat-button.background-red {
background-color:#dc3545;
}
.layout-content.status-index .components-statuses .component-container.status-red:after,
.layout-content.status-full-history .month .incident-container .impact-critical,
.layout-content.status-incident .incident-name.impact-critical,
.layout-content.status.status-index .incidents-list .incident-title.impact-critical a,
.status-red .icon-indicator,
.incident-history .impact-critical,
.components-container .component-inner-container.status-red .component-status,
.components-container .component-inner-container.status-red .icon-indicator {
color:#dc3545;
}
.layout-content.status.status-index .unresolved-incident.impact-critical .updates {
border-color:#dc3545;
}
/* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */
.layout-content.status.status-index .status-day .update-title.impact-major a,
.layout-content.status.status-index .status-day .update-title.impact-major a:hover,
.layout-content.status.status-index .page-status.status-major,
.layout-content.status.status-index .unresolved-incident.impact-major .incident-title {
background-color:#e36209;
}
.layout-content.status-index .components-statuses .component-container.status-orange:after,
.layout-content.status-full-history .month .incident-container .impact-major,
.layout-content.status-incident .incident-name.impact-major,
.layout-content.status.status-index .incidents-list .incident-title.impact-major a,
.status-orange .icon-indicator,
.incident-history .impact-major,
.components-container .component-inner-container.status-orange .component-status,
.components-container .component-inner-container.status-orange .icon-indicator {
color:#e36209;
}
.layout-content.status.status-index .unresolved-incident.impact-major .updates {
border-color:#e36209;
}
/* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */
.layout-content.status.status-index .status-day .update-title.impact-minor a,
.layout-content.status.status-index .status-day .update-title.impact-minor a:hover,
.layout-content.status.status-index .page-status.status-minor,
.layout-content.status.status-index .unresolved-incident.impact-minor .incident-title,
.layout-content.status.status-index .scheduled-incidents-container .tab {
background-color:#dbab09;
}
.layout-content.status-index .components-statuses .component-container.status-yellow:after,
.layout-content.status-full-history .month .incident-container .impact-minor,
.layout-content.status-incident .incident-name.impact-minor,
.layout-content.status.status-index .incidents-list .incident-title.impact-minor a,
.status-yellow .icon-indicator,
.incident-history .impact-minor,
.components-container .component-inner-container.status-yellow .component-status,
.components-container .component-inner-container.status-yellow .icon-indicator,
.layout-content.status.manage-subscriptions .confirmation-infobox .fa {
color:#dbab09;
}
.layout-content.status.status-index .unresolved-incident.impact-minor .updates,
.layout-content.status.status-index .scheduled-incidents-container {
border-color:#dbab09;
}
/* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */
.layout-content.status.status-index .status-day .update-title.impact-maintenance a,
.layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover,
.layout-content.status.status-index .page-status.status-maintenance,
.layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title,
.layout-content.status.status-index .scheduled-incidents-container .tab {
background-color:#0366d6;
}
.layout-content.status-index .components-statuses .component-container.status-blue:after,
.layout-content.status-full-history .month .incident-container .impact-maintenance,
.layout-content.status-incident .incident-name.impact-maintenance,
.layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a,
.status-blue .icon-indicator,
.incident-history .impact-maintenance,
.components-container .component-inner-container.status-blue .component-status,
.components-container .component-inner-container.status-blue .icon-indicator {
color:#0366d6;
}
.layout-content.status.status-index .unresolved-incident.impact-maintenance .updates,
.layout-content.status.status-index .scheduled-incidents-container {
border-color:#0366d6;
}
/* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */
.layout-content.status.status-index .page-status.status-none {
background-color:#28a745;
}
.layout-content.status-index .components-statuses .component-container.status-green:after,
.status-green .icon-indicator,
.components-container .component-inner-container.status-green .component-status,
.components-container .component-inner-container.status-green .icon-indicator {
color:#28a745;
}
/* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */
a,
a:hover,
.layout-content.status-index .page-footer span a:hover,
.layout-content.status-index .timeframes-container .timeframe:not(.active):hover,
.layout-content.status-incident .subheader a:hover {
color:#0366d6;
}
.flat-button,
.masthead .updates-dropdown-container .show-updates-dropdown,
.layout-content.status-full-history .show-filter.open {
background-color:#0366d6;
}
/* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */
.components-section .components-uptime-link {
color: #6a737d;
}
.layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item {
color: #6a737d;
opacity: 1;
}
.layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light {
color: #6a737d;
opacity: 1;
}
.layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer {
background: #6a737d;
opacity: 1;
}
</style>
<!-- custom css -->
<link rel="stylesheet" type="text/css" href="//dka575ofm4ao0.cloudfront.net/page_display_customizations-custom_css_externals/36313/external20250131-40-1vrwy22.css">
<!-- polyfills -->
<script crossorigin="anonymous" src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js"></script>
<!-- Le HTML5 shim -->
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- injection for static -->
</head>
<body class="status index status-none">
<div class="layout-content status status-index starter">
<div class="custom-header-container">
<script>
var meta = document.createElement('meta');
meta.setAttribute('name', 'ha-url');
meta.setAttribute('content', 'https://collector.githubapp.com/statuspage-views/collect');
document.head.appendChild(meta);
</script>
<script async onload="initAnalytics()" src="https://analytics.githubassets.com/hydro-client.min.js"></script>
<script>
function initAnalytics() {
if (!window._ha) {
return
}
// Send general pageview
window._ha.sendPageView()
// If on homepage, send index page view
if (window.location.pathname === '/' &&
document.referrer !== (document.location.origin + document.location.pathname)) {
// Create new instance for home page views exclusively
let indexHa = Object.create(window._ha);
indexHa.options = { ...window._ha.options }
indexHa.options.collectorUrl = 'https://collector.githubapp.com/statuspage/collect';
indexHa.sendPageView();
}
}
</script>
<div class="header d-md-flex flex-md-justify-between flex-md-items-center px-4 py-3 text-center text-md-left bg-white box-shadow-large">
<a href="/" class="text-gray-dark" aria-label="GitHub Octicon logo"><svg height="32" class="octicon octicon-mark-github d-block mx-auto" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true" role="img"><title>GitHub Octicon logo</title><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a>
<nav class="f4 list-style-none py-2 mt-2 mt-md-0">
<a class="mr-3 mr-lg-4 py-2" href="https://help.github.com">Help</a>
<a class="mr-3 mr-lg-4 py-2" href="https://github.community">Community</a>
<a class="mr-3 py-2 text-gray " href="/">Status</a>
</nav>
<nav class="f4 list-style-none py-2 text-md-right">
<a class="py-2" href="https://github.com">GitHub.com</a>
<div class="d-inline py-2 ml-3 ml-lg-4">
<div id="replace-with-subscribe"></div>
</div>
</nav>
</div>
<img src="https://user-images.githubusercontent.com/19292210/60553863-044dd200-9cea-11e9-987e-7db84449f215.png" class="illo-desktop-header" style="display: none;" alt="GitHub header">
<img src="https://user-images.githubusercontent.com/19292210/60553865-044dd200-9cea-11e9-859c-d6f266e2f01f.png" class="illo-mobile-header" alt="GitHub header">
<div class="updates-dropdown-container" data-js-hook="updates-dropdown-container">
<a href="#" data-js-hook="show-updates-dropdown" id="show-updates-dropdown" class="show-updates-dropdown" aria-label="Subscribe to updates" aria-expanded="false" aria-haspopup="dialog" role="button">
</a>
<!-- Accessibility guidelines for tabs: https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html -->
<div class="updates-dropdown" data-js-hook="updates-dropdown" id="updates-dropdown" style="display:none">
<div class="updates-dropdown-nav nav-items-8" role="tablist" aria-label="Subscribe to updates">
<a href="#updates-dropdown-email" aria-controls="updates-dropdown-email" aria-label="Subscribe via email" role="tab" aria-selected="true" id="updates-dropdown-email-btn">
<span class="icon-container email">
</a>
<a href="#updates-dropdown-sms" aria-controls="updates-dropdown-sms" aria-label="Subscribe via SMS" role="tab" id="updates-dropdown-sms-btn">
<span class="icon-container sms">
</a>
<a href="#updates-dropdown-slack" aria-controls="updates-dropdown-slack" aria-label="Subscribe via slack" role="tab" id="updates-dropdown-slack-btn">
<span class="icon-container slack">
</a>
<a href="#updates-dropdown-webhook" aria-controls="updates-dropdown-webhook" aria-label="Subscribe via webhook" role="tab" id="updates-dropdown-webhook-btn">
<span class="icon-container webhook">
</a>
<a href="#updates-dropdown-twitter" aria-controls="updates-dropdown-twitter" aria-label="Subscribe via twitter" role="tab" id="updates-dropdown-twitter-btn">
<span class="icon-container twitter">
</a>
<a href="#updates-dropdown-support" aria-controls="updates-dropdown-support" aria-label="Contact support" role="tab" id="updates-dropdown-support-btn">
<span class="icon-container support">
</a>
<a href="#updates-dropdown-atom" aria-controls="updates-dropdown-atom" aria-label="Subscribe via RSS" role="tab" id="updates-dropdown-atom-btn">
<span class="icon-container rss">
</a>
<button data-js-hook="updates-dropdown-close" aria-label="Close subscribe form" id="updates-dropdown-close-btn">
x
</button>
</div>
<div class="updates-dropdown-sections-container">
<div class="updates-dropdown-section email" id="updates-dropdown-email" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-email-btn">
<div class="directions">
Get email notifications whenever GitHub <strong>creates</strong>, <strong>updates</strong> or <strong>resolves</strong> an incident.
</div>
<form id="subscribe-form-email" action="/subscriptions/new-email" accept-charset="UTF-8" data-remote="true" method="post">
<input type="hidden" name="email_otp_verify_flow" id="email_otp_verify_flow" value="false" autocomplete="off" />
<!-- make sure not to put cookie values in here since this gets cached -->
<label for="email">Email address:</label>
<input name="email" id="email" type="text" class="full-width" data-js-hook="email-notification-field" autocomplete="email">
<input name="email_otp_auth_token" type='hidden' id="email-otp-token-field">
<div class="opt-container-section" id="email-otp-container", style="display:none" >
<label for="email-otp">Enter OTP:</label>
<input name="otp" id="email-otp" type="text" value="" class="prepend full-width">
<p id="email-otp-timer">Resend OTP in: <span id="email-otp-countdown"></span> seconds </p>
<p id="resend-email-otp">
Didn't receive the OTP?
<a href="#" id="resend-email-otp-btn" >Resend OTP </a>
</p>
</div>
<input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" />
<input type="submit" value="Subscribe via Email" class="flat-button full-width g-recaptcha" id="subscribe-btn-email" data-disabled-text="Subscribing..." data-sitekey=6LdTS8AUAAAAAOIbCKoCAP4LQku1olYGrywPTaZz data-callback="submitNewEmailSubscriber" data-error-callback="emailSubscriberCaptchaError" >
<div class="terms_and_privacy_information bottom small"><div class="privacy_policy_information small">By subscribing you agree to our <a target="_blank" rel="noopener" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div>
</form> </div>
<div class="updates-dropdown-section phone" id="updates-dropdown-sms" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-sms-btn">
<div class="directions">
Get text message notifications whenever GitHub <strong>creates</strong> or <strong>resolves</strong> an incident.
</div>
<form id="subscribe-form-sms" action="/subscriptions/new-sms" accept-charset="UTF-8" data-remote="true" method="post">
<input type="hidden" name="otp_verify_flow" id="otp_verify_flow" value="false" autocomplete="off" />
<input type="hidden" name="subscriber_code" id="subscriber_code" value="" autocomplete="off" />
<div class="control-group">
<div class="controls externalities-sms-container">
<!-- make sure not to put cookie values in here since this gets cached -->
<label for="phone-country">Country code:</label>
<div id="phone-number-country-code" class="phone-country-wrapper"
data-otp-enabled="false">
<select name="phone_country" id="phone-country" data-js-hook="phone-country" class="phone-country"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option>
<option value="al" data-otp-enabled="false" >Albania (+355)</option>
<option value="dz" data-otp-enabled="false" >Algeria (+213)</option>
<option value="as" data-otp-enabled="false" >American Samoa (+1)</option>
<option value="ad" data-otp-enabled="false" >Andorra (+376)</option>
<option value="ao" data-otp-enabled="false" >Angola (+244)</option>
<option value="ai" data-otp-enabled="false" >Anguilla (+1)</option>
<option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option>
<option value="ar" data-otp-enabled="false" >Argentina (+54)</option>
<option value="am" data-otp-enabled="false" >Armenia (+374)</option>
<option value="aw" data-otp-enabled="false" >Aruba (+297)</option>
<option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option>
<option value="at" data-otp-enabled="false" >Austria (+43)</option>
<option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option>
<option value="bs" data-otp-enabled="false" >Bahamas (+1)</option>
<option value="bh" data-otp-enabled="false" >Bahrain (+973)</option>
<option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option>
<option value="bb" data-otp-enabled="false" >Barbados (+1)</option>
<option value="by" data-otp-enabled="false" >Belarus (+375)</option>
<option value="be" data-otp-enabled="false" >Belgium (+32)</option>
<option value="bz" data-otp-enabled="false" >Belize (+501)</option>
<option value="bj" data-otp-enabled="false" >Benin (+229)</option>
<option value="bm" data-otp-enabled="false" >Bermuda (+1)</option>
<option value="bo" data-otp-enabled="false" >Bolivia (+591)</option>
<option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option>
<option value="bw" data-otp-enabled="false" >Botswana (+267)</option>
<option value="br" data-otp-enabled="false" >Brazil (+55)</option>
<option value="bn" data-otp-enabled="false" >Brunei (+673)</option>
<option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option>
<option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option>
<option value="bi" data-otp-enabled="false" >Burundi (+257)</option>
<option value="kh" data-otp-enabled="false" >Cambodia (+855)</option>
<option value="cm" data-otp-enabled="false" >Cameroon (+237)</option>
<option value="ca" data-otp-enabled="false" >Canada (+1)</option>
<option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option>
<option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option>
<option value="cf" data-otp-enabled="false" >Central Africa (+236)</option>
<option value="td" data-otp-enabled="false" >Chad (+235)</option>
<option value="cl" data-otp-enabled="false" >Chile (+56)</option>
<option value="cn" data-otp-enabled="false" >China (+86)</option>
<option value="co" data-otp-enabled="false" >Colombia (+57)</option>
<option value="km" data-otp-enabled="false" >Comoros (+269)</option>
<option value="cg" data-otp-enabled="false" >Congo (+242)</option>
<option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option>
<option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option>
<option value="hr" data-otp-enabled="false" >Croatia (+385)</option>
<option value="cy" data-otp-enabled="false" >Cyprus (+357)</option>
<option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option>
<option value="dk" data-otp-enabled="false" >Denmark (+45)</option>
<option value="dj" data-otp-enabled="false" >Djibouti (+253)</option>
<option value="dm" data-otp-enabled="false" >Dominica (+1)</option>
<option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option>
<option value="eg" data-otp-enabled="false" >Egypt (+20)</option>
<option value="sv" data-otp-enabled="false" >El Salvador (+503)</option>
<option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option>
<option value="ee" data-otp-enabled="false" >Estonia (+372)</option>
<option value="et" data-otp-enabled="false" >Ethiopia (+251)</option>
<option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option>
<option value="fj" data-otp-enabled="false" >Fiji (+679)</option>
<option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option>
<option value="fr" data-otp-enabled="false" >France (+33)</option>
<option value="gf" data-otp-enabled="false" >French Guiana (+594)</option>
<option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option>
<option value="ga" data-otp-enabled="false" >Gabon (+241)</option>
<option value="gm" data-otp-enabled="false" >Gambia (+220)</option>
<option value="ge" data-otp-enabled="false" >Georgia (+995)</option>
<option value="de" data-otp-enabled="false" >Germany (+49)</option>
<option value="gh" data-otp-enabled="false" >Ghana (+233)</option>
<option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option>
<option value="gr" data-otp-enabled="false" >Greece (+30)</option>
<option value="gl" data-otp-enabled="false" >Greenland (+299)</option>
<option value="gd" data-otp-enabled="false" >Grenada (+1)</option>
<option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option>
<option value="gu" data-otp-enabled="false" >Guam (+1)</option>
<option value="gt" data-otp-enabled="false" >Guatemala (+502)</option>
<option value="gn" data-otp-enabled="false" >Guinea (+224)</option>
<option value="gy" data-otp-enabled="false" >Guyana (+592)</option>
<option value="ht" data-otp-enabled="false" >Haiti (+509)</option>
<option value="hn" data-otp-enabled="false" >Honduras (+504)</option>
<option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option>
<option value="hu" data-otp-enabled="false" >Hungary (+36)</option>
<option value="is" data-otp-enabled="false" >Iceland (+354)</option>
<option value="in" data-otp-enabled="false" >India (+91)</option>
<option value="id" data-otp-enabled="false" >Indonesia (+62)</option>
<option value="iq" data-otp-enabled="false" >Iraq (+964)</option>
<option value="ie" data-otp-enabled="false" >Ireland (+353)</option>
<option value="il" data-otp-enabled="false" >Israel (+972)</option>
<option value="it" data-otp-enabled="false" >Italy (+39)</option>
<option value="jm" data-otp-enabled="false" >Jamaica (+1)</option>
<option value="jp" data-otp-enabled="false" >Japan (+81)</option>
<option value="jo" data-otp-enabled="false" >Jordan (+962)</option>
<option value="ke" data-otp-enabled="false" >Kenya (+254)</option>
<option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option>
<option value="xk" data-otp-enabled="false" >Kosovo (+383)</option>
<option value="kw" data-otp-enabled="false" >Kuwait (+965)</option>
<option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option>
<option value="la" data-otp-enabled="false" >Laos (+856)</option>
<option value="lv" data-otp-enabled="false" >Latvia (+371)</option>
<option value="lb" data-otp-enabled="false" >Lebanon (+961)</option>
<option value="ls" data-otp-enabled="false" >Lesotho (+266)</option>
<option value="lr" data-otp-enabled="false" >Liberia (+231)</option>
<option value="ly" data-otp-enabled="false" >Libya (+218)</option>
<option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option>
<option value="lt" data-otp-enabled="false" >Lithuania (+370)</option>
<option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option>
<option value="mo" data-otp-enabled="false" >Macao (+853)</option>
<option value="mk" data-otp-enabled="false" >Macedonia (+389)</option>
<option value="mg" data-otp-enabled="false" >Madagascar (+261)</option>
<option value="mw" data-otp-enabled="false" >Malawi (+265)</option>
<option value="my" data-otp-enabled="false" >Malaysia (+60)</option>
<option value="mv" data-otp-enabled="false" >Maldives (+960)</option>
<option value="ml" data-otp-enabled="false" >Mali (+223)</option>
<option value="mt" data-otp-enabled="false" >Malta (+356)</option>
<option value="mq" data-otp-enabled="false" >Martinique (+596)</option>
<option value="mr" data-otp-enabled="false" >Mauritania (+222)</option>
<option value="mu" data-otp-enabled="false" >Mauritius (+230)</option>
<option value="mx" data-otp-enabled="false" >Mexico (+52)</option>
<option value="mc" data-otp-enabled="false" >Monaco (+377)</option>
<option value="mn" data-otp-enabled="false" >Mongolia (+976)</option>
<option value="me" data-otp-enabled="false" >Montenegro (+382)</option>
<option value="ms" data-otp-enabled="false" >Montserrat (+1)</option>
<option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option>
<option value="mz" data-otp-enabled="false" >Mozambique (+258)</option>
<option value="na" data-otp-enabled="false" >Namibia (+264)</option>
<option value="np" data-otp-enabled="false" >Nepal (+977)</option>
<option value="nl" data-otp-enabled="false" >Netherlands (+31)</option>
<option value="nz" data-otp-enabled="false" >New Zealand (+64)</option>
<option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option>
<option value="ne" data-otp-enabled="false" >Niger (+227)</option>
<option value="ng" data-otp-enabled="false" >Nigeria (+234)</option>
<option value="no" data-otp-enabled="false" >Norway (+47)</option>
<option value="om" data-otp-enabled="false" >Oman (+968)</option>
<option value="pk" data-otp-enabled="false" >Pakistan (+92)</option>
<option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option>
<option value="pa" data-otp-enabled="false" >Panama (+507)</option>
<option value="py" data-otp-enabled="false" >Paraguay (+595)</option>
<option value="pe" data-otp-enabled="false" >Peru (+51)</option>
<option value="ph" data-otp-enabled="false" >Philippines (+63)</option>
<option value="pl" data-otp-enabled="false" >Poland (+48)</option>
<option value="pt" data-otp-enabled="false" >Portugal (+351)</option>
<option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option>
<option value="qa" data-otp-enabled="false" >Qatar (+974)</option>
<option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option>
<option value="ro" data-otp-enabled="false" >Romania (+40)</option>
<option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option>
<option value="rw" data-otp-enabled="false" >Rwanda (+250)</option>
<option value="ws" data-otp-enabled="false" >Samoa (+685)</option>
<option value="sm" data-otp-enabled="false" >San Marino (+378)</option>
<option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option>
<option value="sn" data-otp-enabled="false" >Senegal (+221)</option>
<option value="rs" data-otp-enabled="false" >Serbia (+381)</option>
<option value="sc" data-otp-enabled="false" >Seychelles (+248)</option>
<option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option>
<option value="sg" data-otp-enabled="false" >Singapore (+65)</option>
<option value="sk" data-otp-enabled="false" >Slovakia (+421)</option>
<option value="si" data-otp-enabled="false" >Slovenia (+386)</option>
<option value="za" data-otp-enabled="false" >South Africa (+27)</option>
<option value="es" data-otp-enabled="false" >Spain (+34)</option>
<option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option>
<option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option>
<option value="lc" data-otp-enabled="false" >St Lucia (+1)</option>
<option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option>
<option value="sd" data-otp-enabled="false" >Sudan (+249)</option>
<option value="sr" data-otp-enabled="false" >Suriname (+597)</option>
<option value="sz" data-otp-enabled="false" >Swaziland (+268)</option>
<option value="se" data-otp-enabled="false" >Sweden (+46)</option>
<option value="ch" data-otp-enabled="false" >Switzerland (+41)</option>
<option value="tw" data-otp-enabled="false" >Taiwan (+886)</option>
<option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option>
<option value="tz" data-otp-enabled="false" >Tanzania (+255)</option>
<option value="th" data-otp-enabled="false" >Thailand (+66)</option>
<option value="tg" data-otp-enabled="false" >Togo (+228)</option>
<option value="to" data-otp-enabled="false" >Tonga (+676)</option>
<option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option>
<option value="tn" data-otp-enabled="false" >Tunisia (+216)</option>
<option value="tr" data-otp-enabled="false" >Turkey (+90)</option>
<option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option>
<option value="ug" data-otp-enabled="false" >Uganda (+256)</option>
<option value="ua" data-otp-enabled="false" >Ukraine (+380)</option>
<option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option>
<option value="gb" data-otp-enabled="false" >United Kingdom (+44)</option>
<option value="us" data-otp-enabled="false" selected>United States (+1)</option>
<option value="uy" data-otp-enabled="false" >Uruguay (+598)</option>
<option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option>
<option value="ve" data-otp-enabled="false" >Venezuela (+58)</option>
<option value="vn" data-otp-enabled="false" >Vietnam (+84)</option>
<option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option>
<option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option>
<option value="ye" data-otp-enabled="false" >Yemen (+967)</option>
<option value="zm" data-otp-enabled="false" >Zambia (+260)</option>
<option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select>
</div>
<label for="phone-number">Phone number:</label>
<input name="phone_number" id="phone-number" type="text" class="prepend full-width" data-js-hook="sms-notification-field">
<div class="sms-atl-error" id="sms-atl-error"></div>
<div class="clearfix"></div>
<div class="opt-container-section" id="otp-container" style="display:none">
<a href="#" id="btn-subcriber-change-number">Change number</a>
<label for="otp">Enter OTP:</label>
<input name="otp" id="otp" type="text" class="prepend full-width">
<p id="timer">Resend OTP in: <span id="countdown">30</span> seconds </p>
<p id="resend">
Didn't receive the OTP?
<a href="#" id="resend-otp-btn" >Resend OTP </a>
</p>
</div>
</div>
</div>
<input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" />
<input type="submit" value="Subscribe via Text Message" class="flat-button full-width g-recaptcha" id="subscribe-btn-sms" data-disabled-text="Subscribing..." data-sitekey=6LcH-b0UAAAAACVQtMb14LBhflMA9y0Nmu7l_W6d data-callback="submitNewSmsSubscriber" data-error-callback="smsSubscriberCaptchaError">
<div class="terms_and_privacy_information bottom small">Message and data rates may apply. By subscribing you agree to our <a target="_blank" rel="noopener" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>, the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div>
</form> </div>
<div class="updates-dropdown-section slack" id="updates-dropdown-slack" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-slack-btn">
<div class="directions">
Get incident updates and maintenance status messages in Slack.
</div>
<a value="Subscribe via Slack" class="flat-button full-width" id="subscribe-btn-slack" data-disabled-text="Subscribing..." data-revert-on-success="true" style="margin-top:.75rem" href="https://subscriptions.statuspage.io/slack_authentication/kickoff?page_code=kctbh9vrtdwd">Subscribe via Slack</a>
<div class="terms_and_privacy_information bottom small">By subscribing you acknowledge our <a target="_blank" rel="noopener" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>. In addition, you agree to the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/cloud-terms-of-service">Cloud Terms of Service</a> and acknowledge Atlassian's <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>.</div>
</div>
<div class="updates-dropdown-section webhook" id="updates-dropdown-webhook" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-webhook-btn">
<div class="directions">
Get webhook notifications whenever GitHub <strong>creates</strong> an incident, <strong>updates</strong> an incident, <strong>resolves</strong> an incident or <strong>changes</strong> a component status.
</div>
<form id="subscribe-form-webhook" action="/subscriptions/webhook.json" accept-charset="UTF-8" data-remote="true" method="post">
<div class="control-group">
<div class="controls">
<label for="endpoint-webhooks">Webhook URL:</label>
<input type="text" name="endpoint" id="endpoint-webhooks" data-js-hook="endpoint" class="full-width" aria-describedby="url-help-block" />
<p class="help-block" id="url-help-block">The URL we should send the webhooks to</p>
</div>
</div>
<div class="control-group">
<div class="controls">
<label for="email-webhooks">Email address:</label>
<input type="text" name="email" id="email-webhooks" data-js-hook="email" class="full-width" aria-describedby="email-help-block" />
<p class="help-block" id="email-help-block">We'll send you email if your endpoint fails</p>
</div>
</div>
<input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" />
<input type="submit" value=Subscribe To Notifications class="flat-button full-width g-recaptcha" id="subscribe-btn-webhook" data-disabled-text="Subscribing..." data-sitekey=6LcQ-b0UAAAAAJjfdwO_-ozGC-CzWDj4Pm1kJ2Ah data-callback="submitNewWebhookSubscriber" data-error-callback="webhookSubscriberCaptchaError">
<div class="terms_and_privacy_information bottom small"><div class="privacy_policy_information small">By subscribing you agree to our <a target="_blank" rel="noopener" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div>
</form> </div>
<div class="updates-dropdown-section twitter" id="updates-dropdown-twitter" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-twitter-btn">
<a href="https://twitter.com/githubstatus" class="twitter-follow-button" data-show-count="false" data-show-screen-name="true" data-width="59px">Follow @githubstatus</a>
or
<a href="https://twitter.com/githubstatus" target="_blank">view our profile</a>.
<style>
.twitter-follow-button {
margin-bottom: -6px;
}
</style>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
</div>
<div class="updates-dropdown-section support" id="updates-dropdown-support" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-support-btn">
Visit our <a target="_blank" href="https://github.com/support">support site</a>.
</div>
<div class="updates-dropdown-section atom" id="updates-dropdown-atom" role="tabpanel" aria-labelledby="updates-dropdown-atom-btn">
Get the <a href="https://www.githubstatus.com/history.atom" target="_blank">Atom Feed</a> or <a href="https://www.githubstatus.com/history.rss" target="_blank">RSS Feed</a>.
</div>
</div>
</div>
</div>
<script>
$(function () {
const phoneNumberInput = $('#phone-number');
const errorDiv = $('#sms-atl-error')
if(errorDiv.length){
function checkSelectedCountry() {
const selectedCountry = $('#phone-country').val();
const isOtpEnabled = $('#phone-number-country-code').attr('data-otp-enabled') === 'true';
const form = document.getElementById('subscribe-form-sms');
form.action = '/subscriptions/new-sms';
const isOtpFlow = document.getElementById('otp_verify_flow');
document.getElementById('otp-container').style.display = "none";
if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag
phoneNumberInput.prop('disabled', true);
errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`);
} else {
phoneNumberInput.prop('readonly', false);
errorDiv.html('');
if(false){
if(isOtpEnabled){
document.getElementById('subscribe-btn-sms').value = "Send OTP";
}
else {
isOtpFlow.value = false;
document.getElementById('subscribe-btn-sms').value = "Subscribe via Text Message";
}
}
}
}
$('#phone-country').on('change', checkSelectedCountry);
checkSelectedCountry();
}
});
document.addEventListener('DOMContentLoaded', function() {
const dropdown = document.querySelector('#phone-number-country-code .phone-country');
if (dropdown){
const wrapperDiv = document.getElementById('phone-number-country-code');
const selectedOption = dropdown.options[dropdown.selectedIndex];
const otpEnabled = selectedOption.getAttribute('data-otp-enabled');
wrapperDiv.setAttribute('data-otp-enabled', otpEnabled);
dropdown.addEventListener('change', function() {
const selectedOption = dropdown.options[dropdown.selectedIndex];
const otpEnabled = selectedOption.getAttribute('data-otp-enabled');
wrapperDiv.setAttribute('data-otp-enabled', otpEnabled);
});
}
});
var countdownTimer;
var resendBtn = document.getElementById('resend');
var timer = document.getElementById('timer');
var form = document.getElementById('subscribe-form-sms');
var RESEND_TIMER = 30;
$(function() {
$('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){
const form = this;
const action = form.getAttribute('action');
if (data.type === 'success' && data.otp_flow === true) {
document.getElementById('subscriber_code').value = data.subscriber_code
document.getElementById('otp-container').style.display = "block";
$('#phone-number').prop('readonly', true);
var display = document.getElementById('countdown');
disableResend();
startTimer(RESEND_TIMER, display)
document.getElementById('subscribe-btn-sms').value = "Verify OTP and Subscribe";
document.getElementById('otp_verify_flow').value = true;
form.action = '/subscriptions/verify-otp';
} else if (data.type === 'success' && action.includes('verify')){
document.getElementById('otp-container').style.display = "none";
$('#phone-number').val('').prop('readonly', false);
$('#otp').val('');
document.getElementById('subscribe-btn-sms').value = "Send OTP";
document.getElementById('otp_verify_flow').value = false;
form.action = '/subscriptions/new-sms';
SP.currentPage.updatesDropdown.hide();
}
});
$("#btn-subcriber-change-number").on('click', () => {
document.getElementById('otp-container').style.display = "none";
$('#phone-number').prop('readonly', false);
document.getElementById('subscribe-btn-sms').value = "Send OTP";
form.action = '/subscriptions/new-sms';
return false
})
$('#resend-otp-btn').on('click', function(e) {
e.preventDefault();
let phoneNumber = $('#phone-number').val();
let countryCode = $('.phone-country').val();
$.ajax({
type: 'POST',
url: "/subscriptions/new-sms",
data: {
phone_number: phoneNumber,
phone_country: countryCode,
type: 'resend'
},
}).done(function(data) {
var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {};
HRB.utils.notify(data.text, messageOptions);
var display = document.getElementById('countdown');
disableResend();
timer.style.display = "none"
if (data.type === 'success') {
startTimer(RESEND_TIMER, display);
}
})
});
})
function startTimer(duration, display){
var timer = duration, seconds;
clearInterval(countdownTimer);
countdownTimer = setInterval(function () {
seconds = parseInt(timer % 60, 10);
display.textContent = seconds;
if(--timer < 0){
enableResend();
clearInterval(countdownTimer);
}
}, 1000);
disableResend();
}
function enableResend(){
resendBtn.style.display = "block";
timer.style.display = "none"
}
function disableResend(){
resendBtn.style.display = "none";
timer.style.display = "block"
}
$(function() {
$('#subscribe-form-email').on('submit', function() {
var tokenField = document.getElementById('email-otp-token-field');
let page_code = "kctbh9vrtdwd"
let key = keyForEmailOtpToken($('#email').val(), page_code);
tokenField.value = localStorage.getItem(key);
});
});
var emailOtpCountdownTimer;
var emailOtpResendBtn = document.getElementById('resend-email-otp');
var emailOtpTimer = document.getElementById('email-otp-timer');
var emailOtpForm = document.getElementById('subscribe-form-email');
var EMAIL_OTP_RESEND_TIMER = 600;
$(function() {
$('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){
const form = this;
const action = form.getAttribute('action');
if (data.type === 'success' && data.email_otp_verify_flow === true) {
document.getElementById('email-otp-container').style.display = "block";
var display = document.getElementById('email-otp-countdown');
display.textContent = EMAIL_OTP_RESEND_TIMER;
disableEmailOtpResend();
startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display)
document.getElementById('subscribe-btn-email').value = "Verify OTP and Subscribe";
document.getElementById('email_otp_verify_flow').value = true;
form.action = '/subscriptions/verify-email-otp';
} else if (data.type === 'success' && action.includes('verify')){
let email = $('#email')
let page_code = "kctbh9vrtdwd"
let key = keyForEmailOtpToken(email.val(), page_code);
localStorage.setItem(key, data.email_otp_auth_token);
document.getElementById('email-otp-container').style.display = "none";
email.val('').prop('readonly', false);
$('#email-otp').val('');
document.getElementById('subscribe-btn-email').value = "Send OTP";
document.getElementById('email_otp_verify_flow').value = false;
form.action = '/subscriptions/new-email';
SP.currentPage.updatesDropdown.hide();
}
});
$('#resend-email-otp-btn').on('click', function(e) {
e.preventDefault();
let email = $('#email').val();
$.ajax({
type: 'POST',
url: "/subscriptions/new-email",
data: {
email: email
},
}).done(function(data) {
var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {};
HRB.utils.notify(data.text, messageOptions);
if (data.type === 'success') {
var display = document.getElementById('email-otp-countdown');
display.textContent = EMAIL_OTP_RESEND_TIMER;
disableEmailOtpResend();
emailOtpTimer.style.display = "none"
startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display);
}
})
});
})
function startEmailOtpTimer(duration, display){
var timer = duration, seconds;
clearInterval(emailOtpCountdownTimer);
emailOtpCountdownTimer = setInterval(function () {
seconds = parseInt(timer, 10);
display.textContent = seconds;
if(--timer < 0){
enableEmailOtpResend();
clearInterval(emailOtpCountdownTimer);
}
}, 1000);
disableEmailOtpResend();
}
function enableEmailOtpResend(){
emailOtpResendBtn.style.display = "block";
emailOtpTimer.style.display = "none"
}
function disableEmailOtpResend(){
emailOtpResendBtn.style.display = "none";
emailOtpTimer.style.display = "block"
}
function keyForEmailOtpToken(email, pageCode) {
return email + '|' + pageCode+ '|SUBSCRIBE_VIA_EMAIL';
}
</script>
</div>
<div class="container">
<div class="page-status status-none">
<span class="status font-large">
All Systems Operational
</span>
<span class="last-updated-stamp font-small"></span>
</div>
<div class="text-section">
<h4 class="font-largest">
<a id="about-this-site" href="#about-this-site" class="no-link">About This Site</a>
</h4>
<p class="color-secondary font-regular">
For the status of GitHub Enterprise Cloud - EU, please visit: <a href="https://eu.githubstatus.com">eu.githubstatus.com</a>
<br>For the status of GitHub Enterprise Cloud - Australia, please visit: <a href="https://au.githubstatus.com">au.githubstatus.com</a>
</p>
</div>
<div class="components-section font-regular">
<div class="components-container one-column">
<div class="component-container border-color">
<div data-component-id="8l4ygp009s5s"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Git Operations
</span>
<span class="tooltip-base tool" title="Performance of git clones, pulls, pushes, and associated operations">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="4230lsnqdsld"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Webhooks
</span>
<span class="tooltip-base tool" title="Real time HTTP callbacks of user-generated and system events">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="0l2p9nhqnxpd"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Visit www.githubstatus.com for more information
</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="brv1bkgrwx7q"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
API Requests
</span>
<span class="tooltip-base tool" title="Requests for GitHub APIs">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="kr09ddfgbfsf"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Issues
</span>
<span class="tooltip-base tool" title="Requests for Issues on GitHub.com">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="hhtssxt0f5v2"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Pull Requests
</span>
<span class="tooltip-base tool" title="Requests for Pull Requests on GitHub.com">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="br0l2tvcx85d"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Actions
</span>
<span class="tooltip-base tool" title="Workflows, Compute and Orchestration for GitHub Actions">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="st3j38cctv9l"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Packages
</span>
<span class="tooltip-base tool" title="API requests and webhook delivery for GitHub Packages">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="vg70hn9s2tyj"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Pages
</span>
<span class="tooltip-base tool" title="Frontend application and API servers for Pages builds">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="h2ftsgbw7kmk"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Codespaces
</span>
<span class="tooltip-base tool" title="Orchestration and Compute for GitHub Codespaces">?</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
<div class="component-container border-color">
<div data-component-id="pjmpxvq2cmr2"
class="component-inner-container status-green "
data-component-status="operational"
data-js-hook="">
<span class="name">
Copilot
</span>
<span
class="component-status "
title=""
>
Operational
</span>
<span class="tool icon-indicator fa fa-check" title="Operational"></span>
</div>
</div>
</div>
<div class="component-statuses-legend font-small">
<div class="legend-item status-green">
<span class="icon-indicator fa fa-check"></span>
Operational
</div>
<div class="legend-item status-yellow">
<span class="icon-indicator fa fa-minus-square"></span>
Degraded Performance
</div>
<div class="legend-item status-orange">
<span class="icon-indicator fa fa-exclamation-triangle"></span>
Partial Outage
</div>
<div class="breaker"></div>
<div class="legend-item status-red">
<span class="icon-indicator fa fa-times"></span>
Major Outage
</div>
<div class="legend-item status-blue">
<span class="icon-indicator fa fa-wrench"></span>
Maintenance
</div>
</div>
</div>
<div class="incidents-list format-expanded">
<a class="font-largest no-link" id="past-incidents" href="#past-incidents">Past Incidents</a>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Feb <var data-var="date"> 7</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported today.</p>
</div>
<div class="status-day font-regular ">
<div class="date border-color font-large">Feb <var data-var="date"> 6</var>, <var data-var="year">2025</var></div>
<div class="incident-container">
<div class="incident-title impact-minor font-large">
<a class="whitespace-pre-wrap" href="/incidents/yhn3m0yqdxmc">Incident with GIT LFS and Other Requests</a>
</div>
<div class="updates-container">
<!-- postmortem -->
<!-- incident updates -->
<div class="update font-regular resolved">
<strong>Resolved</strong> -
<span class="whitespace-pre-wrap">This incident has been resolved.</span>
<br>
<small>
Feb <var data-var='date'> 6</var>, <var data-var='time'>11:13</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">This issue has been mitigated. We will continue to investigate root causes to ensure this does not reoccur.</span>
<br>
<small>
Feb <var data-var='date'> 6</var>, <var data-var='time'>11:13</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We have scaled out database resources and rolled back recent changes and are seeing signs of mitigation, but are monitoring to ensure complete recovery.</span>
<br>
<small>
Feb <var data-var='date'> 6</var>, <var data-var='time'>11:05</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We are attempting to scale databases to handle observed load spikes, as well as investigating other mitigation approaches.<br /><br />Customers may intermittently experience failures to fetch repositories with LFS, as well as increased latency and errors across the API.</span>
<br>
<small>
Feb <var data-var='date'> 6</var>, <var data-var='time'>10:29</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We are investigating failed Git LFS requests and potentially slow API requests.<br /><br />Customers may experience failures to fetch repositories with LFS.</span>
<br>
<small>
Feb <var data-var='date'> 6</var>, <var data-var='time'>09:52</var> UTC
</small>
</div>
<div class="update font-regular investigating">
<strong>Investigating</strong> -
<span class="whitespace-pre-wrap">We are investigating reports of degraded performance for API Requests</span>
<br>
<small>
Feb <var data-var='date'> 6</var>, <var data-var='time'>09:42</var> UTC
</small>
</div>
</div>
</div>
</div>
<div class="status-day font-regular ">
<div class="date border-color font-large">Feb <var data-var="date"> 5</var>, <var data-var="year">2025</var></div>
<div class="incident-container">
<div class="incident-title impact-minor font-large">
<a class="whitespace-pre-wrap" href="/incidents/4s0n40wj3l02">Actions Larger Runners Provisioning Delays</a>
</div>
<div class="updates-container">
<!-- postmortem -->
<!-- incident updates -->
<div class="update font-regular resolved">
<strong>Resolved</strong> -
<span class="whitespace-pre-wrap">This incident has been resolved.</span>
<br>
<small>
Feb <var data-var='date'> 5</var>, <var data-var='time'>11:44</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We have identified a configuration change that we believe may be related. We are working to mitigate.</span>
<br>
<small>
Feb <var data-var='date'> 5</var>, <var data-var='time'>11:17</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We are continuing investigation</span>
<br>
<small>
Feb <var data-var='date'> 5</var>, <var data-var='time'>10:33</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We continue to investigate and have determined this is limited to a subset of larger runner pools.</span>
<br>
<small>
Feb <var data-var='date'> 5</var>, <var data-var='time'>09:56</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We are investigating an incident where Actions larger runners are stuck in provisioning for some customers</span>
<br>
<small>
Feb <var data-var='date'> 5</var>, <var data-var='time'>09:21</var> UTC
</small>
</div>
<div class="update font-regular investigating">
<strong>Investigating</strong> -
<span class="whitespace-pre-wrap">We are currently investigating this issue.</span>
<br>
<small>
Feb <var data-var='date'> 5</var>, <var data-var='time'>08:58</var> UTC
</small>
</div>
</div>
</div>
</div>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Feb <var data-var="date"> 4</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported.</p>
</div>
<div class="status-day font-regular ">
<div class="date border-color font-large">Feb <var data-var="date"> 3</var>, <var data-var="year">2025</var></div>
<div class="incident-container">
<div class="incident-title impact-major font-large">
<a class="whitespace-pre-wrap" href="/incidents/m8ntcjv1w4pr">[Retroactive] Incident with some GitHub services</a>
</div>
<div class="updates-container">
<!-- postmortem -->
<!-- incident updates -->
<div class="update font-regular resolved">
<strong>Resolved</strong> -
<span class="whitespace-pre-wrap">A component that imports external git repositories into GitHub had an incident that was caused by the improper internal configuration of a gem. We have since rolled back to a stable version, and all migrations are able to resume.</span>
<br>
<small>
Feb <var data-var='date'> 3</var>, <var data-var='time'>19:37</var> UTC
</small>
</div>
</div>
</div>
</div>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Feb <var data-var="date"> 2</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported.</p>
</div>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Feb <var data-var="date"> 1</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported.</p>
</div>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Jan <var data-var="date">31</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported.</p>
</div>
<div class="status-day font-regular ">
<div class="date border-color font-large">Jan <var data-var="date">30</var>, <var data-var="year">2025</var></div>
<div class="incident-container">
<div class="incident-title impact-major font-large">
<a class="whitespace-pre-wrap" href="/incidents/nm83zrdky73y">Incident with Pull Requests and Issues</a>
</div>
<div class="updates-container">
<!-- postmortem -->
<!-- incident updates -->
<div class="update font-regular resolved">
<strong>Resolved</strong> -
<span class="whitespace-pre-wrap">On January 30th, 2025 from 14:22 UTC to 14:48 UTC, web requests to GitHub.com experienced failures (at peak the error rate was 44%), with the average successful request taking over 3 seconds to complete.<br /><br />This outage was caused by a hardware failure in the caching layer that supports rate limiting. In addition, the impact was prolonged due to a lack of automated failover for the caching layer. A manual failover of the primary to trusted hardware was performed following recovery to ensure that the issue would not reoccur under similar circumstances.<br /><br />As a result of this incident, we will be moving to a high availability cache configuration and adding resilience to cache failures at this layer to ensure requests are able to be handled should similar circumstances happen in the future.</span>
<br>
<small>
Jan <var data-var='date'>30</var>, <var data-var='time'>15:39</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We have completed the fail over. Services are operating as normal.</span>
<br>
<small>
Jan <var data-var='date'>30</var>, <var data-var='time'>15:39</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We will be failing over one of our primary caching hosts to complete our mitigation of the problem. Users will experience some temporary service disruptions until that event is complete.</span>
<br>
<small>
Jan <var data-var='date'>30</var>, <var data-var='time'>15:29</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We are seeing recovery in our caching infrastructure. We are continuing to monitor</span>
<br>
<small>
Jan <var data-var='date'>30</var>, <var data-var='time'>14:58</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">Users may experience timeouts in various GitHub services. We have identified an issue with our caching infrastructure and are working to mitigate the issue</span>
<br>
<small>
Jan <var data-var='date'>30</var>, <var data-var='time'>14:46</var> UTC
</small>
</div>
<div class="update font-regular investigating">
<strong>Investigating</strong> -
<span class="whitespace-pre-wrap">We are investigating reports of degraded availability for Issues and Pull Requests</span>
<br>
<small>
Jan <var data-var='date'>30</var>, <var data-var='time'>14:29</var> UTC
</small>
</div>
</div>
</div>
</div>
<div class="status-day font-regular ">
<div class="date border-color font-large">Jan <var data-var="date">29</var>, <var data-var="year">2025</var></div>
<div class="incident-container">
<div class="incident-title impact-minor font-large">
<a class="whitespace-pre-wrap" href="/incidents/wg7n9ns64dsd">Disruption with some GitHub services</a>
</div>
<div class="updates-container">
<!-- postmortem -->
<!-- incident updates -->
<div class="update font-regular resolved">
<strong>Resolved</strong> -
<span class="whitespace-pre-wrap">This incident has been resolved.</span>
<br>
<small>
Jan <var data-var='date'>29</var>, <var data-var='time'>16:30</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We have pushed a fix and are seeing general recovery.</span>
<br>
<small>
Jan <var data-var='date'>29</var>, <var data-var='time'>16:29</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We're continuing to investigate an issue related to Copilot Chat on GitHub.com</span>
<br>
<small>
Jan <var data-var='date'>29</var>, <var data-var='time'>16:09</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We're continuing to investigate an issue related to Copilot Chat on GitHub.com</span>
<br>
<small>
Jan <var data-var='date'>29</var>, <var data-var='time'>15:37</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">We're seeing issues related to Copilot chat on GitHub.com</span>
<br>
<small>
Jan <var data-var='date'>29</var>, <var data-var='time'>15:04</var> UTC
</small>
</div>
<div class="update font-regular investigating">
<strong>Investigating</strong> -
<span class="whitespace-pre-wrap">We are currently investigating this issue.</span>
<br>
<small>
Jan <var data-var='date'>29</var>, <var data-var='time'>14:52</var> UTC
</small>
</div>
</div>
</div>
</div>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Jan <var data-var="date">28</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported.</p>
</div>
<div class="status-day font-regular ">
<div class="date border-color font-large">Jan <var data-var="date">27</var>, <var data-var="year">2025</var></div>
<div class="incident-container">
<div class="incident-title impact-minor font-large">
<a class="whitespace-pre-wrap" href="/incidents/r6j3fnl9j58q">Disruption with some GitHub services</a>
</div>
<div class="updates-container">
<!-- postmortem -->
<!-- incident updates -->
<div class="update font-regular resolved">
<strong>Resolved</strong> -
<span class="whitespace-pre-wrap">This incident has been resolved.</span>
<br>
<small>
Jan <var data-var='date'>27</var>, <var data-var='time'>23:41</var> UTC
</small>
</div>
<div class="update font-regular update">
<strong>Update</strong> -
<span class="whitespace-pre-wrap">Our Audit Log Streaming service is experiencing degradation but is experiencing no data outage.</span>
<br>
<small>
Jan <var data-var='date'>27</var>, <var data-var='time'>23:32</var> UTC
</small>
</div>
<div class="update font-regular investigating">
<strong>Investigating</strong> -
<span class="whitespace-pre-wrap">We are currently investigating this issue.</span>
<br>
<small>
Jan <var data-var='date'>27</var>, <var data-var='time'>23:32</var> UTC
</small>
</div>
</div>
</div>
</div>
<div class="status-day font-regular ">
<div class="date border-color font-large">Jan <var data-var="date">26</var>, <var data-var="year">2025</var></div>
<div class="incident-container">
<div class="incident-title impact-none font-large">
<a class="whitespace-pre-wrap" href="/incidents/7p05r5610bqd">Incident With Migration Service</a>
</div>
<div class="updates-container">
<!-- postmortem -->
<!-- incident updates -->
<div class="update font-regular resolved">
<strong>Resolved</strong> -
<span class="whitespace-pre-wrap">Between Sunday 20:50 UTC and Monday 15:20 UTC the Migrations service was unable to process migrations. This was due to a invalid infrastructure credential. <br /><br />We mitigated the issue by updating the credential internally.<br /><br />Mechanisms and automation will be implemented to detect and prevent this issue again in the future.</span>
<br>
<small>
Jan <var data-var='date'>26</var>, <var data-var='time'>21:00</var> UTC
</small>
</div>
</div>
</div>
</div>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Jan <var data-var="date">25</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported.</p>
</div>
<div class="status-day font-regular no-incidents">
<div class="date border-color font-large">Jan <var data-var="date">24</var>, <var data-var="year">2025</var></div>
<p class="color-secondary">No incidents reported.</p>
</div>
</div>
<div class="page-footer border-color font-small">
<a href="/history" class="history-footer-link"><span style="font-family:arial">←</span> Incident History</a>
<span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=www.githubstatus.com&utm_content=SP-notifications&utm_medium=powered-by&utm_source=inapp">Powered by Atlassian Statuspage</a></span>
</div>
</div>
<div class="custom-footer-container">
<div class="footer mt-6 border-top" role="contentinfo">
<img src="https://user-images.githubusercontent.com/19292210/60553864-044dd200-9cea-11e9-996a-a7a316ec3a35.png"
class="illo-mobile-footer" alt="GitHub footer">
<div class="container-lg p-responsive">
<div class="d-flex flex-wrap py-5 mb-5">
<section class="col-12 col-lg-4 mb-5">
<a href="https://github.com/" data-ga-click="Footer, go to GitHub, text:GitHub" class="text-gray-dark"
aria-label="GitHub text logo">
<svg height="32" class="octicon octicon-logo-github" viewBox="0 0 45 16" version="1.1" width="90"
aria-hidden="true" role="img">
<title>GitHub text logo</title>
<path fill-rule="evenodd"
d="M18.53 12.03h-.02c.009 0 .015.01.024.011h.006l-.01-.01zm.004.011c-.093.001-.327.05-.574.05-.78 0-1.05-.36-1.05-.83V8.13h1.59c.09 0 .16-.08.16-.19v-1.7c0-.09-.08-.17-.16-.17h-1.59V3.96c0-.08-.05-.13-.14-.13h-2.16c-.09 0-.14.05-.14.13v2.17s-1.09.27-1.16.28c-.08.02-.13.09-.13.17v1.36c0 .11.08.19.17.19h1.11v3.28c0 2.44 1.7 2.69 2.86 2.69.53 0 1.17-.17 1.27-.22.06-.02.09-.09.09-.16v-1.5a.177.177 0 0 0-.146-.18zm23.696-2.2c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25zm2.43-.16c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88zm-8.72-3.61h-2.1c-.11 0-.17.08-.17.19v5.44s-.55.39-1.3.39-.97-.34-.97-1.09V6.25c0-.09-.08-.17-.17-.17h-2.14c-.09 0-.17.08-.17.17v5.11c0 2.2 1.23 2.75 2.92 2.75 1.39 0 2.52-.77 2.52-.77s.05.39.08.45c.02.05.09.09.16.09h1.34c.11 0 .17-.08.17-.17l.02-7.47c0-.09-.08-.17-.19-.17zm-23.7-.01h-2.13c-.09 0-.17.09-.17.2v7.34c0 .2.13.27.3.27h1.92c.2 0 .25-.09.25-.27V6.23c0-.09-.08-.17-.17-.17zm-1.05-3.38c-.77 0-1.38.61-1.38 1.38 0 .77.61 1.38 1.38 1.38.75 0 1.36-.61 1.36-1.38 0-.77-.61-1.38-1.36-1.38zm16.49-.25h-2.11c-.09 0-.17.08-.17.17v4.09h-3.31V2.6c0-.09-.08-.17-.17-.17h-2.13c-.09 0-.17.08-.17.17v11.11c0 .09.09.17.17.17h2.13c.09 0 .17-.08.17-.17V8.96h3.31l-.02 4.75c0 .09.08.17.17.17h2.13c.09 0 .17-.08.17-.17V2.6c0-.09-.08-.17-.17-.17zM8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17z">
</path>
</svg>
</a>
<h3 class="h5 mt-4 mb-0" id="subscribe-to-newsletter">Subscribe to our developer newsletter</h3>
<p class="f5 color-fg-muted mb-3">Get tips, technical guides, and best practices. Twice a month. Right in your
inbox.</p>
<a href="https://resources.github.com/newsletter/" class="btn btn-muted mb-4">Subscribe</a>
</section>
<nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4" aria-labelledby="footer-title-product">
<h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-product">Product</h3>
<ul class="list-style-none color-fg-muted f5">
<li class="lh-condensed mb-3"><a href="https://github.com/features"
data-ga-click="Footer, go to features, text:features" class="link-gray">Features</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/enterprise"
data-ga-click="Footer, go to enterprise, text:enterprise" class="link-gray">Enterprise</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/features/copilot"
ddata-ga-click="Footer, go to copilot, text:copilot" class="link-gray">Copilot</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/security"
data-ga-click="Footer, go to security, text:security" class="link-gray">Security</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/pricing"
data-ga-click="Footer, go to pricing, text:pricing" class="link-gray">Pricing</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/team" data-ga-click="Footer, go to team, text:team"
class="link-gray">Team</a></li>
<li class="lh-condensed mb-3"><a href="https://resources.github.com"
data-ga-click="Footer, go to resources, text:resources" class="link-gray">Resources</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/github/roadmap"
data-ga-click="Footer, go to roadmap, text:roadmap" class="link-gray">Roadmap</a></li>
<li class="lh-condensed mb-3"><a href="https://resources.github.com/devops/tools/compare"
data-ga-click="Footer, go to compare, text:compare" class="link-gray">Compare GitHub</a></li>
</ul>
</nav>
<nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-platform">
<h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-platform">Platform</h3>
<ul class="list-style-none f5">
<li class="lh-condensed mb-3"><a
href="https://docs.github.com/get-started/exploring-integrations/about-building-integrations"
data-ga-click="Footer, go to api, text:api" class="link-gray">Developer API</a></li>
<li class="lh-condensed mb-3"><a href="https://partner.github.com"
data-ga-click="Footer, go to partners, text:partners" class="link-gray">Partners</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/edu"
data-ga-click="Footer, go to education, text:education" class="link-gray">Education</a></li>
<li class="lh-condensed mb-3"><a href="https://cli.github.com"
data-ga-click="Footer, go to github cli, text:cli" class="link-gray">GitHub CLI</a></li>
<li class="lh-condensed mb-3"><a href="https://desktop.github.com"
data-ga-click="Footer, go to github desktop, text:desktop" class="link-gray">GitHub Desktop</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/mobile"
data-ga-click="Footer, go to github mobile, text:mobile" class="link-gray">GitHub Mobile</a></li>
</ul>
</nav>
<nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-support">
<h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-support">Support</h3>
<ul class="list-style-none f5">
<li class="lh-condensed mb-3"><a href="https://docs.github.com" data-ga-click="Footer, go to docs, text:docs"
class="link-gray">Docs</a></li>
<li class="lh-condensed mb-3"><a href="https://github.community"
data-ga-click="Footer, go to community, text:community" class="link-gray">Community Forum</a></li>
<li class="lh-condensed mb-3"><a href="https://services.github.com"
data-ga-click="Footer, go to services, text:services" class="link-gray">Professional Services</a></li>
<li class="lh-condensed mb-3"><a href="https://skills.github.com"
data-ga-click="Footer, go to skills, text:skills" class="link-gray">Skills</a></li>
<li class="lh-condensed mb-3"><a href="https://support.github.com?tags=dotcom-footer"
data-ga-click="Footer, go to support, text:support" class="link-gray">Contact GitHub</a></li>
</ul>
</nav>
<nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-company">
<h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-company">Company</h3>
<ul class="list-style-none f5">
<li class="lh-condensed mb-3"><a href="https://github.com/about/"
data-ga-click="Footer, go to support, text:support" class="link-gray">About</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/customer-stories?type=enterprise"
data-ga-click="Footer, go to customer-stories, text:customer-stories" class="link-gray">Customer
stories</a></li>
<li class="lh-condensed mb-3"><a href="https://github.blog/" data-ga-click="Footer, go to blog, text:blog"
class="link-gray">Blog</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/readme"
data-ga-click="Footer, go to readme, text:readme" class="link-gray">The ReadME Project</a></li>
<li class="lh-condensed mb-3"><a href="https://github.careers/"
data-ga-click="Footer, go to careers, text:careers" class="link-gray">Careers</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/newsroom"
data-ga-click="Footer, go to newsroom, text:newsroom" class="link-gray">Newsroom</a></li>
<li class="lh-condensed mb-3"><a href="https://github.com/about/diversity"
data-ga-click="Footer, go to diversity, text:diversity" class="link-gray">Inclusion</a></li>
<li class="lh-condensed mb-3"><a href="https://socialimpact.github.com/"
data-ga-click="Footer, go to socialimpact, text:socialimpact" class="link-gray">Social Impact</a></li>
<li class="lh-condensed mb-3"><a href="https://shop.github.com/" data-ga-click="Footer, go to shop, text:shop"
class="link-gray">Shop</a></li>
</ul>
</nav>
</div>
</div>
<div class="color-bg-subtle">
<div class="container-lg p-responsive f6 py-4 d-md-flex flex-justify-between flex-items-center">
<nav aria-label="Legal and Resource Links">
<ul class="list-style-none d-flex flex-wrap text-gray">
<li class="mr-3">© <script>document.write( new Date().getFullYear() );</script> GitHub, Inc.</li>
<li class="mr-3"><a href="https://docs.github.com/site-policy/github-terms/github-terms-of-service/"
data-ga-click="Footer, go to terms, text:terms" class="link-gray">Terms</a></li>
<li class="mr-3"><a href="https://help.github.com/articles/github-privacy-statement/"
data-ga-click="Footer, go to privacy, text:privacy" class="link-gray">Privacy</a> (<a href="https://github.com/github/site-policy/pull/582"
class="link-gray">Updated <time datetime="2022-08">08/2022</time></a>)</li>
</ul>
</nav>
<nav aria-label="GitHub's Social Media Links" class="mt-3 mt-md-0">
<ul class="list-style-none d-flex flex-wrap">
<li class="mr-3"><a href="https://x.com/github" data-ga-click="Footer, go to Twitter, text:twitter"
aria-label="GitHub X" style="color: #959da5;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img">
<title>GitHub X</title>
<path fill="currentColor" d="M14.28 10.38L23.2 0h-2.1L13.8 9.02L7.14 0H0l10.13 14.7L0 25.5h2.1l7.64-9.38l6.9 9.38H23.2L12.72 10.38zM3.06 1.62h2.76L20.94 23.9h-2.76L3.06 1.62z"/>
</svg>
</a></li>
<li class="mr-3"><a href="https://www.facebook.com/GitHub"
data-ga-click="Footer, go to Facebook, text:facebook" aria-label="GitHub Facebook"
style="color: #959da5;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img">
<title>GitHub Facebook</title>
<path fill="currentColor" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
</svg>
</a></li>
<li class="mr-3"><a href="https://www.linkedin.com/company/github"
data-ga-click="Footer, go to Linkedin, text:linkedin" aria-label="GitHub LinkedIn"
style="color: #959da5;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img">
<title>GitHub LinkedIn</title>
<path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
</svg>
</a></li>
<li class="mr-3"><a href="https://www.youtube.com/github" data-ga-click="Footer, go to YouTube, text:youtube"
aria-label="GitHub YouTube" style="color: #959da5;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img">
<title>GitHub YouTube</title>
<path fill="currentColor" d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/>
</svg>
</a></li>
<li class="mr-3"><a href="https://www.twitch.tv/github" data-ga-click="Footer, go to Twitch, text:twitch"
aria-label="Twitch" style="color: #959da5;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img">
<title>Twitch</title>
<path fill="currentColor" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714z"/>
</svg>
</a></li>
<li class="mr-3"><a href="https://www.tiktok.com/@github" data-ga-click="Footer, go to TikTok, text:tiktok"
aria-label="TikTok" style="color: #959da5;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img">
<title>TikTok</title>
<path fill="currentColor" d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/>
</svg>
</a></li>
<li class="mr-3"><a href="https://github.com/github" data-ga-click="Footer, go to github's org, text:github"
aria-label="GitHub.com" style="color: #959da5;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img">
<title>GitHub.com</title>
<path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/>
</svg>
</a></li>
</ul>
</nav>
</div>
</div>
</div>
<script>
$('.components-container').toggleClass('one-column').toggleClass('two-columns')
$(document).ready(function () {
if ($('body').hasClass('status-none')) {
$('link[rel="shortcut icon"]').attr("href", "https://github.githubassets.com/favicons/favicon-success.png")
} else {
$('link[rel="shortcut icon"]').attr("href", "https://github.githubassets.com/favicons/favicon-pending.png")
}
// Move "about this page" text section after the Incident History link
$('.text-section').insertAfter('.history-footer-link');
$('span.name:contains("Visit www.githubstatus.com for more information")').parents('div.component-container').hide()
$('div.status-green span.component-status').html("")
$('div.status-yellow span.component-status').html("")
$('div.status-orange span.component-status').html("")
$('div.status-red span.component-status').html("")
$('.outage-field .label .major_outage').parent().html("")
var otherParent = $('span.name:contains("Other")').parent()
if (otherParent.hasClass('status-green')) {
otherParent.parent().hide()
}
$('.page-status.status-major span.status, .page-status.status-minor span.status').html('Some services are degraded')
$('.outage-field .label .partial_outage').parent().html("Degradation")
$('.incidents-list').remove()
$('.component-statuses-legend').remove()
$('div.status-green').append("<span class='status-msg'>Normal</span>")
$('div.status-yellow').append("<span class='status-msg'>Degraded</span>")
$('div.status-orange').append("<span class='status-msg'>Degraded</span>")
$('div.status-red').append("<span class='status-msg'>Incident</span>")
$('div.status-blue').append("<span class='status-msg'>Maintenance</span>")
});
</script>
</div>
</div>
<script src="https://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js"></script>
<div id="cpt-notification-container"></div>
<!-- all of the content_for stuff -->
<script src="https://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js"></script>
<script type="text/javascript">
$(function() {
SP.currentPage.registerSubscriptionForm('email');
SP.currentPage.registerSubscriptionForm('sms');
SP.currentPage.registerSubscriptionForm('webhook');
});
</script>
<script src="https://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js"></script>
<script>
SP.pollForChanges('/api/v2/status.json');
</script>
<script>
$(function() {
$('.tool').tooltipster({
animationDuration: 100,
contentAsHTML: true,
delay: 100,
theme: 'tooltipster-borderless',
functionInit: function (instance, helper) {
var $origin = $(helper.origin),
dataOptions = $origin.attr('data-tooltip-config');
if (dataOptions){
dataOptions = JSON.parse(dataOptions);
$.each(dataOptions, function(name, option){
instance.option(name, option);
});
}
}
});
// clicks on first tab in subscribe popout since we won't know which is first
// upon construction in the ruby code
$('.updates-dropdown-nav > a').eq(0).click();
// twitter follow button needs some margin
$('.twitter-follow-button').css('margin-right', '6px');
});
$(function() {
// open/close component groups
HRB.utils.djshook('component-group-opener').on('click', function() {
var groupParentIndicator = $(this).find('.group-parent-indicator');
groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open');
toggleGroup(groupParentIndicator)
});
});
$(function() {
HRB.utils.djshook('component-group-opener').on('keydown', function(event) {
if (event.key !== "Enter" && event.key !== " ") {
return;
}
event.preventDefault()
var groupParentIndicator = $(this).find('.group-parent-indicator');
groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open');
toggleGroup(groupParentIndicator)
});
});
function toggleGroup(groupParentIndicator) {
var isOpen = groupParentIndicator.attr('aria-expanded')
if (isOpen == 'false') {
groupParentIndicator.attr('aria-expanded', 'true');
} else {
groupParentIndicator.attr('aria-expanded', 'false');
}
}
$(function() {
$(document).on('ajax:complete', '.modal.in', function(e) {
// Close the active modal.
$('.modal.in').modal('hide');
});
});
</script>
<script>
/** INITIALIZATION **/
var recaptchaIds = {}
// Unfortunately there's no unique selectors on the parent divs that recaptcha adds. The first unique selector
// is the iframe rendered 2 levels deep. So this waits until the iframes are added to the page, then finds
// the parent div and sets the z index so that it'll render above our modals & dropdowns from the start.
function setZIndex(captchaCount, startTime) {
// bail after 10s just in case so we don't do this forever if something whaky happens
if (new Date() - startTime > 10000) {
return;
}
var iframes = document.querySelectorAll('iframe[title="recaptcha challenge"]');
if (iframes.length != captchaCount) {
setTimeout(function() {
setZIndex(captchaCount, startTime);
}, 500);
}
for (var i = 0; i < iframes.length; i++) {
// incident subscribe modal is 1050, so this has to be above that
iframes[i].parentElement.parentElement.style.zIndex = "1100";
}
}
function updateCaptchaIframeTitle(captchaCount, startTime, updates=0) {
if (new Date() - startTime > 10000 || captchaCount === updates) {
return;
}
var iframesWithTitle = document.querySelectorAll('iframe[title="recaptcha challenge expires in two minutes"]');
if (iframesWithTitle.length != captchaCount) {
setTimeout(function() {
updateCaptchaIframeTitle(captchaCount, startTime, iframesWithTitle.length + updates);
}, 500);
}
for (var i = 0; i < iframesWithTitle.length; i++) {
iframesWithTitle[i].title = "recaptcha";
}
}
function addIncidentCaptcha() {
var incidentCaptcha = document.createElement('div');
incidentCaptcha.setAttribute('id', 'subscribe-incident-recaptcha');
incidentCaptcha.setAttribute('class', 'g-recaptcha');
incidentCaptcha.setAttribute('data-sitekey', '6LcZ-b0UAAAAAENi956aWzynTT2ZJ80dGU3F80Op');
incidentCaptcha.setAttribute('data-callback', 'submitIncidentSubscriberSuccess');
incidentCaptcha.setAttribute('data-error-callback', 'submitIncidentSubscriberError');
incidentCaptcha.setAttribute('data-size', 'invisible');
document.body.appendChild(incidentCaptcha);
var incidentCode = document.createElement('input');
incidentCode.setAttribute('type', 'hidden');
incidentCode.setAttribute('id', 'submit_incident_code');
document.body.appendChild(incidentCode);
}
var onloadCallback = function() {
// if there is an incident, then add incident captcha element
if (document.getElementsByClassName('modal-open-incident-subscribe').length > 0) {
addIncidentCaptcha();
}
var captchas = document.getElementsByClassName("g-recaptcha");
for(var i = 0; i < captchas.length; i++) {
var elId = captchas[i].id;
recaptchaIds[elId] = grecaptcha.enterprise.render(elId);
}
setZIndex(captchas.length, new Date());
updateCaptchaIframeTitle(captchas.length, new Date());
}
/** SUBSCRIBE DROPDOWN */
// callbacks for captcha success
function submitNewSubscriber(type, error) {
if (error) document.querySelector('#subscribe-form-' + type + ' #captcha_error').value = 'true';
document.getElementById('subscribe-form-' + type).dispatchEvent(new Event('submit', {bubbles: true, cancelable: true}));
grecaptcha.enterprise.reset(recaptchaIds['subscribe-btn-' + type]);
}
function submitNewEmailSubscriber(token) {
submitNewSubscriber('email');
}
function submitNewSmsSubscriber(token) {
submitNewSubscriber('sms');
}
function submitNewWebhookSubscriber(token) {
submitNewSubscriber('webhook');
}
function submitIncidentSubscriber(token, error) {
var incidentCode = document.getElementById('submit_incident_code').value;
var incidentForm = document.getElementById('subscribe-form-' + incidentCode);
incidentForm.querySelector('input[name="captcha_error"]').value = error;
incidentForm.querySelector('input[name="g-recaptcha-response"]').value = token;
incidentForm.dispatchEvent(new Event('submit', {bubbles: true, cancelable: true}));
grecaptcha.enterprise.reset(recaptchaIds['subscribe-incident-recaptcha']);
}
function submitIncidentSubscriberSuccess(token) {
submitIncidentSubscriber(token, 'false');
}
// callbacks if we get captcha network errors
function emailSubscriberCaptchaError(token) {
submitNewSubscriber('email', true);
}
function smsSubscriberCaptchaError(token) {
submitNewSubscriber('sms', true);
}
function webhookSubscriberCaptchaError(token) {
submitNewSubscriber('webhook', true);
}
function submitIncidentSubscriberError(token) {
submitIncidentSubscriber(token, 'true');
}
// tracking clicks
['email', 'sms', 'webhook'].forEach(function(type) {
var el = document.getElementById('subscribe-btn-' + type);
el && el.addEventListener("click", function() {
$.ajax({
type: "POST",
url: "/subscriptions/track_attempt",
data: {
type: type
}
})
})
})
// form submission success callbacks
$('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){
if (data.type === 'success') {
SP.currentPage.updatesDropdown.hide();
document.getElementById('email').value = '';
}
});
$('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){
if (data.type === 'success' && data.otp_flow !== true) {
SP.currentPage.updatesDropdown.hide();
document.getElementById('phone-number').value = '';
}
});
$('#subscribe-form-webhook').on('ajax:success', function(e, data, status, xhr){
if (data.type === 'success') {
SP.currentPage.updatesDropdown.hide();
document.getElementById('endpoint-webhooks').value = '';
document.getElementById('email-webhooks').value = '';
}
});
$('a.subscribe').on('click', function() {
document.body.style.overflow = "hidden";
document.body.style.height = "100vh";
});
$('div.modal-open-incident-subscribe').on('hidden', function(){
document.body.style.overflow = "";
document.body.style.height = "";
});
function submitCaptchaIncidentSubscribe(event) {
var incidentCode = event.target.id.split('-')[2];
event.preventDefault();
$.ajax({
type: "POST",
url: "/subscriptions/track_attempt",
data: {
type: 'incident'
}
})
document.getElementById('submit_incident_code').value = incidentCode;
grecaptcha.enterprise.execute(recaptchaIds['subscribe-incident-recaptcha']);
}
</script>
<script src='https://www.recaptcha.net/recaptcha/enterprise.js?onload=onloadCallback&render=explicit' async defer></script>
<script src="https://dka575ofm4ao0.cloudfront.net/packs/common-b45a59df4cdf9120c9c3.chunk.js"></script>
<script src="https://dka575ofm4ao0.cloudfront.net/packs/globals-ab1c4b5ca64732f9a6c8.chunk.js"></script>
<script src="https://dka575ofm4ao0.cloudfront.net/packs/runtime-58677388275192231eb9.js"></script>
<script>
window.addEventListener('load', function () {
const urlParams = new URLSearchParams(window.location.search);
const messageToken = urlParams.get('slack_message_token');
const channelName = escape(urlParams.get('channel_name'));
if(!!messageToken) {
switch(messageToken) {
case 'slack_auth_error':
HRB.utils.notify('The Slack authorization attempt was unsuccessful. Try again.', {cssClass:'error'});
break;
case 'subscribers_disabled_error':
HRB.utils.notify('Slack subscriptions are not enabled on this page.', {cssClass:'error'});
break;
case 'direct_message_channel_error':
HRB.utils.notify('Subscriptions aren’t supported in direct messages. Try subscribing again and choose a channel instead.', {cssClass:'error'});
break
case 'duplicate_error':
HRB.utils.notify("You're already subscribed to get Slack notifications in that channel.", {cssClass:'error'});
break;
case 'duplicate_private_channel_error':
HRB.utils.notify(`You're already subscribed to get Slack notifications in #${channelName}. Invite the @Statuspage app to that channel to start getting status updates.`, {cssClass: 'error'});
break;
case 'default_success':
HRB.utils.notify("You're now subscribed to get Statuspage updates in Slack!", {cssClass:'success'});
break;
case 'private_channel_success':
HRB.utils.notify(`IMPORTANT: Invite the @Statuspage app to your Slack channel #${channelName} to start getting status updates.`, {cssClass:'success'});
break;
}
}
});
</script>
<!-- FOR FLASH NOTICES -->
<!-- FOR ERROR -->
<script>
$(function() {
var $link = $('<span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=www.githubstatus.com&utm_content=SP-notifications&utm_medium=powered-by&utm_source=inapp">Powered by Atlassian Statuspage</a></span>');
var setPoweredByStyles = function() {
if (!$('.powered-by').length) {
$link.appendTo($('.page-footer'))
}
$('.powered-by').attr('style', 'display: inline !important; visibility:visible !important; opacity: 1 !important; position:static !important; text-indent:0px !important; transform:scale(1) !important');
}
setInterval(setPoweredByStyles, 1000);
});
</script>
</body>
</html>