generated at
井戸端ページ減少の謎inajob解析
スクリプトなどは後で開示したい・・(書き直しながらやってるので・・)inajob

消えたページのうちで
1つのページで各行の最新更新ユーザが1人のもの 442ページ
やはり怪しい、顕著に多い
全体の分布はどうだろう基素
ランダムに消したとき、複数人のユーザによる編集にあるページよりも1人を消す確率は3倍弱あったら顕著に多いとは言えなさそう
>ランダムに1ページ選んだ時に1人しか編集してないページである確率は35%
さらなる調査(下)でこの中でもdninさんと思われるページが異様に多く消されているのも気になりますinajob
これも分布が知りたい、単にdninさんが多くページを作っている説もあるinajob
なるほどまだ見てませんでした基素
あんまり個人のこと言及したくなかったので以前は名前は出さなかったのですが、出してもいいのかな?takker
以前:日記ページが大量に編集されたとき
この件はリンクになっていたはずなのだが見つからなかった
見つけたら貼る
この辺の塩梅がよくわからない
確かに・・inajob
知人でSkypeチャットに書き込んで、相手が見たことを確認した後に発言をすべて消す人がいたのを思い出した
作ってみたが反応のないページを一定時間後に消す、という運用をする人がいても不思議ではない
本人がNGと言ったら消しましょう・・inajob
調査の結果も本人のみ編集したページの削除がほとんどだ
各行の最終更新の人なので、もしかしたら最後に書式を整形しただけとかもまぎれている可能性はあるがすごく少ない
みつからないページ 22ページ(スクリプトのバグ)
特殊文字がタイトルに含まれるとファイル名とタイトルが食い違う
一旦無視する
複数人のユーザによる編集のあるページ 156ページ
実はUserId違いの同一人物が編集しているものも含まれている
合計は一致している
少なくともマージなどを含めて598ページ消えているのか基素
バックアップがない期間が3ヶ月あるからさらに消えているかも
ページの併合、リネームもこのdiffに出ます(すぐ下に書いてあった・・)inajob
消えたページの中には単にページ名を変更したものが含まれるが、これは謎の現象の解析時はノイズとなる

1つのページで各行の最新更新ユーザが1人 のページを深堀調査
この442ページを編集しているuseridの分布
userid
6055950b87138f0022246f59 249 612309a719e67d001dd0ca1c 6 60d7d3e32182b900220b8719 2 60226bcd2fbabe0022758921 23 566fa156776c9b11008ee92a 3 5f16f6af405d31002403b210 8 5ad57975d54cd50014068484 1 5e644eb64b223c0017b3e7ed 2 5fa258bdb102120024d43875 79 5ff4fb2169e764001cd1a02f 4 6127807d271b6b001dcc6086 5 5d89b1f60230ae001779e113 1 5ef2bdebb60650001e1280f0 7 5bc5772df30ff700134daa92 2 5d20a16b6e57f80017fd049e 2 5d131fa66fe2890017055332 11 5ca094b00af7b0001732ef92 7 6044910bc9a74e001eb19cc3 9 5a4873ab2e26fb001479d3a9 4 5f7bafa76f34a0001ea9f474 3 5c30ba88e98efe0017e5172d 2 5b4ea932de544f0014198270 1 61d72bbfba87a90022c41cc7 2 5a23bbeb93e689001480275d 1 6171231417617a001d7c8c6d 1 5ee7f26f1c0c850025666872 1 6118e67f8e5974001d110500 1 61209eee4cb9f300237a8b26 1 582e63d27c56960011aff09e 1 5ef9a74506750300248a8c6a 1 582c2d74687d280011d7d3c3 1 59fb21121207900012774b17 1
一番多い 6055950b87138f0022246f59 について、おそらくdninのようだ
このUseridが記述した行のicon記法を調べると優位にdninが多い(下に詳しいデータあり)
249という数字は
2022/04/30 - 2022/05/14でのページ減少の数と非常に近い
8600 - 8406 = 194
ページ増加のペースが不明なので、まぁ推測の域
推測だがdninがこのプロジェクトのleaveとjoinを繰り返しているのが気になる
ゴールデンウィーク記2022前半#626b980eaff09e0000f02c0b で本人に聞いてjoinを繰り返していると返答があった
これにより同一ユーザだがUserIdがころころ変化している
今回のdiffは2020/02/20 - 2922/05/21(あたり)のもの
dnin関係で消えているページには最終更新がこの範囲より古いものもある(というかほとんどそう)
この期間にScrapboxに何か良くない変更が入ったか、ユーザの誰かがページが消えるような操作をしたか
ここで1とかのものは単にページ名を変更したものである可能性が高い
色々推測してみる
現在参加しているUserIDのどれにも該当しないUserIDだけで書かれたページが消えるような仕様がある
この仕様は最近実装された
revertされているかも
ここを読む限り、アカウント削除してもページを消すことが困難であることが説明されているので、この推測は間違っている気がする
バグでそうなっているというのはもちろんありえる
人が操作して今の状況になった?
dnin本人か、その関連ユーザか?
消えたページデータを見ても消す動機思いつかない
消したい病で消してしまうケースはあるかもtakker
履歴を残さず消すのは、それなりに面倒な作業なので意志が必要に思う
GitHub Actionsで井戸端プロジェクトのバックアップを取得しReleaseに登録するで保険がかかっているので出しますが、web browserを経由せずに履歴を削除するscriptが作成可能ですtakker
履歴を削除するAPIがREST APIで実装されている
ユーザスクリプトの暴走?
ページを消すようなスクリプト動かしてる人居るかな?

