審查第四批:僵屍分頁、門檻範圍、整理匯出 - #2
Merged
Merged
Conversation
A stored tab id says the tab exists, not that it is still the app. Navigating away inside it made the toolbar icon a no-op with no explanation. runtime.getContexts answers the real question and needs no permission, unlike Tab.url, which would need "tabs" and its browsing-history warning. Costs minimum_chrome_version 114 -> 116.
Typing 9999 silently bounced back to the last valid value with nothing on screen, so the number just looked eaten. The hint line also said "upload" while arc/search only returns videos, which makes an account that posts articles read as "never uploaded".
Follows could already export; the classification could not, so there was no way to keep what the model decided and why. Exports every row, not just the ticked ones: stale videos and the ones you chose not to move are part of the record, and nothing here is ever written back.
The review flagged a focus stop on <body> after the action bar. A full keyboard cycle on the review screen is 42 stops with exactly one on body, between the last bar button and the top bar: that is the end-of-document stop every page has, not a defect. The walk stays as a guard, and the report records the re-check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
上一批(#1)之後剩下六條 finding。這一批做四件,全部是 S,不碰任何 B 站寫入路徑。
1. 僵屍分頁(不在報告裡,做 F08 時順手發現)
background.ts用存下來的 tab id 找 App 分頁,只問「這個分頁還在不在」,不看它現在是什麼網址。使用者在 App 分頁裡打開 B 站(表格裡每個帳號與影片都可以點開)之後,工具列圖示就只會把那個 B 站分頁
叫到前面——點幾次都開不出 App,而且完全不說為什麼。
改用
runtime.getContexts({ contextTypes: ['TAB'] }):它就是為了回答「本擴充功能現在有哪些 context、在哪個分頁」而存在的,不需要任何權限。
Tab.url那條路要tabs權限,會在安裝時跳出「讀取瀏覽記錄」的警告。代價:
minimum_chrome_version114 → 116(getContexts是 Chrome 116;兩者差三個月、距今三年)。session storage 那份 id 整個刪掉。取捨寫進
docs/design.md9.5。2. F15 · 門檻欄位說得出自己收什麼
填
9999/0會被彈回上一個合法值,之前畫面一個字都沒有。現在單位旁邊常駐寫著1–3,650。同一行的說明也講清楚天數是從最新一支影片算起——
arc/search只回影片,圖文與動態不算。3. F19 · 整理的審核表可以下載 CSV
toReviewCsv()在core/exportRows.ts。匯出整張表,不是只有勾了目標的那幾列:AI 建議了什麼與你最後選了什麼各佔一欄,加上也留在原位、低信心、已失效、理由、依據、狀態。這裡沒有
confirmedOnly()那種過濾,也不需要——這份檔案不會被拿去執行任何寫入。
4. F16 剩下那半 → 誤判,改成回歸守門
ui-preview現在會在審核畫面按 Tab 走完一整圈:42 站、恰好 1 站在 body,位置在作業列最後一顆與頂列之間,就是「文件最後一個可聚焦元素之後」的瀏覽器預設落點。報告說「當前分頁按鈕不在 Tab 順序裡」也不成立。
結論寫進報告的 F16。中間多出任何一站 body 就會讓
ui-preview失敗。驗證
typecheck ✓ · 252 tests ✓ · lint(
--deny-warnings)✓ · format:check ✓ · build ✓smoke ✓(新增兩條:
getContexts 找得到 App 分頁、導去別的網址之後就不算 App 分頁了——舊寫法第二條會紅)ui-preview
errors: none✓ · quickfav-preview ✓L4 真實帳號寫入驗收仍然未做(
docs/design.md10 自己標著),這一批不改變那個狀態。