שיחת מדיה ויקי:Gadget-DeleteRequest.js

תגובה אחרונה: לפני שנה מאת קיפודנחש בנושא קריסה וריענון חזרתי

הודעת שגיאה עריכה

אצלי (IE7) הסקריפט גורם להודעת שגיאה, Invalid argument ב-Line 20 ו-char 5. --אפי ב. • התחברו לרגשותיכם16:51, 11 במרץ 2009 (IST)תגובה

הבעת הערכה עריכה

תודה רבה ליוצר/ת הגאדג'אט! זה עוזר לי מאוד בניטור! --Guycn2 - שיחה 18:24, 9 ביוני 2013 (IDT)תגובה

הצעות לשיפורים עריכה

יש לא מעט בקשות שנדחות בויקיפדיה:בקשות ממפעילים וכדאי שבדומה למפעילי מערכת, בעת הצגת הבקשה יהיה קישור לדפי המדיניות למשל ויקיפדיה:מדיניות המחיקה. כמו כן כדאי לעבור להשתמש בOOJS כנהוג היום במקום jquery. ערן - שיחה 08:12, 12 במרץ 2019 (IST)תגובה

כפילויות עריכה

הסקריפט בודק כפילויות, אבל רק כשלוחצים על menu item - עד שהמשתמש ימלא את תקציר העריכה, יש סיכוי טוב שכבר תיווצר כפילות (בפועל זה קורה הרבה ודווח כבאג במזנון). מציע לשנות את הפונקציה save ולעטוף אותה עם הפונקציה הקיימת checkRequestDuplication:

