CINXE.COM
Sentry Status - Incident History
<!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>Sentry Status - Incident History</title> <meta name="description" content="Sentry's Incident and Scheduled Maintenance History"> <!-- 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="1743557856"> <!-- 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=status.sentry.io'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.sentry.io#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host=status.sentry.io') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host=status.sentry.io') 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=status.sentry.io'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.sentry.io#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host=status.sentry.io') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host=status.sentry.io') 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=status.sentry.io'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.sentry.io#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host=status.sentry.io') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host=status.sentry.io') 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=status.sentry.io'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.sentry.io#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host=status.sentry.io') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host=status.sentry.io') 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=status.sentry.io'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.sentry.io#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host=status.sentry.io') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host=status.sentry.io') 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/967/stringio.txt" /> <link rel="shortcut icon" href='//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/967/stringio.txt'> <link rel="alternate" type="application/atom+xml" href="https://status.sentry.io/history.atom" title="Sentry Status History - Atom Feed"> <link rel="alternate" type="application/rss+xml" href="https://status.sentry.io/history.rss" title="Sentry Status History - RSS Feed"> <!-- Canonical Link to ensure that only the custom domain is indexed when present --> <link rel="canonical" href="https://status.sentry.io/history"> <meta name="_globalsign-domain-verification" content="y_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ"/> <link rel="alternate" type="application/atom+xml" title="ATOM" href="https://status.sentry.io/history.atom" /> <!-- Le styles --> <link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/0.5083b54e28cd61cb24da.css" /><link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/191.5083b54e28cd61cb24da.css" /><link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/155.5083b54e28cd61cb24da.css" /> <link rel="stylesheet" media="all" href="https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-e5fd07250d5426b6c15214a184a78f72bd224c0f158f2ca1f35a3cf1ee9c1783.css" /> <script src="https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js"></script> <script> window.pageColorData = {"blue":"#48A5DB","border":"#ECECF1","body_background":"#FFFFFF","font":"#362D59","graph":"#AD6CAA","green":"#4DC771","light_font":"#9093C1","link":"#E1567C","orange":"#F4834F","red":"#E1567C","yellow":"#F2B712","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:#362D59; } .layout-content.status.status-index .components-statuses .component-container .name { color:#362D59; color:rgba(54,45,89,.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:#9093C1; } /* 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:#ECECF1; } div[id^="subscribe-modal"] .modal-footer, .markdown-display table td { border-top-color:#ECECF1; } .markdown-display table td + td, .markdown-display table th + th { border-left-color:#ECECF1; } div[id^="subscribe-modal"] .modal-header, #uptime-tooltip .pointer-container .pointer-larger { border-bottom-color:#ECECF1; } #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(236,236,241,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(236,236,241,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:#E1567C; } .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:#E1567C; } .layout-content.status.status-index .unresolved-incident.impact-critical .updates { border-color:#E1567C; } /* 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:#F4834F; } .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:#F4834F; } .layout-content.status.status-index .unresolved-incident.impact-major .updates { border-color:#F4834F; } /* 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:#F2B712; } .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:#F2B712; } .layout-content.status.status-index .unresolved-incident.impact-minor .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#F2B712; } /* 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:#48A5DB; } .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:#48A5DB; } .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#48A5DB; } /* 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:#4DC771; } .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:#4DC771; } /* 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:#E1567C; } .flat-button, .masthead .updates-dropdown-container .show-updates-dropdown, .layout-content.status-full-history .show-filter.open { background-color:#E1567C; } /* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */ .components-section .components-uptime-link { color: #9093c1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item { color: #9093c1; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light { color: #9093c1; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer { background: #9093c1; opacity: 1; } </style> <!-- custom css --> <link rel="stylesheet" type="text/css" href="//dka575ofm4ao0.cloudfront.net/page_display_customizations-custom_css_externals/1943/external20240403-42-ij2z0r.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 history status-none"> <div class="layout-content status status-full-history starter"> <div class="masthead-container basic"> <div class="masthead has-logo"> <div class="logo-container"> <a href="https://sentry.io"><img alt="Page logo" src="//dka575ofm4ao0.cloudfront.net/pages-transactional_logos/retina/967/FCnCD98MSyK8stXlguND" /></a> </div> <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-7" 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-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 Sentry <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" class="accessible-link" href="https://sentry.io/privacy/">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" 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 Sentry <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" class="accessible-link" href="https://sentry.io/privacy/">Privacy Policy</a>, the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" class="accessible-link" 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" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" 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=t687h3m0nh65">Subscribe via Slack</a> <div class="terms_and_privacy_information bottom small">By subscribing you acknowledge our <a target="_blank" rel="noopener" class="accessible-link" href="https://sentry.io/privacy/">Privacy Policy</a>. In addition, you agree to the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/cloud-terms-of-service">Cloud Terms of Service</a> and acknowledge Atlassian's <a target="_blank" rel="noopener" class="accessible-link" 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 Sentry <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" class="accessible-link" href="https://sentry.io/privacy/">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" 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 support" id="updates-dropdown-support" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-support-btn"> Visit our <a target="_blank" href="https://sentry.io/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://status.sentry.io/history.atom" target="_blank">Atom Feed</a> or <a href="https://status.sentry.io/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 = "t687h3m0nh65" 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 = "t687h3m0nh65" 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 class="clearfix"></div> </div> </div> <!-- this is outside of the .container so that the cover photo can go full width on mobile --> <div class="container"> <div class="history-nav border-color"> <ul> <li> <a class="button current border-color" href="https://status.sentry.io/history" aria-label="Incidents" aria-current=page>Incidents</a> </li> <li> <a class="button border-color" href="https://status.sentry.io/uptime" aria-label="Uptime" >Uptime</a> </li> </ul> </div> <div data-react-class="HistoryIndex" data-react-props="{"page_status":{"page":{"name":"Sentry","subdomain":"getsentry","domain":"status.sentry.io","created_at":"2013-08-08T03:40:39.654Z","updated_at":"2025-04-02T00:27:48.445Z","url":"https://sentry.io","hidden_from_search":false,"css_body_background_color":"FFFFFF","css_font_color":"362D59","css_light_font_color":"9093C1","css_greens":"4DC771","css_yellows":"F2B712","css_oranges":"F4834F","css_reds":"E1567C","allow_page_subscribers":true,"allow_incident_subscribers":true,"notifications_from_email":null,"allow_email_subscribers":true,"allow_sms_subscribers":true,"twitter_username":null,"branding":"basic","support_url":"https://sentry.io/support/","allow_webhook_subscribers":true,"css_border_color":"ECECF1","css_graph_color":"AD6CAA","css_link_color":"E1567C","page_description":null,"activity_score":1065,"headline":null,"viewers_must_be_team_members":false,"ip_filters":null,"css_blues":"48A5DB","time_zone":"UTC","notifications_reply_to_email":null,"notifications_email_footer":"You received this email because you are subscribed to Sentry's service status notifications.","allow_rss_atom_feeds":true,"black_hole":null,"over_allocations_cohort":null,"over_allocations_resolved_at":null,"custom_components_limit":null,"allow_slack_subscribers":true,"css_no_data":"b3bac5","deleted_at":null,"allow_teams_subscription":false,"max_maintenance_automation_allowed":null,"hero_cover":{"updated_at":"2013-08-08T07:30:39.000+00:00","original_url":"//dka575ofm4ao0.cloudfront.net/pages-hero_covers/original/967/open-uri20130808-9461-2awqg","size":42181,"normal_url":"//dka575ofm4ao0.cloudfront.net/pages-hero_covers/normal/967/open-uri20130808-9461-2awqg","retina_url":"//dka575ofm4ao0.cloudfront.net/pages-hero_covers/retina/967/open-uri20130808-9461-2awqg"},"transactional_logo":{"updated_at":"2015-10-19T23:16:21.000+00:00","original_url":"//dka575ofm4ao0.cloudfront.net/pages-transactional_logos/original/967/FCnCD98MSyK8stXlguND","size":10665,"normal_url":"//dka575ofm4ao0.cloudfront.net/pages-transactional_logos/normal/967/FCnCD98MSyK8stXlguND","retina_url":"//dka575ofm4ao0.cloudfront.net/pages-transactional_logos/retina/967/FCnCD98MSyK8stXlguND"},"favicon_logo":{"updated_at":"2013-08-08T04:13:27.000+00:00","size":6518,"url":"//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/967/stringio.txt"},"email_logo":{"updated_at":null,"original_url":"","size":null,"normal_url":"","retina_url":""},"twitter_logo":{"updated_at":null,"size":null,"url":""},"id":"t687h3m0nh65","organization_id":"6v591yt69fvj"}},"components":[{"status":"operational","name":"Dashboard","created_at":"2013-08-23T05:13:09.892Z","updated_at":"2025-03-12T12:58:22.937Z","position":1,"description":null,"showcase":true,"start_date":null,"id":"khtl9dcky3lb","group_id":null,"page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"API","created_at":"2013-08-23T05:13:02.339Z","updated_at":"2024-10-10T23:05:52.798Z","position":2,"description":null,"showcase":true,"start_date":null,"id":"qywmfv7jr0pd","group_id":null,"page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Ingestion","created_at":"2021-01-13T21:59:46.175Z","updated_at":"2024-03-29T17:49:50.435Z","position":3,"description":null,"showcase":false,"start_date":null,"id":"76x1wwzzfj5c","group_id":null,"page_id":"t687h3m0nh65","group":true,"only_show_if_degraded":false,"components":["51yszynm4xyv","bdg4djkxjxmk","cycj4r32g25w","52t4t3ww2qcn","zxkxxtspk64g","qd7tzrk5q8xm","6f1r28lydc6h","7wrqyj84ltw7"]},{"status":"operational","name":"US Error Ingestion","created_at":"2021-01-13T21:59:46.183Z","updated_at":"2025-03-10T23:18:38.604Z","position":1,"description":null,"showcase":true,"start_date":"2021-01-13T08:00:00.000Z","id":"51yszynm4xyv","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Transaction Ingestion","created_at":"2021-01-13T22:00:51.355Z","updated_at":"2025-01-15T01:53:53.514Z","position":2,"description":null,"showcase":true,"start_date":"2021-01-13T08:00:00.000Z","id":"bdg4djkxjxmk","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Attachment Ingestion","created_at":"2021-01-13T22:01:09.996Z","updated_at":"2025-02-03T17:34:14.061Z","position":3,"description":null,"showcase":true,"start_date":"2021-01-13T08:00:00.000Z","id":"cycj4r32g25w","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Profile Ingestion","created_at":"2023-05-11T20:26:11.007Z","updated_at":"2025-03-10T23:18:38.625Z","position":4,"description":null,"showcase":true,"start_date":"2023-05-11T07:00:00.000Z","id":"52t4t3ww2qcn","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Replay Ingestion","created_at":"2023-05-11T20:34:22.363Z","updated_at":"2024-12-05T21:37:35.891Z","position":5,"description":null,"showcase":true,"start_date":"2023-05-11T07:00:00.000Z","id":"zxkxxtspk64g","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Span Ingestion","created_at":"2023-10-04T00:54:14.741Z","updated_at":"2024-12-10T17:18:07.805Z","position":6,"description":null,"showcase":true,"start_date":"2023-10-03T07:00:00.000Z","id":"qd7tzrk5q8xm","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Cron Monitoring","created_at":"2023-03-13T15:21:21.776Z","updated_at":"2024-12-05T21:37:35.959Z","position":7,"description":"Cron Monitors allows you to monitor the uptime and performance of any scheduled, recurring job in Sentry. Once implemented, it'll allow you to get alerts and metrics to help you solve errors, detect timeouts, and prevent disruptions to your service.","showcase":true,"start_date":"2023-03-13T07:00:00.000Z","id":"6f1r28lydc6h","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Custom Metrics (beta)","created_at":"2024-03-29T17:50:35.917Z","updated_at":"2024-12-05T21:37:35.993Z","position":8,"description":null,"showcase":true,"start_date":"2024-03-29T07:00:00.000Z","id":"7wrqyj84ltw7","group_id":"76x1wwzzfj5c","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Ingestion","created_at":"2024-03-22T14:48:27.699Z","updated_at":"2024-03-29T17:50:04.590Z","position":4,"description":null,"showcase":false,"start_date":null,"id":"xmpnd79f7t51","group_id":null,"page_id":"t687h3m0nh65","group":true,"only_show_if_degraded":false,"components":["1yf02ms0qsl7","tlkrt7x46b52","ztwsc8ff50v9","xbljnbzl9c77","3zhbl35gmbp0","7rv05jl5qp0w","qnj485gffb6v"]},{"status":"operational","name":"EU Error Ingestion","created_at":"2024-03-22T14:38:26.652Z","updated_at":"2025-03-12T12:58:22.956Z","position":1,"description":null,"showcase":true,"start_date":"2024-03-22T07:00:00.000Z","id":"1yf02ms0qsl7","group_id":"xmpnd79f7t51","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Transaction Ingestion","created_at":"2024-03-22T14:48:54.463Z","updated_at":"2025-03-12T12:58:22.975Z","position":2,"description":null,"showcase":true,"start_date":"2024-03-22T07:00:00.000Z","id":"tlkrt7x46b52","group_id":"xmpnd79f7t51","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Attachment Ingestion","created_at":"2024-03-22T14:49:04.296Z","updated_at":"2025-03-12T12:58:22.992Z","position":3,"description":null,"showcase":true,"start_date":"2024-03-22T07:00:00.000Z","id":"ztwsc8ff50v9","group_id":"xmpnd79f7t51","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Profile Ingestion","created_at":"2024-03-22T14:49:13.893Z","updated_at":"2025-03-12T12:58:23.009Z","position":4,"description":null,"showcase":true,"start_date":"2024-03-22T07:00:00.000Z","id":"xbljnbzl9c77","group_id":"xmpnd79f7t51","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Replay Ingestion","created_at":"2024-03-22T14:49:23.913Z","updated_at":"2025-03-12T12:58:23.026Z","position":5,"description":null,"showcase":true,"start_date":"2024-03-22T07:00:00.000Z","id":"3zhbl35gmbp0","group_id":"xmpnd79f7t51","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Span Ingestion","created_at":"2024-03-22T14:49:36.070Z","updated_at":"2025-03-12T12:58:23.044Z","position":6,"description":null,"showcase":true,"start_date":"2024-03-22T07:00:00.000Z","id":"7rv05jl5qp0w","group_id":"xmpnd79f7t51","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Cron Monitoring","created_at":"2024-03-22T14:49:49.416Z","updated_at":"2025-03-12T12:58:23.061Z","position":7,"description":null,"showcase":true,"start_date":"2024-03-22T07:00:00.000Z","id":"qnj485gffb6v","group_id":"xmpnd79f7t51","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Authentication Services","created_at":"2020-03-16T21:55:29.034Z","updated_at":"2023-10-04T00:55:31.296Z","position":5,"description":"Logging into the Sentry services via the dashboard.","showcase":false,"start_date":null,"id":"f5rs5z9q0dtk","group_id":null,"page_id":"t687h3m0nh65","group":true,"only_show_if_degraded":false,"components":["ml2wmx3hzlnn","bprcc4mhbhmm","lqps2hvc2400","tn9py6p7f85x","hsbnk3hxcckr"]},{"status":"operational","name":"Password-Based","created_at":"2020-03-16T22:04:45.056Z","updated_at":"2025-01-30T14:37:51.259Z","position":1,"description":null,"showcase":true,"start_date":null,"id":"ml2wmx3hzlnn","group_id":"f5rs5z9q0dtk","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Google","created_at":"2013-09-20T01:28:27.649Z","updated_at":"2025-01-30T14:37:51.284Z","position":2,"description":null,"showcase":true,"start_date":null,"id":"bprcc4mhbhmm","group_id":"f5rs5z9q0dtk","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"GitHub","created_at":"2020-03-16T21:59:45.594Z","updated_at":"2025-01-30T14:37:51.310Z","position":3,"description":null,"showcase":true,"start_date":null,"id":"lqps2hvc2400","group_id":"f5rs5z9q0dtk","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Azure DevOps","created_at":"2020-03-16T22:00:04.772Z","updated_at":"2025-02-28T00:47:30.044Z","position":4,"description":null,"showcase":true,"start_date":null,"id":"tn9py6p7f85x","group_id":"f5rs5z9q0dtk","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"SAML-Based Single Sign-On","created_at":"2020-03-16T22:05:49.789Z","updated_at":"2025-01-30T14:37:51.357Z","position":5,"description":null,"showcase":true,"start_date":null,"id":"hsbnk3hxcckr","group_id":"f5rs5z9q0dtk","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Notification Delivery","created_at":"2020-03-16T22:15:00.100Z","updated_at":"2023-10-04T00:55:31.309Z","position":6,"description":null,"showcase":false,"start_date":null,"id":"rmq51qyvxfjh","group_id":null,"page_id":"t687h3m0nh65","group":true,"only_show_if_degraded":false,"components":["jkpcsxvvv2hf","tjmyq3lb26w0","jd3tvjnx5l1f","z57k9q3r5jsh"]},{"status":"operational","name":"Slack","created_at":"2014-02-06T20:33:40.533Z","updated_at":"2025-02-27T00:59:55.181Z","position":1,"description":null,"showcase":true,"start_date":null,"id":"jkpcsxvvv2hf","group_id":"rmq51qyvxfjh","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Email","created_at":"2016-05-13T07:29:26.739Z","updated_at":"2025-03-17T17:10:03.869Z","position":2,"description":null,"showcase":true,"start_date":null,"id":"tjmyq3lb26w0","group_id":"rmq51qyvxfjh","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"PagerDuty","created_at":"2020-03-16T22:17:22.151Z","updated_at":"2023-12-15T19:03:34.369Z","position":3,"description":null,"showcase":true,"start_date":null,"id":"jd3tvjnx5l1f","group_id":"rmq51qyvxfjh","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Microsoft Teams","created_at":"2022-08-19T00:41:29.621Z","updated_at":"2023-12-15T19:03:34.386Z","position":4,"description":null,"showcase":true,"start_date":"2022-08-18T07:00:00.000Z","id":"z57k9q3r5jsh","group_id":"rmq51qyvxfjh","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Third-Party Integrations","created_at":"2020-03-16T22:20:52.509Z","updated_at":"2023-10-04T00:55:31.322Z","position":7,"description":null,"showcase":false,"start_date":null,"id":"yhfrrcmppvgh","group_id":null,"page_id":"t687h3m0nh65","group":true,"only_show_if_degraded":false,"components":["216356jwwrxq","87stwrsyk6ls","3jzzl28504tq"]},{"status":"operational","name":"Microsoft Symbol Server","created_at":"2019-10-28T19:22:06.705Z","updated_at":"2023-09-11T16:37:58.000Z","position":2,"description":"Availability of the public Microsoft Symbol Server","showcase":true,"start_date":null,"id":"216356jwwrxq","group_id":"yhfrrcmppvgh","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Stripe","created_at":"2013-08-23T05:12:55.170Z","updated_at":"2023-08-16T15:05:11.494Z","position":3,"description":null,"showcase":true,"start_date":null,"id":"87stwrsyk6ls","group_id":"yhfrrcmppvgh","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Electron Symbol Server","created_at":"2021-06-23T10:43:58.343Z","updated_at":"2025-03-07T03:33:44.000Z","position":4,"description":"Availability of the public Electron Symbol Server","showcase":true,"start_date":"2021-06-23T07:00:00.000Z","id":"3jzzl28504tq","group_id":"yhfrrcmppvgh","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Integration Pipeline","created_at":"2024-03-16T00:26:01.879Z","updated_at":"2024-09-13T00:40:25.327Z","position":8,"description":"Slack, email, and other integrations.","showcase":false,"start_date":"2024-03-15T07:00:00.000Z","id":"6gtdt9t60dl0","group_id":null,"page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"Alerting","created_at":"2024-04-17T15:48:47.951Z","updated_at":"2024-04-17T15:48:47.951Z","position":9,"description":null,"showcase":false,"start_date":null,"id":"sykq5vtjw8zx","group_id":null,"page_id":"t687h3m0nh65","group":true,"only_show_if_degraded":false,"components":["bctv81yt9s6w","yqdr3zmyjv12","mbhk48shsbl8","rcdlp8rvtf7t","73pxtt79xq1l","tqgmn313m1dc","fvsfbxc1mb16","f9170ybbkqlf"]},{"status":"operational","name":"US Errors Alerting","created_at":"2024-04-17T15:48:47.983Z","updated_at":"2024-12-10T17:18:27.770Z","position":1,"description":null,"showcase":true,"start_date":"2024-04-17T07:00:00.000Z","id":"bctv81yt9s6w","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Errors Alerting","created_at":"2024-04-17T15:49:08.662Z","updated_at":"2024-12-10T17:18:41.088Z","position":2,"description":null,"showcase":true,"start_date":"2024-04-17T07:00:00.000Z","id":"yqdr3zmyjv12","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Transactions Alerting","created_at":"2024-12-09T15:14:33.289Z","updated_at":"2025-02-11T16:13:12.479Z","position":3,"description":null,"showcase":true,"start_date":"2024-12-09T08:00:00.000Z","id":"mbhk48shsbl8","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Spans Alerting","created_at":"2024-12-09T15:14:45.017Z","updated_at":"2025-02-11T16:13:12.501Z","position":4,"description":null,"showcase":true,"start_date":"2024-12-09T08:00:00.000Z","id":"rcdlp8rvtf7t","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Transactions Alerting","created_at":"2024-12-09T15:15:52.481Z","updated_at":"2024-12-10T17:19:19.629Z","position":5,"description":null,"showcase":true,"start_date":"2024-12-09T08:00:00.000Z","id":"73pxtt79xq1l","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Spans Alerting","created_at":"2024-12-09T15:16:17.875Z","updated_at":"2024-12-10T17:19:34.299Z","position":6,"description":null,"showcase":true,"start_date":"2024-12-09T08:00:00.000Z","id":"tqgmn313m1dc","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"US Uptime Monitoring","created_at":"2025-02-19T17:25:51.203Z","updated_at":"2025-03-20T21:54:25.242Z","position":7,"description":null,"showcase":true,"start_date":"2025-02-19T00:00:00.000Z","id":"fvsfbxc1mb16","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false},{"status":"operational","name":"EU Uptime Monitoring","created_at":"2025-03-20T18:55:04.318Z","updated_at":"2025-03-20T21:54:25.271Z","position":8,"description":null,"showcase":true,"start_date":"2025-03-20T00:00:00.000Z","id":"f9170ybbkqlf","group_id":"sykq5vtjw8zx","page_id":"t687h3m0nh65","group":false,"only_show_if_degraded":false}],"months":[{"name":"April","year":2025,"starts_on":2,"days":30,"incidents":[]},{"name":"March","year":2025,"starts_on":6,"days":31,"incidents":[{"code":"zbyr6hc1sj3v","name":"Elevated error rates for EU site users","message":"From 19:15 until 20:00 UTC, users using the Sentry.io site in the European region may have experienced elevated error rates due to an unexpected fault in an infrastructure update. Event ingestion continued to operate as expected during this period.","impact":"none","timestamp":"Mar \u003cvar data-var='date'\u003e25\u003c/var\u003e, \u003cvar data-var='time'\u003e18:00\u003c/var\u003e - \u003cvar data-var='time'\u003e18:00\u003c/var\u003e UTC"},{"code":"m68jsnf0jj3v","name":"False positive uptime alerts for Vercel-hosted projects","message":"This incident has been resolved.","impact":"minor","timestamp":"Mar \u003cvar data-var='date'\u003e20\u003c/var\u003e, \u003cvar data-var='time'\u003e18:51\u003c/var\u003e - \u003cvar data-var='time'\u003e21:54\u003c/var\u003e UTC"},{"code":"8gj5mdxxkdqp","name":"EAP clickhouse cluster in DE overwhelmed","message":"EAP cluster is functioning normally again.","impact":"none","timestamp":"Mar \u003cvar data-var='date'\u003e17\u003c/var\u003e, \u003cvar data-var='time'\u003e18:37\u003c/var\u003e - \u003cvar data-var='time'\u003e19:20\u003c/var\u003e UTC"},{"code":"2r0mm3dgvl8g","name":"Mail delivery delays in eu region.","message":"Email delivery in the EU region is back to normal.","impact":"major","timestamp":"Mar \u003cvar data-var='date'\u003e17\u003c/var\u003e, \u003cvar data-var='time'\u003e11:03\u003c/var\u003e - \u003cvar data-var='time'\u003e17:10\u003c/var\u003e UTC"},{"code":"73wjpdsxb5qy","name":"Intermittent errors in EU region","message":"Between March 12 01:06am - 12:52pm UTC, we experienced a networking issue with several of our API canary deployments. Approximately 0.2% of API requests were failing during this time. The issue was resolved and our API is operating as expected.","impact":"minor","timestamp":"Mar \u003cvar data-var='date'\u003e12\u003c/var\u003e, \u003cvar data-var='time'\u003e12:36\u003c/var\u003e - \u003cvar data-var='time'\u003e13:56\u003c/var\u003e UTC"},{"code":"3jx9bnhhg9z1","name":"Delay in profile and errors ingestion","message":"This issue has been resolved and old events will be backfilled.","impact":"critical","timestamp":"Mar \u003cvar data-var='date'\u003e10\u003c/var\u003e, \u003cvar data-var='time'\u003e18:17\u003c/var\u003e - \u003cvar data-var='time'\u003e23:18\u003c/var\u003e UTC"},{"code":"c4665b6fp8tx","name":"Delayed errors ingestion.","message":"This incident has been resolved.","impact":"minor","timestamp":"Mar \u003cvar data-var='date'\u003e8\u003c/var\u003e, \u003cvar data-var='time'\u003e03:13\u003c/var\u003e - \u003cvar data-var='time'\u003e03:23\u003c/var\u003e UTC"},{"code":"kz9b7fcvjwgb","name":"Sentry.io is unavailable","message":"Between 15:54 UTC and 16:09 UTC, we experienced issues with the availability our dashboard and several APIs, ingestion was not impacted. The issue was resolved and all components are operating as expected.","impact":"major","timestamp":"Mar \u003cvar data-var='date'\u003e4\u003c/var\u003e, \u003cvar data-var='time'\u003e16:05\u003c/var\u003e - \u003cvar data-var='time'\u003e18:53\u003c/var\u003e UTC"}]},{"name":"February","year":2025,"starts_on":6,"days":28,"incidents":[{"code":"199p1p8x7r7j","name":"Issues with Azure DevOps social sign-in","message":"Azure DevOps social sign-ins should work properly now.","impact":"major","timestamp":"Feb \u003cvar data-var='date'\u003e27\u003c/var\u003e, \u003cvar data-var='time'\u003e20:09\u003c/var\u003e - Feb \u003cvar data-var='date'\u003e28\u003c/var\u003e, \u003cvar data-var='time'\u003e00:47\u003c/var\u003e UTC"},{"code":"mn4qx4pwh0wm","name":"Slack notification failures","message":"The issue was resolved and Slack notifications are operating as expected.","impact":"major","timestamp":"Feb \u003cvar data-var='date'\u003e26\u003c/var\u003e, \u003cvar data-var='time'\u003e17:26\u003c/var\u003e - Feb \u003cvar data-var='date'\u003e27\u003c/var\u003e, \u003cvar data-var='time'\u003e00:59\u003c/var\u003e UTC"},{"code":"kb68rvyqqpzx","name":"Uptime Detection Issues","message":"This incident has been resolved.","impact":"minor","timestamp":"Feb \u003cvar data-var='date'\u003e19\u003c/var\u003e, \u003cvar data-var='time'\u003e17:43\u003c/var\u003e - Feb \u003cvar data-var='date'\u003e20\u003c/var\u003e, \u003cvar data-var='time'\u003e01:50\u003c/var\u003e UTC"},{"code":"gzn1v39h9r6n","name":"Database issue in US region","message":"Between 14:11 UTC and 14:17 UTC, we experienced problems with our main database, which caused short periods of dashboard unavailability, web API unavailability, and a small number of processing errors.","impact":"none","timestamp":"Feb \u003cvar data-var='date'\u003e18\u003c/var\u003e, \u003cvar data-var='time'\u003e14:00\u003c/var\u003e - \u003cvar data-var='time'\u003e14:00\u003c/var\u003e UTC"},{"code":"20smyjxsvfb5","name":"Uptime monitoring feature delays in EU","message":"This incident has been resolved.","impact":"none","timestamp":"Feb \u003cvar data-var='date'\u003e17\u003c/var\u003e, \u003cvar data-var='time'\u003e20:24\u003c/var\u003e - \u003cvar data-var='time'\u003e21:10\u003c/var\u003e UTC"},{"code":"73k4kbn7tp2h","name":"Email Notifications in EU not being sent","message":"This incident has been resolved.","impact":"critical","timestamp":"Feb \u003cvar data-var='date'\u003e13\u003c/var\u003e, \u003cvar data-var='time'\u003e06:18\u003c/var\u003e - \u003cvar data-var='time'\u003e09:50\u003c/var\u003e UTC"},{"code":"xt7960jx6ky9","name":"US Performance alerts delay between 15:30 and 16:05 UTC","message":"This incident has been resolved.","impact":"minor","timestamp":"Feb \u003cvar data-var='date'\u003e11\u003c/var\u003e, \u003cvar data-var='time'\u003e16:12\u003c/var\u003e - \u003cvar data-var='time'\u003e16:57\u003c/var\u003e UTC"},{"code":"vn067pgkch18","name":"EU region uptime checks delayed","message":"This incident has been resolved.","impact":"none","timestamp":"Feb \u003cvar data-var='date'\u003e10\u003c/var\u003e, \u003cvar data-var='time'\u003e22:25\u003c/var\u003e - \u003cvar data-var='time'\u003e22:50\u003c/var\u003e UTC"},{"code":"mf9c0gfzcbs4","name":"[Scheduled] Snuba events analytics platform database version upgrade","message":"The scheduled maintenance has been completed.","impact":"maintenance","timestamp":"Feb \u003cvar data-var='date'\u003e10\u003c/var\u003e, \u003cvar data-var='time'\u003e18:00\u003c/var\u003e - \u003cvar data-var='time'\u003e18:01\u003c/var\u003e UTC"},{"code":"1b21v1pnzfjy","name":"EU region profiles ingestion delay","message":"The delayed ingestion of profiles in our EU region has been resolved.","impact":"minor","timestamp":"Feb \u003cvar data-var='date'\u003e6\u003c/var\u003e, \u003cvar data-var='time'\u003e13:15\u003c/var\u003e - \u003cvar data-var='time'\u003e14:07\u003c/var\u003e UTC"},{"code":"38s1r7zgn99r","name":"Delayed ingestion in US region","message":"All backlogs have been consumed. This incident has been resolved.","impact":"minor","timestamp":"Feb \u003cvar data-var='date'\u003e3\u003c/var\u003e, \u003cvar data-var='time'\u003e15:05\u003c/var\u003e - \u003cvar data-var='time'\u003e22:11\u003c/var\u003e UTC"}]}],"show_component_filter":true,"show_uptime_calendar":true,"component_filter":null,"start_time":"2025-02-01T00:00:00Z","end_time":"2025-04-30T23:59:59Z"}"></div> <div class="page-footer border-color font-small"> <a href="/" aria-label="Back to current status"> <span class="current-status-arrow">←</span> Current Status </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=status.sentry.io&utm_content=SP-notifications&utm_medium=powered-by&utm_source=inapp">Powered by Atlassian Statuspage</a></span> </div> </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> <div class="custom-footer-container"> <script> //$('#twitter-wjs').remove() //$('#updates-dropdown-twitter').remove() //$('#updates-dropdown-twitter-btn').remove() //$('.twitter').remove() //setTimeout( //function() //{ //$('#rufous-sandbox').remove() //$("iframe[title|='Twitter settings iframe']").remove() //}, 10); </script> </div> <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-4e4d794cd45aee88ae78.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/globals-df8144f93449fd0a72d2.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/runtime-a24749fdf158e54cac4a.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/status-2b8a7dac3b0e6f6ed635.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/components-82dc4f25afb8e15f4aea.chunk.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鈥檛 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=status.sentry.io&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>