@@ -10305,13 +10305,13 @@
1030510305 }, (rule, err) => {
1030610306 if (rule.id == 1) {
1030710307 showTips(`Failed to update wedata rules! Try to switch to wedata mirror!`);
10308- wedata2githubInput.scrollIntoView({ behavior: "smooth" });
10308+ wedata2githubInput.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
1030910309 } else {
1031010310 showTips(`Failed to update ${rule.url} rules!`);
1031110311 }
1031210312 debug(err);
1031310313 updateFail = true;
10314- });
10314+ }, false, true );
1031510315 };
1031610316 let customRulesTitle = document.createElement("h2");
1031710317 setHTML(customRulesTitle, i18n("customRules", /tree/.test(location.href) ? location.href.replace('tree', 'edit').replace(/\/$/, '') + '/pagetualRules.json' : 'https://github.com/hoothin/UserScripts/edit/master/Pagetual/pagetualRules.json'));
1053210532 return true;
1053310533 }
1053410534
10535- function updateRules (success, fail, keepCache) {
10535+ function updateRules (success, fail, keepCache, forceWedataMirrorFallback ) {
1053610536 if (!storage.supportCrossSave()) {
1053710537 fail({url:''}, "Not support cross storage");
1053810538 showTips("Current platform do not support cross storage!");
1054910549 let preLength = ruleParser.rules.length;
1055010550 let fetchVersion = -1;
1055110551 let triedWedataMirrorFallback = false;
10552- function switchToWedataMirrorOnFirstUpdate (rule) {
10553- if (!rule || rule.id !== 1 || rulesData.wedata2github || updateDate) {
10552+ function switchToWedataMirrorOnFail (rule) {
10553+ if (!rule || rule.id !== 1 || rulesData.wedata2github || ( updateDate && !forceWedataMirrorFallback) ) {
1055410554 return false;
1055510555 }
1055610556 rulesData.wedata2github = true;
1063510635 if (await needUpdate(rule.url, rule.id)) {
1063610636 ruleParser.addRuleByUrl(rule.url, rule.id, (json, err) => {
1063710637 if (!json) {
10638- if (!triedWedataMirrorFallback && switchToWedataMirrorOnFirstUpdate (rule)) {
10638+ if (!triedWedataMirrorFallback && switchToWedataMirrorOnFail (rule)) {
1063910639 triedWedataMirrorFallback = true;
1064010640 ruleParser.addRuleByUrl(rule.url, rule.id, (retryJson, retryErr) => {
1064110641 if (!retryJson) {
0 commit comments