Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Xi-Plus opened this issue Apr 30, 2021 · 9 comments
Open

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

Xi-Plus opened this issue Apr 30, 2021 · 9 comments

Comments

@Xi-Plus
Copy link
Member

Xi-Plus commented Apr 30, 2021

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

@hamishzx
Copy link
Collaborator

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

@Xi-Plus
Copy link
Member Author

Xi-Plus commented May 1, 2021

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

@hamishzx
Copy link
Collaborator

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

@Xi-Plus
Copy link
Member Author

Xi-Plus commented May 10, 2021

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

@hamishzx
Copy link
Collaborator

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

@Xi-Plus
Copy link
Member Author

Xi-Plus commented May 10, 2021

@hamishinyuu 目前邏輯:

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

morebits層面就是這麼做的

@hamishzx
Copy link
Collaborator

hamishzx commented May 10, 2021

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

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

@Xi-Plus
Copy link
Member Author

Xi-Plus commented May 10, 2021

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

@hamishzx
Copy link
Collaborator

@Xi-Plus nice shot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants