fix: final review findings — env template placeholder, a11y live region, stale read-only comments
This commit is contained in:
1 parent
5d8f1272ff
commit
7f5fc7fea3
5 files changed
+13
-11
No files matched your search
+5
-4
@@ -11,10 +11,11 @@ HF_TOKEN=
|
|||||||
|
|
||||||
# ---- host paths -------------------------------------------------------------
|
# ---- host paths -------------------------------------------------------------
|
||||||
|
|
||||||
# Where your recordings live, laid out as <date>/<batch>.mp4. Mounted read-only
|
# Where your recordings live, laid out as <date>/<batch>.mp4. Mounted read-write
|
||||||
# into the container; nothing is ever written back into it.
|
# into the container; written only by user-initiated upload / date-folder
|
||||||
# must be absolute for the copy-path buttons (REQ-172)
|
# creation (REQ-178), nothing else.
|
||||||
VIDEO_ARCHIVE_HOST=/home/araaraenjoyer/dbs_project/reTraining/data/archive
|
# must be absolute for the copy-path buttons (REQ-179)
|
||||||
|
VIDEO_ARCHIVE_HOST=/absolute/path/to/reTraining/data/archive
|
||||||
WSL_DISTRO_NAME=Ubuntu
|
WSL_DISTRO_NAME=Ubuntu
|
||||||
|
|
||||||
# ---- ports ------------------------------------------------------------------
|
# ---- ports ------------------------------------------------------------------
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ VIDEO_ROOT = os.path.abspath(os.environ.get("VIDEO_ARCHIVE", os.path.join(DATA_D
|
|||||||
|
|
||||||
|
|
||||||
def archive_host_paths() -> dict:
|
def archive_host_paths() -> dict:
|
||||||
"""Where the archive sits on the host — for the copy-path buttons (REQ-172).
|
"""Where the archive sits on the host — for the copy-path buttons (REQ-179).
|
||||||
|
|
||||||
ponytail: relative VIDEO_ARCHIVE_HOST (./data/archive) cannot be resolved
|
ponytail: relative VIDEO_ARCHIVE_HOST (./data/archive) cannot be resolved
|
||||||
inside the container; set it absolute in .env or the buttons stay hidden."""
|
inside the container; set it absolute in .env or the buttons stay hidden."""
|
||||||
|
|||||||
+3
-2
@@ -1,7 +1,8 @@
|
|||||||
"""The video archive, read as `<video_root>/<date>/<batch>.<ext>` (REQ-010…012).
|
"""The video archive, read as `<video_root>/<date>/<batch>.<ext>` (REQ-010…012).
|
||||||
|
|
||||||
Read-only by construction: this module only ever lists and stats files, never
|
Reads the archive and appends user-initiated uploads and date folders
|
||||||
writes into the user's recordings (REQ-074).
|
(REQ-178); nothing that exists is ever moved, renamed or deleted
|
||||||
|
(REQ-163/074 as revised).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|||||||
@@ -134,8 +134,8 @@ export default function ArchiveControls({ project, projectId, onChanged }) {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div aria-live="polite" style={{ display: 'flex', flexDirection: 'column', gap: 4, alignItems: 'flex-end', maxWidth: 420 }}>
|
<div style={{ display: 'flex', flexDirection: 'column', gap: 4, alignItems: 'flex-end', maxWidth: 420 }}>
|
||||||
{folderError && <p className="hint" style={{ ...status, color: 'var(--danger)' }}>{folderError}</p>}
|
{folderError && <p aria-live="polite" className="hint" style={{ ...status, color: 'var(--danger)' }}>{folderError}</p>}
|
||||||
{progress && (
|
{progress && (
|
||||||
<div style={{ width: 280 }}>
|
<div style={{ width: 280 }}>
|
||||||
<p className="hint" style={{ ...status, color: 'var(--text-muted)', marginBottom: 3, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>
|
<p className="hint" style={{ ...status, color: 'var(--text-muted)', marginBottom: 3, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>
|
||||||
@@ -154,7 +154,7 @@ export default function ArchiveControls({ project, projectId, onChanged }) {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{uploadErrors.map((err, i) => (
|
{uploadErrors.map((err, i) => (
|
||||||
<p key={`${err.name}-${i}`} className="hint" style={{ ...status, color: 'var(--danger)' }}>
|
<p key={`${err.name}-${i}`} aria-live="polite" className="hint" style={{ ...status, color: 'var(--danger)' }}>
|
||||||
{err.name}: {err.message}
|
{err.name}: {err.message}
|
||||||
</p>
|
</p>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -826,7 +826,7 @@ Pemisahan tegas diterapkan antara direktori kode sumber dan volume penyimpanan s
|
|||||||
reTraining/
|
reTraining/
|
||||||
├── data/ # Volume utama persistensi data aplikasi
|
├── data/ # Volume utama persistensi data aplikasi
|
||||||
│ ├── app.db # Database SQLite (mode WAL, 14 tabel relasional)
|
│ ├── app.db # Database SQLite (mode WAL, 14 tabel relasional)
|
||||||
│ ├── archive/ # Arsip video CCTV read-only (<date>/<batch>.mp4)
|
│ ├── archive/ # Arsip video CCTV (<date>/<batch>.mp4); ditulis hanya oleh upload/pembuatan folder dari halaman Video Archive
|
||||||
│ ├── live-count/ # Berkas jejak trajektori sesi hitung (.jsonl)
|
│ ├── live-count/ # Berkas jejak trajektori sesi hitung (.jsonl)
|
||||||
│ └── projects/<slug>/ # Ruang kerja terisolasi per proyek
|
│ └── projects/<slug>/ # Ruang kerja terisolasi per proyek
|
||||||
│ ├── base/model.pt # Bobot checkpoint model dasar aktif
|
│ ├── base/model.pt # Bobot checkpoint model dasar aktif
|
||||||
|
|||||||
Reference in new issue
Block a user