Skip to content

Commit c474e97

Browse files
committed
chore: update version to 6.3 and enhance logging for token validation and retrieval
1 parent 715d415 commit c474e97

1 file changed

Lines changed: 32 additions & 6 deletions

File tree

MergeDependabotPRs.user.js

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ==UserScript==
22
// @name Auto-Merge Dependabot PRs
33
// @namespace typpi.online
4-
// @version 6.2
4+
// @version 6.3
55
// @description Merges Dependabot PRs in any of your repositories - pulls the PRs into a table and lets you select which ones to merge.
66
// @author Nick2bad4u
77
// @match https://github.com/notifications
@@ -34,6 +34,10 @@
3434
delay = Number(delay);
3535
}
3636

37+
/**
38+
* Shows a modal dialog for secure GitHub token input.
39+
* @returns {Promise<string>} The entered token.
40+
*/
3741
async function showSecureTokenInputModal() {
3842
return new Promise((resolve) => {
3943
let modal = document.getElementById('github-token-modal');
@@ -63,21 +67,25 @@
6367

6468
document.getElementById('submit-token').addEventListener('click', () => {
6569
const tokenInput = document.getElementById('github-token-input').value;
70+
console.log('[Auto-Merge Dependabot PRs] Token entered via modal.');
6671
modal.remove();
6772
resolve(tokenInput);
6873
});
6974
}
7075
});
7176
}
7277

78+
/**
79+
* Initializes the script by ensuring a valid token and username are set.
80+
*/
7381
async function initialize() {
7482
let token;
7583
try {
7684
// Attempt to retrieve and decrypt the token
77-
// If the token is not found or decryption fails, it will return an empty string
7885
token = await retrieveAndDecryptToken();
86+
console.log('[Auto-Merge Dependabot PRs] Token retrieved and decrypted.');
7987
} catch (error) {
80-
console.error('Failed to retrieve and decrypt token:', error);
88+
console.error('[Auto-Merge Dependabot PRs] Failed to retrieve and decrypt token:', error);
8189
alert('Failed to retrieve and decrypt token. Please check the console for more details.');
8290
throw error; // Stop further execution
8391
}
@@ -91,16 +99,19 @@
9199
} else {
92100
try {
93101
await validateGitHubToken(token);
94-
} catch {
102+
console.log('[Auto-Merge Dependabot PRs] GitHub token validated.');
103+
} catch (e) {
104+
console.error('[Auto-Merge Dependabot PRs] Invalid GitHub token:', e);
95105
alert('Invalid GitHub token. Please enter a valid token.');
96106
token = null;
97107
}
98108
}
99109
}
100110
try {
101111
await encryptAndStoreToken(token);
112+
console.log('[Auto-Merge Dependabot PRs] Token encrypted and stored.');
102113
} catch (error) {
103-
console.error('Failed to encrypt and store token:', error);
114+
console.error('[Auto-Merge Dependabot PRs] Failed to encrypt and store token:', error);
104115
alert('Failed to encrypt and store token. Please check the console for more details.');
105116
throw error; // Stop further execution
106117
}
@@ -116,7 +127,9 @@
116127
try {
117128
await validateGitHubUsername(username, token);
118129
GM_setValue('github_username', username);
119-
} catch {
130+
console.log('[Auto-Merge Dependabot PRs] GitHub username validated and saved.');
131+
} catch (e) {
132+
console.error('[Auto-Merge Dependabot PRs] Invalid GitHub username:', e);
120133
alert('Invalid GitHub username. Please enter a valid username.');
121134
username = '';
122135
}
@@ -126,6 +139,10 @@
126139
}
127140
}
128141

142+
/**
143+
* Validates the GitHub token by making an authenticated request.
144+
* @param {string} token
145+
*/
129146
async function validateGitHubToken(token) {
130147
return new Promise((resolve, reject) => {
131148
GM_xmlhttpRequest({
@@ -138,16 +155,23 @@
138155
if (response.status === 200) {
139156
resolve();
140157
} else {
158+
console.warn('[Auto-Merge Dependabot PRs] Token validation failed:', response.responseText);
141159
reject(new Error(`Token validation failed: ${response.responseText}`));
142160
}
143161
},
144162
onerror: function (error) {
163+
console.error('[Auto-Merge Dependabot PRs] Token validation error:', error);
145164
reject(error);
146165
},
147166
});
148167
});
149168
}
150169

170+
/**
171+
* Validates the GitHub username by making an authenticated request.
172+
* @param {string} username
173+
* @param {string} token
174+
*/
151175
async function validateGitHubUsername(username, token) {
152176
return new Promise((resolve, reject) => {
153177
GM_xmlhttpRequest({
@@ -160,10 +184,12 @@
160184
if (response.status === 200) {
161185
resolve();
162186
} else {
187+
console.warn('[Auto-Merge Dependabot PRs] Username validation failed:', response.responseText);
163188
reject(new Error(`GitHub username validation failed: ${response.responseText}`));
164189
}
165190
},
166191
onerror: function (error) {
192+
console.error('[Auto-Merge Dependabot PRs] Username validation error:', error);
167193
reject(error);
168194
},
169195
});

0 commit comments

Comments
 (0)