feat: notify owners when GitHub access needs attention

This commit is contained in:
Thomas Durieux committed 2026-10-09 05:22:41 +00:00
1 parent f92cfbe795
commit 95f8aef30a
21 files changed
+548 -38

No files matched your search

+10
View File
@@ -8,6 +8,16 @@
<p role="status" v-if="!connections &amp;&amp; !connectionError">Loading your connections…</p>
<button class="btn btn-outline-ink" v-if="!connections &amp;&amp; connectionError" :disabled="busy" @click="loadConnections()">Try again</button>
<div v-if="connections">
<section class="connection-resources" v-if="connections.emailNotificationsEnabled">
<h2>Email alerts</h2>
<p>We will email you if your GitHub connection stops working or a repository becomes inaccessible. Your address is never shown on anonymous pages.</p>
<form @submit.prevent="saveNotificationEmail()">
<label for="notification-email">Email address</label>
<input id="notification-email" class="form-control" type="email" autocomplete="email" maxlength="254" required v-model="notificationEmail" :disabled="busy" />
<button class="btn btn-ink mt-2" type="submit" :disabled="busy">Save email address</button>
<p v-if="emailSaved" role="status">Email address saved.</p>
</form>
</section>
<div class="connections-grid">
<section v-if="connections.appEnabled">
<div class="connection-top"><i class="fab fa-github" aria-hidden="true"></i><span class="connection-badge">Recommended</span></div>
+15
View File
@@ -115,3 +115,18 @@
</div>
</nav>
<div class="navbar shadow generalMessage" v-if="generalMessage" v-html="sanitize(generalMessage)"></div>
<dialog id="email-prompt" class="email-prompt" v-if="emailPromptOpen" aria-labelledby="email-prompt-title" aria-describedby="email-prompt-reason" @cancel.prevent="respondToEmailPrompt('later')">
<form @submit.prevent="respondToEmailPrompt('save')">
<h2 id="email-prompt-title">Stay informed about access problems</h2>
<p id="email-prompt-reason">Get email alerts when your GitHub token or repository access fails.</p>
<label for="email-prompt-address">Email address</label>
<input id="email-prompt-address" class="form-control" type="email" autocomplete="email" maxlength="254" required v-model="emailPromptAddress" :disabled="emailPromptBusy" />
<p class="paper-inline-alert paper-inline-alert-error" role="alert" v-if="emailPromptError">{{ emailPromptError }}</p>
<div class="email-prompt-actions">
<button type="button" class="btn btn-outline-ink" :disabled="emailPromptBusy" @click="respondToEmailPrompt('later')">Remind me later</button>
<button type="button" class="btn btn-outline-ink" :disabled="emailPromptBusy" @click="respondToEmailPrompt('never')">Never</button>
<button type="submit" class="btn btn-ink" :disabled="emailPromptBusy">{{ emailPromptBusy ? 'Saving…' : 'Save' }}</button>
</div>
</form>
</dialog>