twinkle icon indicating copy to clipboard operation
twinkle copied to clipboard

xfd: 判定重定向建立者問題

Open Xi-Plus opened this issue 4 years ago • 9 comments

如果某個頁面全部歷史都是重定向,Twinkle目前會先嘗試尋找非重定向的版本當成建立者,不過TW若在標記提刪模板後才查詢建立者,會因此認為提刪者為建立者,但這是錯誤的。

Xi-Plus avatar Apr 30 '21 09:04 Xi-Plus

@Xi-Plus 如果沒看錯的話,似乎是與morebits的獲取邏輯有關,可能需要修改morebits而不是xfd模塊本身。

hamishzx avatar Apr 30 '21 17:04 hamishzx

@hamishinyuu 應該調整xfd中各編輯的執行順序,即可解決該問題。

Xi-Plus avatar May 01 '21 00:05 Xi-Plus

@Xi-Plus 但是如果不修正“Twinkle目前會先嘗試尋找非重定向的版本當成建立者”這個邏輯的話,在一個全部歷史都是重定向的版本頁面發生xfd後再afd或者反過來,亦會有同樣誤認前次提報者為建立者的問題發生,這是修改編輯順序所不能規避的。

hamishzx avatar May 10 '21 14:05 hamishzx

@hamishinyuu 如果先檢查歷史再標記,那麼自然就不會檢查到標記這筆編輯。「Twinkle目前會先嘗試尋找非重定向的版本當成建立者」是一個功能,因為有原本是重定向,後來改成條目的頁面,這時把非重定向版本當成建立者會比較好,當然也會有你說的問題存在,有好有壞,就看選擇哪個

Xi-Plus avatar May 10 '21 14:05 Xi-Plus

@Xi-Plus 所以我覺得,是不是可以從morebits層面解決一下,在getCreator的時候判斷頁面歷史,到底是“因為有原本是重定向,後來改成條目的頁面”還是純重定向。

hamishzx avatar May 10 '21 14:05 hamishzx

@hamishinyuu 目前邏輯:

  • 第一個版本非重定向 -> 第一版本為建立者
  • 所有版本為重定向 -> 第一版本為建立者
  • 第一版本為重定向,後來為條目 -> 第一個非重定向版本為建立者

morebits層面就是這麼做的

Xi-Plus avatar May 10 '21 14:05 Xi-Plus

@Xi-Plus 好吧,我脑子又没转过来。。那如果是这样呢:

  • 第一版本為重定向,後來不為重定向 -> 如果最後一個版本裡沒找到提刪/速刪模板-> 第一個非重定向版本為建立者 else 第一版本為建立者

hamishzx avatar May 10 '21 14:05 hamishzx

@hamishinyuu 調整檢查歷史與標記的執行順序才是真正的解方,你的方法在執行順序不穩定的情況下會導致新的問題,即若還沒標記就檢查歷史,對於後來不為重定向的頁面,將導致誤判第一版本(重定向版本)為建立者

Xi-Plus avatar May 10 '21 15:05 Xi-Plus

@Xi-Plus nice shot!

hamishzx avatar May 10 '21 15:05 hamishzx