feat(ui): persist window state and clarify transfer telemetry

- Persist bounded logical main-window geometry with work-area-safe startup restoration.
- Persist the Folders collapse preference in SQLite with guarded legacy localStorage migration.
- Keep media transfer telemetry truthful and compact the transfer controls across locales.
- Add bridge, presentation, persistence, geometry, and configuration regression coverage.
This commit is contained in:
NimBold
2026-08-11 12:17:11 +03:30
parent ae6a00304e
commit f7bafdeb0e
28 changed files with 897 additions and 36 deletions
+2 -1
View File
@@ -228,7 +228,8 @@ const common = {
speed: 'Speed',
eta: 'ETA',
connections: 'Connections',
configuredConcurrency: 'Configured concurrency',
fragmentConcurrency: 'Fragment concurrency',
fragmentConcurrencyHint: 'Maximum number of media fragments yt-dlp may process concurrently. Firelink does not report a live fragment count; this is the configured value used when the transfer starts or resumes.',
connectedPeers: 'connected peers',
details: 'Details',
tabs: {
+2 -1
View File
@@ -228,7 +228,8 @@ const fa = {
speed: 'سرعت',
eta: 'زمان باقیمانده',
connections: 'اتصالات',
configuredConcurrency: 'هم‌زمانی پیکربندی‌شده',
fragmentConcurrency: 'هم‌زمانی قطعه‌ها',
fragmentConcurrencyHint: 'حداکثر تعداد قطعه‌های رسانه‌ای که yt-dlp می‌تواند هم‌زمان پردازش کند. Firelink تعداد قطعه‌های فعال را به‌صورت زنده گزارش نمی‌کند؛ این مقدار هنگام شروع یا ازسرگیری انتقال استفاده می‌شود.',
connectedPeers: 'همتای متصل',
details: 'جزئیات',
tabs: {
+2 -1
View File
@@ -228,7 +228,8 @@ const he = {
speed: 'מהירות',
eta: 'זמן נותר',
connections: 'חיבורים',
configuredConcurrency: 'מקביליות מוגדרת',
fragmentConcurrency: 'מקביליות מקטעים',
fragmentConcurrencyHint: 'מספר מקטעי המדיה המרבי ש-yt-dlp יכול לעבד במקביל. Firelink אינו מדווח על מספר המקטעים הפעילים בזמן אמת; זהו הערך המוגדר שבו נעשה שימוש כשההעברה מתחילה או מתחדשת.',
connectedPeers: 'עמיתים מחוברים',
details: 'פרטים',
tabs: {
+2 -1
View File
@@ -228,7 +228,8 @@ const ru = {
speed: 'Скорость',
eta: 'Осталось',
connections: 'Соединения',
configuredConcurrency: 'Настроенная параллельность',
fragmentConcurrency: 'Параллельность фрагментов',
fragmentConcurrencyHint: 'Максимальное число медиафрагментов, которые yt-dlp может обрабатывать одновременно. Firelink не сообщает текущее число активных фрагментов; это настроенное значение используется при запуске или возобновлении передачи.',
connectedPeers: 'подключённых пиров',
details: 'Подробности',
tabs: {
+2 -1
View File
@@ -228,7 +228,8 @@ const uk = {
speed: 'Швидкість',
eta: 'Залишилось',
connections: 'З\'єднання',
configuredConcurrency: 'Налаштована паралельність',
fragmentConcurrency: 'Паралельність фрагментів',
fragmentConcurrencyHint: 'Максимальна кількість медіафрагментів, які yt-dlp може обробляти одночасно. Firelink не повідомляє поточну кількість активних фрагментів; це налаштоване значення використовується під час запуску або відновлення передачі.',
connectedPeers: 'підключених пірів',
details: 'Деталі',
tabs: {
+2 -1
View File
@@ -228,7 +228,8 @@ const zhCN = {
speed: '速度',
eta: '剩余时间',
connections: '连接数',
configuredConcurrency: '已配置并发数',
fragmentConcurrency: '分片并发数',
fragmentConcurrencyHint: 'yt-dlp 可同时处理的媒体分片最大数量。Firelink 不会报告实时活动分片数量;此配置值会在传输开始或恢复时使用。',
connectedPeers: '已连接对等端',
details: '详细信息',
tabs: {