Better GitHub

去除“更新付款方式”错误;在 PR 界面添加快进式合并按钮。

当前为 2025-06-08 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Better GitHub
  3. // @namespace https://gf.qytechs.cn/zh-CN/scripts/515684
  4. // @version 0.2.0
  5. // @description 去除“更新付款方式”错误;在 PR 界面添加快进式合并按钮。
  6. // @author ketikai
  7. // @license MIT
  8. // @match https://github.com/*
  9. // @icon https://github.com/fluidicon.png
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. // <section aria-label="Error" class="flash flash-full js-notice flash-error">...</section>
  17. function RemoveUpdateYourPaymentMethodError() {
  18. let sections = document.getElementsByTagName('section');
  19. if (!sections) {
  20. return;
  21. }
  22. for (let i = 0; i < sections.length; i++) {
  23. let section = sections[i];
  24. if (!section) {
  25. continue;
  26. }
  27. if (section.ariaLabel != 'Error') {
  28. continue;
  29. }
  30. if (section.className != 'flash flash-full js-notice flash-error') {
  31. continue;
  32. }
  33. let text = section.innerText;
  34. if (!text || !text.startsWith("We are having a problem billing your account. Please update your payment method or call your payment provider for details on why the transaction failed.")) {
  35. continue;
  36. }
  37. section.remove();
  38. console.log('Removed Error: UpdateYourPaymentMethod.');
  39. break;
  40. }
  41. }
  42.  
  43. function insertFastForwardButton() {
  44. if (document.getElementsByClassName('bgColor-success-emphasis').length < 1) {
  45. return;
  46. }
  47. let commentDiv = document.getElementsByClassName('color-bg-subtle ml-1')[0];
  48. if (commentDiv.textContent.trim() === 'Comment') {
  49. let parent = commentDiv.parentElement;
  50. let fastForwardDiv = commentDiv.cloneNode(true);
  51. let fastForwardButton = fastForwardDiv.getElementsByTagName('button')[0];
  52. fastForwardButton.textContent = 'Fast forward';
  53. fastForwardButton.getAttributeNames().forEach(function(name) {
  54. if (name !== 'class') {
  55. fastForwardButton.removeAttribute(name);
  56. }
  57. });
  58. fastForwardButton.setAttribute('type', 'button');
  59. let textArea = document.getElementById('new_comment_field');
  60. let commentButton = commentDiv.getElementsByTagName('button')[0];
  61. fastForwardButton.onclick = function(event) {
  62. if (event.button == 0) {
  63. if (textArea.textContent === '/fast-forward') {
  64. commentButton.disabled = false;
  65. commentButton.click();
  66. commentButton.disabled = true;
  67. textArea.textContent = '';
  68. } else {
  69. textArea.textContent = '/fast-forward';
  70. commentButton.disabled = true;
  71. }
  72. }
  73. };
  74. parent.insertBefore(fastForwardDiv, commentDiv);
  75. }
  76. }
  77.  
  78. insertFastForwardButton();
  79. RemoveUpdateYourPaymentMethodError();
  80. document.addEventListener("DOMContentLoaded", function(event) {
  81. insertFastForwardButton();
  82. RemoveUpdateYourPaymentMethodError();
  83. });
  84. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址