שיחת מדיה ויקי: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)
- הגדרה של callback בשם next הוחלפה בpromise. ערן - שיחה 00:27, 4 בינואר 2021 (IST)
- ערן, למה מחקת את הפרמטר next מהפונקציה save? שים לב שב-switch-case בסוף שולחים תמיד ל-save פרמטר אחרון שהוא פונקציית next. כנראה שזה נכשל ברגע שלחצו על כל כפתור ב-addMenuItem. אגב, הקוד שם לא קריא בעליל, חייב פישוט והגדרת משתנים - להעביר ל-openDialog שם של משתנה ולא להתחיל להגדיר בתוכו פונקציות... ובאמת חובה להגדיר את הכותרת של בקשות ממפעילים כקבוע... תומר - שיחה 00:14, 4 בינואר 2021 (IST)
- הכנסתי בדיקה של כפילות אחרי ציון הסיבה ולפני השמירה יחד עם שינויים אחרים בקוד כשהמטרה היא להימנע מקריאת API מיותרת במחיקה. בדקתי את זה בצורה בסיסית, אבל נראה שנדרשת בדיקה נוספת בעקבות התלונה לעיל ולכן ביטלתי בינתיים את השינוי שעשיתי. ערן - שיחה 23:44, 3 בינואר 2021 (IST)
- ערן, לא הבנתי למה בסוף לא הכנסת את השינוי. מדובר רק על הבדיקה של הכפילות, לא על בדיקה של דפים מקושרים. אני רוצה להוסיף אותה גם רגע לפני השמירה. תומר - שיחה 12:21, 3 בינואר 2021 (IST)
- לא יודע למה, אבל אצלי בכלל לא עבד כל הגאדג'ט מתי שעלה השינוי. PRIDE! - שיחה 10:52, 3 בינואר 2021 (IST)
- תומר: עבור דפים למחיקה יש בדיקה נוספת לגבי דפים מקושרים (שמצריכה קריאת API נוספת) - התלבשתי על הבדיקה הזו כדי לחסוך קריאות נוספות לAPI. ערן - שיחה 01:00, 3 בינואר 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)
- הם לא מסתכלים בכלל על דף השיחה. צריך לתת להם גם בקשה לדף השיחה של הדף (אם קיים). PRIDE! - שיחה 10:55, 3 בינואר 2021 (IST)
- לא נראה לי שהמפעילים בודקים את דף השיחה בכל מחיקה. עדיף שניתן יהיה לבקש את מחיקת השיחה במפורש. תומר - שיחה 08:22, 3 בינואר 2021 (IST)
- יש סיבה לבקש בנפרד את מחיקת דף השיחה? אחת הסיבות ש{{בקשת מחיקה}} מקשרת לדף השיחה היא כדי שמפעילים יוכלו לבדוק אותו. ערן - שיחה 01:04, 3 בינואר 2021 (IST)
- הנה דוגמא למקרה עם ערך ההבל נור גזיאני שטרם נמחק נכון לרגע זה Omer abcd - שיחה 17:58, 2 בינואר 2021 (IST)
- זה בדיוק הפתרון האפשרי - להתחיל להסתכל על תוכן הדף ולנתח אותו עם ביטויים רגולריים במקום שימוש ב-API (או משהו בכיוון)... ככה עובד פחות או יותר הסקריפט שלי לניקוי בקשות, זה יותר מסורבל אבל אפשרי. תודה על ההתייחסות. אם אתה אומר שזה נפוץ - אנסה לכתוב לזה פתרון. לגבי האופציה לא לחפש כפילויות עבור דף שיחה - אני לא חושב שזה רעיון טוב. תומר - שיחה 17:56, 2 בינואר 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;
}
מתייג את עורכי ממשק . תומר - שיחה 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:32, 4 בינואר 2021 (IST)
- אם כך גם לא הפתרון שהציע עומר. תומר - שיחה 17:55, 4 בינואר 2021 (IST)
- לפעמים משחיתים את הערך, אחר כך מבקשים למחוק את הדף, ואז משחיתים את דף השיחה, אז זה לא ממש פתרון. PRIDE! - שיחה 17:52, 4 בינואר 2021 (IST)
- נשמע כמו רעיון לא רע. אגב Omer abcd, Euro know, אם אתם מעוניינים בינתיים בפתרון עוקף - בקשו קודם כול את מחיקה דף השיחה, ורק אז את הדף הראשי. תומר - שיחה 17:48, 4 בינואר 2021 (IST)
האמירה הזו נשמעה בשיחה זו מספר פעמים, אך אינה מגובה ולו בדוגמה אחת, ולא תואמת את המציאות המוכרת לי. במעלה השיחה ערן ביקש דוגמה לדף שנמחק, ודף השיחה שלו נשאר למרות שהיה צריך להימחק (יש סיבות טובות להשאיר דפי שיחה כשמוחקים דפים, והדגש כאן הוא על "צריך להימחק"). הבקשה טרם התמלאה. בפעם האחרונה שביקשתי מחיקה, הוספתי לדף השיחה בקשה "למפעיל שימחק", כמובן ללא אזכור, כדי שיאשר שאכן קרא עת השיחה ושקל אם למחוק או להשאיר, והאישור הגיע בד בבד עם המחיקה. אם יש מפעילים ספורים שמתרשלים בכך, יש להזכיר להם. לא ידוע לי שיש כאלו. קיפודנחש 20:12, 7 בינואר 2021 (IST)
- בסופו של דבר הסקריפט לא חוסם אף אחד מלהוסיף - ניתן לעשות את זה גם ידנית, גם במענה "כן" לשאלה "האם אתה בטוח שברצונך להוסיף" וגם על ידי הפתרון העוקף שתיארתי. הייתי מסכים עם קיפודנחש אלמלא היה מדובר בבאג ברור. והודעה למשתמש שמתריעה על מצב שגוי זה אף פעם לא טוב. תומר - שיחה 00:02, 8 בינואר 2021 (IST)
- מצאתי דוגמא לערך שדף שיחתו לא נמחק פוינטיליזם (מוזיקה) omer abcd דף השיחה שלי חתול חמוד ~ 10:35, 27 בינואר 2021 (IST)
באג חתימה כפולה
[עריכת קוד מקור]יש באג שגורם לעיתים לחתימה כפולה (ראו את החתימות הכפולות של ארז האורז ושלי בגרסה זו)
כבר מצאתי את האופן שבו ניתן לתקן את זה – על ידי החלפת שורות מספר 117-119 בקוד שכאן, בשורות 186 – 199 האלו.
@עורכי ממשק . –מקף־‽ 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)
- אני לא מצליח להבין מה כתבת, או שאתה לא הבנת מה כתוב בקוד, או שבכלל שנינו לא הבנו • חיים 7 • שיחה • 15:31, 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)
- הנה חתימה כפולה שקרתה לי הרגע. עורכי ממשק הבאג לא תוקן 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)
- אני שב ואומר שלדעתי הדרך הנכונה לפתור את זה היא זו. אני לא מבין לעומק את כל בניית הקוד והזרימה שלו, אבל במקטע הזה הגיוני שה/סיבה/ והחתימה יצורפו אם טרם צורפו, ושבהמשך אם לא הוזנה סיבה אזי שה/סיבה/ תוחלף במחרוזת הריקה (אי הפירוט שנקלט מהמשתמש). –מקף־‽ 21:50, 18 בדצמבר 2021 (IST)
- הנה חתימה כפולה שקרתה לי הרגע. עורכי ממשק הבאג לא תוקן omer abcd ~ דף השיחה שלי 🐱 21:44, 18 בדצמבר 2021 (IST)
- 👍 –מקף־‽ 22:52, 15 בדצמבר 2021 (IST)
- בלי שום קשר לבג, תפסיק בבקשה לבקש הגנה על תבניות ככה סתם. יש לנמק מדוע תבנית מסוימת זקוקה להגנה, לא "מתאים להגנת תבניות". תקוותי שבקשות כאלה נדחות בדרך כלל. קיפודנחש 19:25, 15 בדצמבר 2021 (IST)
קריסה וריענון חזרתי
[עריכת קוד מקור]עורכי ממשק , היי:
הסקריפט קורס לי באופן קבוע כשאני מנסה להשתמש בו בשביל לבקש חסימת משחיתים.
כל לחיצה על "חסימה" גוררת מייד את ריענון הדף.
גם @שוקו מוקה ו@אנימה חוו את אותו הדבר. מתייג @מנטרים נוספים שאולי חוו את אותו הדבר אבל לא דיווחו בגלל אפקט בגדי המלך החדשים...
אודה לעזרתכם, מפני שאני לא מצליח למצוא את הגורם לבעיה. ― מקף︙ණ 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)
- אני לא יודע, עכשיו משום מה הוא חוזר לפעול אצלי.― מקף︙ණ 16:27, 1 ביוני 2022 (IDT)
- נראה לי זה קורה הדרגתית. אולי זה קשור לדפדפן או משהו? בכל מקרה, זה הופך את הסקריפט לבלתי ניתן לשימוש. 💛🤍tonsi Sokomoka💜🖤 • שיחה • שעשועון "של מי התמונה הזאת" חוזר ובגדול! • 13:00, 1 ביוני 2022 (IDT)
- עורכי ממשק , תוכלו להצטרף לדיון? נראה שאין חוקיות מוגדרת לבעיה.― מקף︙ණ 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)
- לא משתחזר. דווח כאשר תתקל שוב בבעיה, עם פרטים מלאים על הפעולות שביצעת. עלי - שיחה 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)
- אתמול זה היה בשיחת משתמש:109.226.45.130. יהודית1000 - שיחה - 💜 14:46, 13 ביוני 2022 (IDT)
- מתנצל, אפסיק לתייג אותך (אם כי יהיה מצוין שתתייג אותי, בבקשה).
- קרה לי עכשיו. ניסיתי לבקש חסימה של אנונימי, החלונית שבה אמורים לכתוב את סיבת הבקשה הופיעה לרגע ואז הדף התרענן והיא נעלמה. ניסיתי לפתוח אותה שוב וזה חזר על עצמו. יהודית1000 - שיחה - 💜 12:39, 12 ביוני 2022 (IDT)
- אני שנה ומשהו לא משתמש בגאדג'ט הזה, אז די שכחתי את הפונקציונליות שלו, ואני צריך לבדוק את זה באחת הבבק"שים שלי. אינני יודע מתי אוכל לעשות זאת. חיים וקיפודנחש אלופים בדברים האלו. דגש - שיחה 19:51, 9 ביוני 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)
- נראה מעולה, אצלי הבעיה הפסיקה (לפחות בדף ההוא).