function save(title, summary, content, section, next) {
	checkRequestDuplication().fail(function(err){
			mw.notify(err);
		}).done(function(){
			var param = {action: 'edit', title: title, summary: summary.replace(/replaceParam/g, mw.config.get("wgPageName").replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName')), token: mw.user.tokens.get('csrfToken'), section: section || '0', appendtext: content, format: 'json', tags:'בקשות_ממפעילים'};
			$.post(mw.util.wikiScript('api'), param, function(data) {
				if (data && data.error)
					mw.notify('שגיאה בשמירה: ' + ( data.error.info || 'שגיאה לא ידועה' ) );
				else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
					next();
			});
		});
}

בדקתי את זה בסקריפט משתמש כניסוי וזה עובד חלק. תומר - שיחה 13:06, 2 בינואר 2021 (IST)תגובה

מתייג את ערן. תומר - שיחה 13:07, 2 בינואר 2021 (IST)תגובה
תומר: עבור דפים למחיקה יש בדיקה נוספת לגבי דפים מקושרים (שמצריכה קריאת API נוספת) - התלבשתי על הבדיקה הזו כדי לחסוך קריאות נוספות לAPI. ערן - שיחה 01:00, 3 בינואר 2021 (IST)תגובה
לא יודע למה, אבל אצלי בכלל לא עבד כל הגאדג'ט מתי שעלה השינוי. PRIDE! - שיחה 10:52, 3 בינואר 2021 (IST)תגובה
ערן, לא הבנתי למה בסוף לא הכנסת את השינוי. מדובר רק על הבדיקה של הכפילות, לא על בדיקה של דפים מקושרים. אני רוצה להוסיף אותה גם רגע לפני השמירה. תומר - שיחה 12:21, 3 בינואר 2021 (IST)תגובה
הכנסתי בדיקה של כפילות אחרי ציון הסיבה ולפני השמירה יחד עם שינויים אחרים בקוד כשהמטרה היא להימנע מקריאת API מיותרת במחיקה. בדקתי את זה בצורה בסיסית, אבל נראה שנדרשת בדיקה נוספת בעקבות התלונה לעיל ולכן ביטלתי בינתיים את השינוי שעשיתי. ערן - שיחה 23:44, 3 בינואר 2021 (IST)תגובה
ערן, למה מחקת את הפרמטר next מהפונקציה save? שים לב שב-switch-case בסוף שולחים תמיד ל-save פרמטר אחרון שהוא פונקציית next. כנראה שזה נכשל ברגע שלחצו על כל כפתור ב-addMenuItem. אגב, הקוד שם לא קריא בעליל, חייב פישוט והגדרת משתנים - להעביר ל-openDialog שם של משתנה ולא להתחיל להגדיר בתוכו פונקציות... ובאמת חובה להגדיר את הכותרת של בקשות ממפעילים כקבוע... תומר - שיחה 00:14, 4 בינואר 2021 (IST)תגובה
הגדרה של callback בשם next הוחלפה בpromise. ערן - שיחה 00:27, 4 בינואר 2021 (IST)תגובה
מעניין, לא הכרתי את הסינטקס. לא מבין למה זה לא עבד, ניסיתי גם בסקריפט מקומי ורץ כשורה. אגב, יש בעיה אחרת - בדיקת הכפילות והווידוא של ״האם אתם בטוחים שאתם רוצים לשמור על אף הכפילות?״ קורים יחד, כך ששואלים את זה פעמיים - אם הייתה כפילות ובחרת בכל אופן לשמור, אחרי מילוי התקציר ישאלו אותך שוב האם אתה רוצה לשמור. צריך לזכור את התשובה הראשונה. תומר - שיחה 09:46, 4 בינואר 2021 (IST)תגובה

באג כפילות עם דף שיחה עריכה

Omer abcd, כתבת בדיון במזנון בנושא הגאדג'ט: "יש לי שתי הערות, אחת-אם כבר מדברים על דפי שיחה שצריכים להימחק, יש בעיה בגאדג'ט שהוא חושב שהדף מופיע בווק:במ מכיוון שזה אותו שם, על אף שמרחבי השם שונים". חקרתי את הבאג הזה וזה לא קשור לכך שמדובר על אותו שם במרחבים שונים - הבעיה היא שב{{בקשת מחיקה}} נוצר באופן אוטומטי גם קישור לדף השיחה (הפרמטר הראשון בסוגריים). האופן שבו מזהים כפילות הוא בדיקה האם קיים קישור לדף שמציעים להוסיף, ואם קיים כזה - מתריעים על כפילות. כך ש"בקשת מחיקה" של הערך תגרום לזיהוי כפילות כשמנסים להוסיף בקשת מחיקה לדף השיחה. בעיקרון זה פתיר - או על ידי הסרת הקישור הזה מהתבנית, או על ידי שינוי משמעותי של המנגנון שבו בודקים כפילות, והפיכתו להרבה יותר מורכב (זה אפשרי, אבל זה לא יהיה דרך API כפי שזה ממומש היום). כדי להעריך את התועלת בשינויים כאלו, תוכל לומר עד כמה זה נפוץ שנתקלת במקרים כאלו? נשמע שזה מקרה נדיר. תומר - שיחה 17:04, 2 בינואר 2021 (IST)תגובה

tomer T זה לא נדיר שיוצרים של ערכי הבל יוצרים גם דף שיחה לערך ההבל, ואז יש לבקש גם את מחיקת דף השיחה, אולי אפשר לעשות שההתרעה על כפילות לא תהיה בדפי שיחה, אומנם אז תהיה היתכנות לכפילות של בקשות מחיקה כאלה. אפשר גם לדעתי לעשות שזה יזהה את הטקסט
{{בקשת מחיקה|(הערך אותו מבקשים למחוק)
וכך ידע אם אכן ישנה כפילות, אני לא חושב שדבר כזה יהיה קשה כלכך... לשאלתך, אני אכן חושב שזה מומלץ לתקן את הבאג עקב יצירת דפי שיחה לערכי הבל המתרחשת לעיתים... Omer abcd - שיחה 17:52, 2 בינואר 2021 (IST)תגובה
זה בדיוק הפתרון האפשרי - להתחיל להסתכל על תוכן הדף ולנתח אותו עם ביטויים רגולריים במקום שימוש ב-API (או משהו בכיוון)... ככה עובד פחות או יותר הסקריפט שלי לניקוי בקשות, זה יותר מסורבל אבל אפשרי. תודה על ההתייחסות. אם אתה אומר שזה נפוץ - אנסה לכתוב לזה פתרון. לגבי האופציה לא לחפש כפילויות עבור דף שיחה - אני לא חושב שזה רעיון טוב. תומר - שיחה 17:56, 2 בינואר 2021 (IST)תגובה
הנה דוגמא למקרה עם ערך ההבל נור גזיאני שטרם נמחק נכון לרגע זה Omer abcd - שיחה 17:58, 2 בינואר 2021 (IST)תגובה
יש סיבה לבקש בנפרד את מחיקת דף השיחה? אחת הסיבות ש{{בקשת מחיקה}} מקשרת לדף השיחה היא כדי שמפעילים יוכלו לבדוק אותו. ערן - שיחה 01:04, 3 בינואר 2021 (IST)תגובה
לא נראה לי שהמפעילים בודקים את דף השיחה בכל מחיקה. עדיף שניתן יהיה לבקש את מחיקת השיחה במפורש. תומר - שיחה 08:22, 3 בינואר 2021 (IST)תגובה
הם לא מסתכלים בכלל על דף השיחה. צריך לתת להם גם בקשה לדף השיחה של הדף (אם קיים). PRIDE! - שיחה 10:55, 3 בינואר 2021 (IST)תגובה
אני כן מסתכל על דף השיחה. כשמדובר בהפניה, לאו דווקא יש טעם להשקיע במחיקה שלה (למשל כשדף הועבר לשם אחר) ויש סיבה שהיא לא נמחקת, וכשמדובר בשטויות הן כן נמחקות. האם אפשר להביא דוגמה לדף שיחה שצריך היה להימחק ולא נמחק יחד עם הדף המתאים לו? ערן - שיחה 23:40, 3 בינואר 2021 (IST)תגובה

────────────────────────────────────────────────────────────────────────────────────────────────────

טוב, פתרון מוצע להלן: אם מדובר בדף שיחה, צריך שיהיו יותר קישורים לדף השיחה, מאשר מספר השימושים של {{בקשת מחיקה}} עבור הדף הראשי המקביל (מהמרחב הראשי המקביל,שאינו דף שיחה). זיהוי {{בקשת מחיקה}} נעשה על ידי לינק ל"דפים המקושרים לכאן" (שגם נכלל בתבנית) עבור הדף הראשי. גישה אפשרית אחרת היא לחפש כאמור לעיל ביטוי רגולרי של שימוש בתבנית, אבל זה יפסח על מקרים בהם הבקשה נעשית באמצעות לינק פשוט, בלי תבנית בקשת המחיקה (מקרים שמזוהים היום, כי הכלל מבוסס על קישורים). הפתרון המוצע אמור לשנות את המימוש של הפונקציה checkRequestDuplication, הוא עובד ונבדק בסקריפט מקומי:

function talkPageTitleToMainPage(title) {
	// Variable will hold a map of namespaces - each following value is the talk page namespace of preceding entry
	var namespaces = mw.config.get('wgFormattedNamespaces');
	/*
	0: ""
	1: "שיחה"
	2: "משתמש"
	3: "שיחת משתמש"
	4: "ויקיפדיה"
	5: "שיחת ויקיפדיה"
	6: "קובץ"
	7: "שיחת קובץ"
	8: "מדיה ויקי"
	9: "שיחת מדיה ויקי"
	10: "תבנית"
	11: "שיחת תבנית"
	12: "עזרה"
	13: "שיחת עזרה"
	14: "קטגוריה"
	15: "שיחת קטגוריה"
	100: "פורטל"
	101: "שיחת פורטל"
	108: "ספר"
	109: "שיחת ספר"
	118: "טיוטה"
	119: "שיחת טיוטה"
	446: "Education Program"
	447: "Education Program talk"
	828: "יחידה"
	829: "שיחת יחידה"
	2300: "גאדג'ט"
	2301: "שיחת גאדג'ט"
	2302: "הגדרת גאדג'ט"
	2303: "שיחת הגדרת גאדג'ט"
	2600: "נושא"
	-1: "מיוחד"
	-2: "מדיה"
	*/
	var i = 0;
	var takePrevious = false;
	var previousEntry = "";
	var titleNoPrefix = "";
	for (const [key, value] of Object.entries(namespaces)) {
		// Replace space with _, to match value returned from wgPageName
		var formattedValue = value.replaceAll(' ', '_');
		if (takePrevious) {
			// Add ":" only if not article namespace
			if (previousEntry.length == 0) {
				return titleNoPrefix;
			} else {
				return previousEntry + ":" + titleNoPrefix;
			}
		}
		// Check if a talk-page namespace (odd index) - matches title
		if (i % 2 == 1 && title.startsWith(formattedValue + ":")) {
			// Ignore negative keys, which are main namespaces without talkpage
			if (key < 0) {
				return "";
			}
			// Matching namespace - take the previous entry as main page prefix 
			takePrevious = true;
			// Take whatever's after "prefix:"
			titleNoPrefix = title.substring(value.length + 1, title.length);
		}
		// Main page prefix (other than empty for articles) - means no matching main (non-talk-page) exists
		if (i > 0 && i % 2 == 0 && title.startsWith(formattedValue + ":")) {
			return "";
		}
		i++;
		// Set previousEntry only if we didn't find correct previous (matching main namespace) yet
		if (!takePrevious) {
			previousEntry = formattedValue;
		}
	}
	// If we got here - this is the main namespace, no matching main page
	return "";
}

function checkRequestDuplication() {
	var requestChecker = new $.Deferred();
	var title = mw.config.get('wgPageName');
	var equivalentMain = talkPageTitleToMainPage(title);
	
	$.ajax({
		url: mw.config.get('wgServer') + '/wiki/ויקיפדיה:בקשות ממפעילים',
		dataType: 'html',
	}).done(function(d) {
		var doc = new DOMParser().parseFromString(d, "text/html");
		var links = doc.getElementsByTagName("a");
		var linksToPage = 0;
		var linksToLinkedPages = 0;
		for(var i=0; i<links.length; i++) {
			if (links[i].title.replaceAll(' ', '_') == title.replaceAll(' ', '_')) {
				linksToPage++;
			}
			if (links[i].title.replaceAll(' ', '_') == ("מיוחד:דפים_המקושרים_לכאן/" + equivalentMain).replaceAll(' ', '_')) {
				linksToLinkedPages++;
			}
		}
		if (linksToPage > 0) {
			if (equivalentMain !== "") {
				// If we're in a talk page - link may result from usage of "בקשת מחיקה" template for the page of equivalent non-talk namespace.
				// We only identify as duplicate if there are more links to the talk page than usages of the template for the non-talk equivalent.
				// Identify the template by a link to דפים_המקושרים_לכאן.
				if (linksToPage == linksToLinkedPages) {
					requestChecker.resolve();
					return;
				}
			}
			if (!confirm('הדף כבר מוזכר בבקשות ממפעילים. האם לשלוח בכל זאת את הבקשה?')) {
				requestChecker.reject('הדף כבר מוזכר בבקשות ממפעילים. הבקשה לא בוצעה');
				return;
			}
		}
		requestChecker.resolve();
	});
	return requestChecker;
}

מתייג את עורכי ממשקמשתמש:Daryagמשתמש:IKhitronמשתמש:Kotzמשתמש:Mikey641משתמש:Uziel302משתמש:חיים 7משתמש:יונה בנדלאקמשתמש:מיכי י-םמשתמש:עלימשתמש:ערןמשתמש:קיפודנחשמשתמש:שמוליק. תומר - שיחה 12:20, 3 בינואר 2021 (IST)תגובה

נשמע פתרון טכני מורכב לבעיה שאינה טכנית. כשמפעיל מוחק דף, יש עוד כמה דברים שצריך לעשות, אחד מהם הוא הצצה בדף השיחה והפעלת שיקול דעת האם למחוק גם אותו. קיפודנחש 17:23, 3 בינואר 2021 (IST)תגובה

קיפודנחש, זה נכון ברמת העיקרון. לפי עומר ויורו, זה בדרך כלל לא קורה לצערנו. אפשר גם לפשט את זה ולהסתכל על ביטויים רגולריים של תבנית בקשת מחיקה, שזה קצת פחות גנרי אבל ברוב המקרים יזהה כפילות היכן שצריך, וטכנית לא מורכב מדי (מקסימום לא יתריע על כפילות במקרה של אי שימוש בתבנית). תומר - שיחה 17:56, 3 בינואר 2021 (IST)תגובה
כשמוחקים דף, יש לבדוק את דף השיחה (אם יש כזה; לרוב ערכי ההבל אין), ולשקול האם ראוי למחוק גם אותו. אם יש מפעילים ששוכחים לעשות זאת, יש להזכיר להם. הסתמכות על בקשה נפרדת למחיקת דף השיחה זה מנגנון רעוע ולא אמין, ובקשות כאלו מיותרות. ערן ביקש דוגמה לדף שיחה שהיה צריך להימחק ונשאר - אודה על האמת שאופתע אם תוכל למצוא כזה. אם יש, צריך לצוד את המפעילים שמחקו, ולהזכיר להם שבדיקת דף השיחה והפעלת שיקול דעת אם למחוק או להשאיר הם חלק בלתי נפרד מהטקס, בדומה לבדיקת קישורים והפניות לדף שמוחקים. בב"ח - קיפודנחש 07:26, 4 בינואר 2021 (IST)תגובה
יש לי רעיון נוסף, אפשר להוסיף כשמבקשים למחוק את הדף אפשרות ״בקש את מחיקת דף השיחה״ שאם תסומן תופיע בקשה נפרדת לדף השיחה... Omer abcd - שיחה 07:44, 4 בינואר 2021 (IST)תגובה
נשמע כמו רעיון לא רע. אגב Omer abcd, Euro know, אם אתם מעוניינים בינתיים בפתרון עוקף - בקשו קודם כול את מחיקה דף השיחה, ורק אז את הדף הראשי. תומר - שיחה 17:48, 4 בינואר 2021 (IST)תגובה
לפעמים משחיתים את הערך, אחר כך מבקשים למחוק את הדף, ואז משחיתים את דף השיחה, אז זה לא ממש פתרון. PRIDE! - שיחה 17:52, 4 בינואר 2021 (IST)תגובה
אם כך גם לא הפתרון שהציע עומר. תומר - שיחה 17:55, 4 בינואר 2021 (IST)תגובה
פתרון למה? מה בדיוק הבעיה? אם הבעיה היא שמפעילים שמוחקים דף לא מוחקים דף שיחה שראוי למחוק, ה"פתרון" הוא להדריך את המפעילים ולוודא שהם יודעים את תפקידם. אם אין בעיה כזו (ולמיטב ידיעתי אין), לא צריך לעשות כלום. חבל לבזבז זמן על ניסיונות להוסיף לכלי שכלולים לא מועילים. קיפודנחש 20:32, 4 בינואר 2021 (IST)תגובה
בדרך כלל, זה לא מבוצע. אולי אתה לא עושה זאת, אבל הרוב בכלל לא מסתכל על דף השיחה. PRIDE! - שיחה 22:16, 5 בינואר 2021 (IST)תגובה

האמירה הזו נשמעה בשיחה זו מספר פעמים, אך אינה מגובה ולו בדוגמה אחת, ולא תואמת את המציאות המוכרת לי. במעלה השיחה ערן ביקש דוגמה לדף שנמחק, ודף השיחה שלו נשאר למרות שהיה צריך להימחק (יש סיבות טובות להשאיר דפי שיחה כשמוחקים דפים, והדגש כאן הוא על "צריך להימחק"). הבקשה טרם התמלאה. בפעם האחרונה שביקשתי מחיקה, הוספתי לדף השיחה בקשה "למפעיל שימחק", כמובן ללא אזכור, כדי שיאשר שאכן קרא עת השיחה ושקל אם למחוק או להשאיר, והאישור הגיע בד בבד עם המחיקה. אם יש מפעילים ספורים שמתרשלים בכך, יש להזכיר להם. לא ידוע לי שיש כאלו. קיפודנחש 20:12, 7 בינואר 2021 (IST)תגובה

בסופו של דבר הסקריפט לא חוסם אף אחד מלהוסיף - ניתן לעשות את זה גם ידנית, גם במענה "כן" לשאלה "האם אתה בטוח שברצונך להוסיף" וגם על ידי הפתרון העוקף שתיארתי. הייתי מסכים עם קיפודנחש אלמלא היה מדובר בבאג ברור. והודעה למשתמש שמתריעה על מצב שגוי זה אף פעם לא טוב. תומר - שיחה 00:02, 8 בינואר 2021 (IST)תגובה
מצאתי דוגמא לערך שדף שיחתו לא נמחק פוינטיליזם (מוזיקה) omer abcd דף השיחה שלי חתול חמוד ~ 10:35, 27 בינואר 2021 (IST)תגובה

באג חתימה כפולה עריכה

יש באג שגורם לעיתים לחתימה כפולה (ראו את החתימות הכפולות של ארז האורז ושלי בגרסה זו)

כבר מצאתי את האופן שבו ניתן לתקן את זה – על ידי החלפת שורות מספר 117-119 בקוד שכאן, בשורות 186 – 199 האלו.

@עורכי ממשקמשתמש:Daryagמשתמש:IKhitronמשתמש:Kotzמשתמש:Mikey641משתמש:Uziel302משתמש:חיים 7משתמש:יונה בנדלאקמשתמש:מיכי י-םמשתמש:עלימשתמש:ערןמשתמש:קיפודנחשמשתמש:שמוליק. –מקף־ 20:52, 13 בדצמבר 2021 (IST)תגובה

היי @מקף, ההגיון אומר שלפעמים משום מה הוא חותם עם סיבה ובלי סיבה, בגלל השורה הבאה:
if (message.match(/reason/)) {message += ' ~~' + '~~'}else{message += ' – reason ~~' + '~~'}
אז מה אתה מציע? • חיים 7שיחה10:48, 14 בדצמבר 2021 (IST)תגובה
אני מציע שאם עדיין אין סיבה (אפשר להוסיף בתנאי גם עדיין אין חתימה, אבל מיותר), אז זה יוסיף את שתיהן, ושלאחר מכן הreason יוחלף במחרוזת הפירוט (בין אם יש בה מידע ובין אם היא המחרוזת הריקה). –מקף־ 16:03, 14 בדצמבר 2021 (IST)תגובה
@חיים? –מקף־ 03:23, 15 בדצמבר 2021 (IST)תגובה
אני לא מצליח להבין מה כתבת, או שאתה לא הבנת מה כתוב בקוד, או שבכלל שנינו לא הבנו  חיים 7שיחה15:31, 15 בדצמבר 2021 (IST)תגובה
@חיים 7, אני חושב שהבנתי אבל אולי אני בעצם לא...
בכל מקרה, לי זה עבד. אתה רוצה שאנסה בטיוטה במרחב המשתמש שלי לפני שנשנה כאן? –מקף־ 15:45, 15 בדצמבר 2021 (IST)תגובה

על מה אתם מדברים? מקף, נרלי שהתבלבלת. קשר בבקשה להבדל בין גרסאות שמראה חתימה כפולה. אנא אל תגעו בקוד אם אינכם מבינים אותו. קיפודנחש 19:06, 15 בדצמבר 2021 (IST)תגובה

[1], [2]. –מקף־ 19:12, 15 בדצמבר 2021 (IST)תגובה
בלי שום קשר לבג, תפסיק בבקשה לבקש הגנה על תבניות ככה סתם. יש לנמק מדוע תבנית מסוימת זקוקה להגנה, לא "מתאים להגנת תבניות". תקוותי שבקשות כאלה נדחות בדרך כלל. קיפודנחש 19:25, 15 בדצמבר 2021 (IST)תגובה
יש לי ניחוש, אולי תעשו שזה תמיד יכלול סיבה בלי הif וelse ואז הסיבה תמיד תתחיל ברווח ובכך לא יתווסף דבר אם לא צוינה סיבה omer abcd ~ דף השיחה שלי 🐱 20:11, 15 בדצמבר 2021 (IST)תגובה
הסבירו לי, תודה🙂👍 –מקף־ 20:31, 15 בדצמבר 2021 (IST)תגובה
רפרפתי על ההיסטוריה של וק:במ ולא מצאתי עוד דוגמאות לחתימה כפולה.
אם לא תמצא עוד, כרגע יש לסגור את הדיווח כ-irreproducible. אם זה יקרה לך או למישהו עוד פעם, נסתכל שוב. קיפודנחש 22:49, 15 בדצמבר 2021 (IST)תגובה
👍 –מקף־ 22:52, 15 בדצמבר 2021 (IST)תגובה
הנה חתימה כפולה שקרתה לי הרגע. עורכי ממשקמשתמש:Daryagמשתמש:IKhitronמשתמש:Kotzמשתמש:Mikey641משתמש:Uziel302משתמש:חיים 7משתמש:יונה בנדלאקמשתמש:מיכי י-םמשתמש:עלימשתמש:ערןמשתמש:קיפודנחשמשתמש:שמוליק הבאג לא תוקן omer abcd ~ דף השיחה שלי 🐱 21:44, 18 בדצמבר 2021 (IST)תגובה
אני שב ואומר שלדעתי הדרך הנכונה לפתור את זה היא זו. אני לא מבין לעומק את כל בניית הקוד והזרימה שלו, אבל במקטע הזה הגיוני שה/סיבה/ והחתימה יצורפו אם טרם צורפו, ושבהמשך אם לא הוזנה סיבה אזי שה/סיבה/ תוחלף במחרוזת הריקה (אי הפירוט שנקלט מהמשתמש). –מקף־ 21:50, 18 בדצמבר 2021 (IST)תגובה
דעות זה יפה, וחשוב שלכל אחד תהיה דעה משלו.
לגבי תחזוקת קוד, "תיקון בג" שאינו בר שחזור זה דבר בעייתי. אם אינך יודע לשחזר את הבעיה, איך תדע אם התיקון הצליח? אתה העתקת את הקוד למרחב המשתמש שלך, עם שינויים. האם ניסית את הקוד המועתק? האם וידאת שהוא מוסיף חתימה בכל המקרים? (רמז - בסקריפט שלך זה עובד, אבל התנאי מיותר - אתה אף פעם לא מעביר הודעה שכוללת את המחרוזת reason. בסקריפט הזה, הקוד שהצעת ישאיר הודעות לא חתומות בחלק מהמקרים, בלי לתקן שום "בג").
בגדול, כשזה מגיע לתחזוקת קוד, יש כמה גישות. אם אתה סמוך ובטוח שהקוד מובן לך על בוריו ואתה יודע בדיוק מה קורה ואיך הקוד מתנהג בכל מצב אפשרי, אז כנראה מה שתחליט לעשות יהיה נכון.
כשאתה לא בטוח שאתה מבין את הקוד (זה המקרה כאן), ויש לך "הצעה לתיקון", עליך לעשות מספר דברים לפני שההצעה תישקל ברצינות:
  • לשחזר בצורה אמינה והדירה את הבג אותו אתה מנסה לתקן, בשימוש בקוד הנוכחי
  • לחזור על אותן פעולות בדיוק בקוד הנבדק, ולוודא שאכן התיקון מתקן את הבג
  • לבדוק מקרים שלא אמורים להיות מושפעים, כשהקוד הנוכחי פועל בצורה תקינה, ולוודא שהקוד הנבדק לא שובר משהו
במקרה זה לא עשית אף אחד מהדברים הללו - אינך יודע לשחזר את הבג, והקוד הנבדק שבור.
דיברת על הדרך הנכונה לפתור את "זה". הצעד הראשון ב"דרך הנכונה" הוא לוודא שיש בכלל "זה". במקרה הנוכחי נראה לי שאין. קיפודנחש 00:25, 19 בדצמבר 2021 (IST)תגובה
להודות על האמת, לא נראתה לי בעיה ששווה להתעסק אתה. מדי פעם מופיעה חתימה כפולה. נו שוין.
בכולופן הצצתי בקוד, וההסבר היחיד האפשרי הוא שפונקציית click נקראה פעמיים. ככל הנראה הבעיה הייתה כאשר המשתמש הקיש על הכפתור יותר מפעם אחת. פיצ'פצ'תי שם משהו ועכשיו מתעלמים מכל הקליקים אחרי הראשון. בהסתברות של 93.57% זה מתקן את הבעיה, למרות שזו בעיה שאפשר היה לחיות אתה לנצח, בלי שזה באמת יפריע למישהו. קיפודנחש 01:04, 19 בדצמבר 2021 (IST)תגובה
טוב, אני כמובן סומך עליך הרבה יותר מאשר על עצמי בנושא הזה. אחזיר את ה'תיקון' בקוד הניסוי וטעיה של ה-CheckRequest, ואוסיף את הפאצ' שלך🙂, תודה על ההשקעה בפירוט🙃 –מקף־ 01:26, 19 בדצמבר 2021 (IST)תגובה

קריסה וריענון חזרתי עריכה

עורכי ממשקמשתמש:Daryagמשתמש:IKhitronמשתמש:Kotzמשתמש:Mikey641משתמש:Uziel302משתמש:חיים 7משתמש:יונה בנדלאקמשתמש:מיכי י-םמשתמש:עלימשתמש:ערןמשתמש:קיפודנחשמשתמש:שמוליק, היי:
הסקריפט קורס לי באופן קבוע כשאני מנסה להשתמש בו בשביל לבקש חסימת משחיתים.
כל לחיצה על "חסימה" גוררת מייד את ריענון הדף.
גם @שוקו מוקה ו@אנימה חוו את אותו הדבר. מתייג @מנטרים@מקף, HaShumai, Omer abcd, David7031, ספסף, עוז גבריאל, העיתונאי המנטר, Saifunny, אייל, ארז האורז, HiyoriX, חובב המכוניות, Lavluv, Neriah, גופיקו, ו־Idoc07: נוספים שאולי חוו את אותו הדבר אבל לא דיווחו בגלל אפקט בגדי המלך החדשים...
אודה לעזרתכם, מפני שאני לא מצליח למצוא את הגורם לבעיה.  מקף12:36, 1 ביוני 2022 (IDT)תגובה

עכשיו אני בודק את זה גם על שאר הפונקציות, כמו "מחיקה", ומתרחש בדיוק אותו הדבר.
בזמן האחרון כבר שמתי לב לבעיה הזו, אך בהיקף קטן ולא כזה שקרה בכל פעם מחדש. היום משום־מה הגאדג'ט התחיל לקרוס לי כל הזמן.― מקף12:37, 1 ביוני 2022 (IDT)תגובה
לי לא קורס ממש מוזר חובב המכוניותדברו איתי! 12:55, 1 ביוני 2022 (IDT)תגובה
נראה לי זה קורה הדרגתית. אולי זה קשור לדפדפן או משהו? בכל מקרה, זה הופך את הסקריפט לבלתי ניתן לשימוש. ‏💛🤍tonsi Sokomoka💜🖤‏ • שיחהשעשועון "של מי התמונה הזאת" חוזר ובגדול!13:00, 1 ביוני 2022 (IDT)תגובה
אני לא יודע, עכשיו משום מה הוא חוזר לפעול אצלי.― מקף16:27, 1 ביוני 2022 (IDT)תגובה
אני גם חוויתי את אותו הדבר ואני שמח שפתאום מדברים על זה. אקסינו - שיחה 16:53, 1 ביוני 2022 (IDT)תגובה
עורכי ממשקמשתמש:Daryagמשתמש:IKhitronמשתמש:Kotzמשתמש:Mikey641משתמש:Uziel302משתמש:חיים 7משתמש:יונה בנדלאקמשתמש:מיכי י-םמשתמש:עלימשתמש:ערןמשתמש:קיפודנחשמשתמש:שמוליק, תוכלו להצטרף לדיון? נראה שאין חוקיות מוגדרת לבעיה.― מקף19:41, 9 ביוני 2022 (IDT)תגובה
אני שנה ומשהו לא משתמש בגאדג'ט הזה, אז די שכחתי את הפונקציונליות שלו, ואני צריך לבדוק את זה באחת הבבק"שים שלי. אינני יודע מתי אוכל לעשות זאת. חיים וקיפודנחש אלופים בדברים האלו. דגש - שיחה 19:51, 9 ביוני 2022 (IDT)תגובה
אם הבנתי את הדיווחים נכון, הבעיה המתוארת כבר לא קיימת. זה נשמע קצת כמו עזרה:בג יום רביעי. קיפודנחש 20:01, 9 ביוני 2022 (IDT)תגובה
(וגם): אם לא הבנתי נכון, והבעיה עדיין קיימת, אנא דווחו. יעזור גם אם הבעיה תתואר בצורה ברורה יותר מאשר "הגאדג'ט התחיל לקרוס". בברכה - קיפודנחש 20:05, 9 ביוני 2022 (IDT)תגובה
לא משתחזר. דווח כאשר תתקל שוב בבעיה, עם פרטים מלאים על הפעולות שביצעת. עלי - שיחה 20:01, 9 ביוני 2022 (IDT)תגובה
קרה לי עכשיו. ניסיתי לבקש חסימה של אנונימי, החלונית שבה אמורים לכתוב את סיבת הבקשה הופיעה לרגע ואז הדף התרענן והיא נעלמה. ניסיתי לפתוח אותה שוב וזה חזר על עצמו. יהודית1000 - שיחה - 💜 12:39, 12 ביוני 2022 (IDT)תגובה
@קיפודנחש, אני רואה ש־@יהודית1000 כבר כתבה בצורה יותר אינפורמטיבית ממני, האם זה עוזר? יש נקודה שצריך לתאר בצורה יותר טובה?― מקף12:58, 12 ביוני 2022 (IDT)תגובה
לא, זה לא עוזר. מה שאולי יעזור הוא קישור לדף בו זה קרה (דף הבדלים או דף התרומות או דף אחר), כדי שאפשר יהיה להיווכח בבעיה.
(במאמר מוסגר אציין שאין טעם שתנסה לתייג אותי - "מקף" נוסף לרשימת ההשתקה שלי, בעקבות שימוש מופרז בתיוג). קיפודנחש 01:32, 13 ביוני 2022 (IDT)תגובה
מתנצל, אפסיק לתייג אותך (אם כי יהיה מצוין שתתייג אותי, בבקשה).
אני יכול לתת קישור לדף לדוגמה ברגע שאתקל בעוד אחד כזה, הבעיה היא שזה לא תמיד ממשיך להתרחש גם עבור משתמשים אחרים/בחלוף כמה דקות.― מקף10:10, 13 ביוני 2022 (IDT)תגובה
אתמול זה היה בשיחת משתמש:109.226.45.130. יהודית1000 - שיחה - 💜 14:46, 13 ביוני 2022 (IDT)תגובה
עכשיו גם אני חווה את זה שם.― מקף14:54, 13 ביוני 2022 (IDT)תגובה

תודה. הדיווח האחרון אכן הועיל (לפחות הצלחתי לשחזר את הבעיה). פיצ'פצ'תי משהו - אין לי מושג אם זה פותר את הבעיה, המשיכו בבקשה להיות ערניים, ודווחו אם היא לא תוקנה (יהיה נחמד גם לקבל דיווח שהבעיה כן תוקנה, אבל זה לא חיוני). בב"ח - קיפודנחש 20:50, 13 ביוני 2022 (IDT)תגובה

בבדיקה חפיפית הפיצ'פוץ' שלי עשה מה שצריך (הבעיה שוחזרה בעקביות בדף המקושר, ואחרי הפיצ'פוץ' נעלמה).
שימו נא לב שכשמעדכנים גאדג'ט לפעמים לוקח מעט זמן עד שהעדכון "תופס" (מנסיוני, עד חצי שעה), וגם אחר כך, כדאי לבצע "רענון אגרסיבי" כדי לוודא שהקוד שמריצים הוא המעודכן. קיפודנחש 20:58, 13 ביוני 2022 (IDT)תגובה
נראה מעולה, אצלי הבעיה הפסיקה (לפחות בדף ההוא).
אעדכן עוד כשבוע אם עד אז לא אחווה את זה שוב (עד כה חוויתי את הבעיה בערך שעה בשבוע).― מקף01:49, 14 ביוני 2022 (IDT)תגובה
תודה רבה!― מקף01:49, 14 ביוני 2022 (IDT)תגובה
יש מקום לאופטימיות זהירה. :) קיפודנחש 02:19, 14 ביוני 2022 (IDT)תגובה
חזרה לדף "Gadget-DeleteRequest.js".