[中] 视频提取的临时目录崩溃后残留,缓存清理不会处理
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 68/100
Direzione di ricerca
Start by reading Sources/BirdLockCore/IO/CachePolicy.swift:42-52, where groups builds the regexes that match 32- and 24-hex cache directory names, and check how totalSize enumerates entries. Then read Sources/BirdLockCore/IO/VideoImporter.swift:90 and :144 to see how .extract-<UUID> and .replaced-<UUID> directories are created and where defer cleans them up. Done means orphaned .extract-*/.replaced-* directories older than a chosen age are removed on the next import (or included in the cleanable groups) and no longer counted in totalSize; reproduce by force-quitting during an import.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
位置:Sources/BirdLockCore/IO/VideoImporter.swift:90、:144;Sources/BirdLockCore/IO/CachePolicy.swift:42-52
现象:提取时创建 base/.extract-<UUID>,替换旧缓存时创建 .replaced-<UUID>。正常异常路径靠 defer 删除,但崩溃或强退会留下目录;CachePolicy.groups 只匹配 ^[a-f0-9]{32}$ 与 ^[a-f0-9]{24}$,不会清理这些目录,而 totalSize 会把它们计入缓存占用。
复现:导入视频时强制退出应用,再查看缓存的占用与清理结果。
建议:VideoImporter.extract 开始时清理超过一定时间的 .extract-*/.replaced-*,或把这类目录纳入 CachePolicy 的可清理组。
来源:2026-11-15 全仓只读审计,PR #7 未包含此项。 未在实机复现(静态审计)。
- Lingua principale
- Swift
- Stelle
- 2
- Fork
- 2
- Merge medio
- 1h 11m
- PR unite (30g)
- 2
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cyandee/BirdLock
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 62/100
-
[低] 1.9.0 更新说明审阅稿与正式说明完全重复Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
[低] FrameXform.valid 只写不读Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100