上記のUsreIdの名前を推測したもの
このUseridが記述した行のicon記法を全てのページから探し、最も数の多いものを選ぶスクリプトを作った
謎のスクリプトが出来たなぁ
UserIdを与えると、そのユーザ名をicon記法から推測するスクリプト
普通はこんなことする必要はないはずだが、今は存在しないUserIdを探す時に使える
あれ、ユーザ一覧のAPIは無いのか?
api/projectsから取得できますが、脱退したユーザーのIDまでは取得できませんtakker
推測なので100%ではない
調査対象は2022-02-20のバックアップ
userid-name-guess
# UserID Count GuessedUserName 6055950b87138f0022246f59 249 [dnin.icon] 612309a719e67d001dd0ca1c 6 [dep18.icon] 60d7d3e32182b900220b8719 2 [dnin.icon] 60226bcd2fbabe0022758921 23 [dnin.icon] 566fa156776c9b11008ee92a 3 [増井俊之.icon] 5f16f6af405d31002403b210 8 [U.icon] 5ad57975d54cd50014068484 1 [imo.icon] 5e644eb64b223c0017b3e7ed 2 [udonn.icon] 5fa258bdb102120024d43875 79 [dnin.icon] 5ff4fb2169e764001cd1a02f 4 [hata6502.icon] 6127807d271b6b001dcc6086 5 [dnin.icon] 5d89b1f60230ae001779e113 1 [bluemountain.icon] 5ef2bdebb60650001e1280f0 7 [takker.icon] 5bc5772df30ff700134daa92 2 [yuta0801.icon] 5d20a16b6e57f80017fd049e 2 [tetsuya-k.icon] 5d131fa66fe2890017055332 11 [p5w.icon] 5ca094b00af7b0001732ef92 7 [dokudami.icon] 6044910bc9a74e001eb19cc3 9 [dnin.icon] 5a4873ab2e26fb001479d3a9 4 [sta.icon] 5f7bafa76f34a0001ea9f474 3 [dnin.icon] 5c30ba88e98efe0017e5172d 2 [yosider.icon] 5b4ea932de544f0014198270 1 [mrsekut.icon] 61d72bbfba87a90022c41cc7 2 [zudooooooooon.icon] 5a23bbeb93e689001480275d 1 [westantenna.icon] 6171231417617a001d7c8c6d 1 [teyoda7.icon] 5ee7f26f1c0c850025666872 1 [yuki_minoh.icon] 6118e67f8e5974001d110500 1 [dnin.icon] 61209eee4cb9f300237a8b26 1 not found 582e63d27c56960011aff09e 1 [nishio.icon] 5ef9a74506750300248a8c6a 1 [dnin.icon] 582c2d74687d280011d7d3c3 1 [yuiseki.icon] 59fb21121207900012774b17 1 [基素.icon]
ページ数が多いUserIDはdnin.iconだな・・

leaveに関連する予期しない振る舞いがScrapbox側にありそうだなぁnishioinajob
同一名称で異UserIDのユーザがいる時に何か問題が起きるとか??
単純にGCみたいなロジックがあるような気もする・・inajob
それにしては最終更新日がとても古いページも消えているな
最近実装された、もしくはこの期間でバッチ処理的に初めて実行されたとかならありえるか
leaveしたタイミングでは消えないことを確認したが、同一名称ユーザがjoinした時に何か起こる可能性もあると思うnishio
ユーザー名は可変なのでそれを基に処理をする感じはないですけどね・・inajob
適当なプロジェクトを作ってプロジェクトのleaveとjoinを繰り返しをしてみたら何かわかるかなぁ基素
簡単なテストは Leave+Joinテストnishioがやってますねinajob
即座には再現せず