Closed kakkokari-gtyih closed 1 month ago
以下の書き込みは(まだ)MisskeyHub自体のリポジトリを読まずにブラウザでアクセスした範囲でわかることで書いています
ソースマップがないからかなり雑な推測では関係するのはこれかなあ https://misskey-hub.net/_nuxt/BSbzkXBJ.js
function B(U, ee) {
let Q;
const [ne,be,Pe] = d1(U, ee);
Q = ci(ne.reverse(), "beforeRouteLeave", U, ee);
for (const I of ne)
I.leaveGuards.forEach(V=>{
Q.push(Rn(V, U, ee))
}
);
const R = N.bind(null, U, ee);
return Q.push(R),
Ue(Q).then(()=>{
Q = [];
for (const I of i.list())
Q.push(Rn(I, U, ee));
return Q.push(R),
Ue(Q)
}
).then(()=>{
Q = ci(be, "beforeRouteUpdate", U, ee);
for (const I of be)
I.updateGuards.forEach(V=>{
Q.push(Rn(V, U, ee))
}
);
return Q.push(R),
Ue(Q)
}
).then(()=>{
Q = [];
for (const I of Pe)
if (I.beforeEnter)
if (Bt(I.beforeEnter))
for (const V of I.beforeEnter)
Q.push(Rn(V, U, ee));
else
Q.push(Rn(I.beforeEnter, U, ee));
return Q.push(R),
Ue(Q)
}
).then(()=>(U.matched.forEach(I=>I.enterCallbacks = {}),
Q = ci(Pe, "beforeRouteEnter", U, ee, D),
Q.push(R),
Ue(Q))).then(()=>{
Q = [];
for (const I of a.list())
Q.push(Rn(I, U, ee));
return Q.push(R),
Ue(Q)
}
).catch(I=>nn(I, 8) ? I : Promise.reject(I))
}
経験から推測を重ねると、リンクを踏む際にどのURLに遷移するか決定する際に、それがコンテンツ内部であればRouerPush(VueRouter)として扱う、外部のコンテンツならHistoryAPI的に遷移する必要があって、その絡みでなにかしているか、beforeRouteEnterにカスタマイズを入れていて、それがi18n用のURL付加分の処理とうまく噛み合っていないのかなあという感じがしました
ここで return void してることになってますけどこれなにが起きるんですっけ デフォルトの挙動ではなく本当に何も起きない気がする?
ここで return void してることになってますけどこれなにが起きるんですっけ
If nothing, undefined or true is returned, the navigation is validated, and the next navigation guard is called.
https://router.vuejs.org/guide/advanced/navigation-guards.html
ううん、推測が外れたみたいです。 引き続き私のほうでも調べてみます
なんか治ってる気がする
💡 概要
blogの投稿ページに入ると抜け出せなくなる
原因が謎
🥰 期待されるふるまい
blogの投稿内にあるすべてのリンクが機能する
🤬 実際のふるまい
プログレスバーのみ動く コンソールには何も出力されない
📝 再現方法
💻 動作環境
【開発者向け】自分でこのバグに対処しますか?