SeaMeet Desktop اینجاست — همه چیز را ضبط کنید، هیچ چیز را از دست ندهید. دانلود رایگان →

بازیابی، فضای ذخیره‌سازی و عیب‌یابی

فصل ۶: بازیابی، فضای ذخیره‌سازی و عیب‌یابی

کروم افزونه را قطع خواهد کرد. سؤال «اگر» نیست — service workerها در حالت بیکاری می‌خوابند، تب‌ها بسته می‌شوند، کروم زیر فشار حافظه را پس می‌گیرد. این فصل می‌گوید افزونه چگونه جان سالم به در می‌برد، و وقتی درزها پیدا شد چه باید کرد.

مدل بازیابی در یک پاراگراف

هر ضبط، همزمان با رخ دادن، قطعات صدای و فراداده‌اش را در IndexedDB (پایگاه داده محلی مرورگر) می‌نویسد. اگر کروم افزونه را در میانه ضبط بکشد، قطعات باقی می‌مانند. دفعه بعد که پنل کناری را باز کنید، در فهرستِ روی این دستگاه ذخیره شده با دکمه Upload all ظاهر می‌شوند — کاربران وارد‌شده می‌توانند بارگذاری قطع‌شده را از همان‌جا که مانده دوباره ادامه دهند، به لطف بارگذاری‌های چندبخشیِ قابل ازسرگیری. کاربران ناشناس می‌توانند صدا را روی رایانه‌شان دانلود کنند یا وارد شوند و بعداً بارگذاری کنند. هیچ چیز بی‌سروصدا از بین نمی‌رود.

این بخش یک خلاصه است؛ یادداشت‌های انتشار نسخه‌های 1.6 تا 1.9 تاریخچه کامل آن دسته از باگ‌ها را دارند که این جایگزینشان شد.

فهرست «روی این دستگاه ذخیره شده»

وقتی ضبط‌های آماده‌شده محلی وجود داشته باشند، در بالای پنل کناری باز می‌شود. هر ردیف نشان می‌دهد:

  • عنوان جلسه (یا «Untitled — <date>» برای ضبط‌هایی که هرگز عنوانی نگرفتند).
  • مدت زمان ضبط‌شده.
  • وضعیت (آماده بارگذاری / در حال بارگذاری / ناموفق / نهایی‌شده).
  • دکمه‌ها: Upload (با ورود) یا Download / Delete.

Upload all در بالای فهرست صف را تخلیه می‌کند. به‌محض آنکه پویش بازپخش، تکمیل را اعلام کند خارج می‌شود، نه اینکه تمام مهلت چهار دقیقه‌ای را صبر کند، تا حس پاسخ‌گویی بدهد.

وقتی کروم افزونه را در میانه ضبط می‌کشد

هر یک از این‌ها ممکن است رخ دهد و مدیریت می‌شود:

  • تبی که ضبط می‌کنید بسته شود. service worker رویداد tabs.onRemoved را می‌گیرد و قبل از آنکه کروم بتواند service worker را بخواباند، یک Stop + تخلیه بارگذاری معمولی راه می‌اندازد.
  • تب ضبط کرش کند. رله اسکریپت محتوای میکروفون می‌میرد؛ پس از ۵ ثانیه بدون فریم PCM، پنل کناری هشدار «microphone signal was lost» را نشان می‌دهد. ضبط متوقف می‌شود و قطعات ضبط‌شده تا آن لحظه برای بازیابی آماده می‌شوند.
  • service worker توسط کروم بازیافت شود. در اولین cold-start بعدی، افزونه سند offscreen را پینگ می‌کند؛ اگر پاسخ دهد، ضبط بدون درز ادامه می‌یابد؛ اگر نه، offscreen رها می‌شود و پنل با قطعات آماده‌شده دست‌نخورده به صفحه راه‌اندازی برمی‌گردد.
  • سند offscreen زیر فشار حافظه پس گرفته شود. کنشگر pagehide آن ضبط را به‌زور متوقف می‌کند. یک محافظِ توقف سیگنال میکروفون به مدت ۳۰ ثانیه درون offscreen نیز اگر همه سیگنال‌های خارجی از دست بروند، ضبط را متوقف می‌کند.
  • مرورگر در حین ضبط بسته شود. ضبط دفعه بعد که کروم را باز کنید در فهرستِ «روی این دستگاه ذخیره شده» ظاهر می‌شود.

آن یک مورد که قبلاً بی‌سروصدا داده از دست می‌داد — پایان یافتن یک جلسه Google Meet با پیمایش تک‌صفحه‌ای (single-page-app) — با رصدِ service worker برای خروج تب از نشانی کد جلسه، مستقل از اسکریپت محتوا، مدیریت می‌شود.

وقتی بارگذاری شکست می‌خورد

بارگذاری‌ها از انتقال چندبخشیِ قابل ازسرگیری استفاده می‌کنند. اگر یک بخش شکست بخورد، فقط همان بخش دوباره تلاش می‌شود. اگر کل بارگذاری در میانه انتقال بمیرد:

  1. قطعات آماده‌شده در IndexedDB می‌مانند.
  2. ضبط در فهرستِ «روی این دستگاه ذخیره شده» با وضعیت Failed ظاهر می‌شود.
  3. با ورود: Upload روی آن ردیف انتقال را از آخرین بخش موفق از سر می‌گیرد. برای جلسات طولانی، این یک بارگذاری کامل از نو نیست.
  4. ناشناس: Download صدا را به‌صورت یک فایل .webm روی رایانه شما ذخیره می‌کند؛ می‌توانید آن را محلی پخش کنید یا بعداً پس از ورود بارگذاری کنید.

مدیریت حافظه

ضبط‌های محلی دیگر پس از ۳۰ روز به‌طور خودکار حذف نمی‌شوند. اگر با افزونه مثل یک ضبط‌کننده مستقل رفتار کنید — ضبط جلسات، نگه داشتن فایل‌ها محلی، هرگز وارد نشدن — ضبط‌های قدیمی قبلاً بی‌سروصدا ناپدید می‌شدند. این رفع شده است.

فقط دو دسته به‌طور امن خودکار پاک می‌شوند:

  • یتیم‌های نهایی‌شده — بارگذاری تأیید کرده که ضبط به‌طور امن در R2 است و نسخه محلی حالا زائد است.
  • یتیم‌های ۰ بایتی — ضبط قبل از گرفتن هر صدایی مرده؛ چیزی برای بازیابی نیست.

در ۵۰۰ مگابایت ضبط محلیِ آماده‌شده، یک هشدار زرد حافظه در بالای پنل کناری ظاهر می‌شود. توصیه‌ای است — هیچ داده‌ای حذف نمی‌شود — اما کنکی است برای ورود و بارگذاری، یا دانلود و پاک کردن.

برای پاک کردن یک ضبط مشخص: روی Delete در ردیف آن در فهرستِ «روی این دستگاه ذخیره شده» کلیک کنید. اگر ضبط یادداشت‌های زنده بارگذاری‌نشده داشته باشد، حذف تأیید می‌خواهد.

مشکلات رایج

«آیکون افزونه روی chrome://، edge:// یا Chrome Web Store خاکستری است.»

کروم اجازه نمی‌دهد افزونه‌ها روی صفحات chrome://، صفحات edge:// و خود Chrome Web Store اجرا شوند. این محدودیتی در کل مرورگر است؛ SeaMeet کاری از دستش برنمی‌آید. جلسه را در یک تب معمولی باز کنید.

«ضبط تب با "Cannot access a chrome:// URL" یا "Extension not allowed for this tab" شکست خورد.»

تب قبل از نصب افزونه باز بوده است. کروم از اتصال tab-capture به تبی که هیچ مجوزی برایش داده نشده خودداری می‌کند. تب را دوباره بارگذاری کنید و دوباره امتحان کنید.

«ضبط‌ها در فهرست بازیابی 0:00 نشان داده می‌شوند.»

این باگی در نسخه‌های قدیمی‌تر بود — مدت زمان فقط هنگام توقف نوشته می‌شد، پس ضبطِ قطع‌شده چیزی نداشت. حالا در حین ضبط ذخیره می‌شود، پس فقط وقتی رخ می‌دهد که ضبط قبل از اولین به‌روزرسانی مدت زمان تمام شده باشد. وقتی نامعلوم است به برمی‌گردد.

«فایل بارگذاری‌شده پخش می‌شود اما مدت زمان نامعلوم / بی‌نهایت نشان می‌دهد.»

ضبط‌های تا ۱۰۰ مگابایت، فراداده مدت‌زمانشان قبل از تکمیل بارگذاری بازنویسی می‌شود، پس برای آن‌ها این رفع شده است. ضبط‌های بزرگ‌تر یا ازسرگیری‌شده از جایگزین پچ بخش-۱ استفاده می‌کنند — فایل پخش می‌شود، اما تعداد کمی پلیر ممکن است درست جابه‌جا (seek) نشوند. به‌عنوان راه‌حل موقت، VLC را امتحان کنید.

«جلسه Meet تمام شد اما ضبط ادامه یافت.»

این دسته از باگ در 1.9 رفع شد. اگر روی 1.9 یا بعدتر رخ داد، لطفاً گزارش کنید — همراه با شماره نسخه از chrome://extensions/ و یادداشتی درباره پلتفرم جلسه.

«زیرنویس‌ها در میانه جلسه متوقف شدند.»

تبدیل گفتار به متن زنده چند بار به‌طور خودکار وصل می‌شود؛ وقتی تلاش‌هایش تمام شود، بنر «Retry captions» بالای رونوشت ظاهر می‌شود. رویش کلیک کنید. ضبط تمام مدت ادامه دارد — هیچ صدایی از بین نمی‌رود.

«یک ضبط از تماس Meet عنوان اشتباه دارد (عنوان تب).»

این در 1.8 رفع شد — ضبط‌های افزونه حالا با «Untitled — <date>» شروع می‌شوند، مطابق با محافظ نام پیش‌فرض برنامه وب، تا عنوان جلسه تولیدشده توسط هوش مصنوعی پس از بارگذاری درست جای آن را بگیرد. اگر این را روی 1.8 یا بعدتر می‌بینید، تغییر نام هوش مصنوعی معمولاً ظرف یک دقیقه خودش را می‌رساند.

کِی باگ گزارش کنیم

  • ضبط پس از یک قطع شدن در فهرستِ «روی این دستگاه ذخیره شده» ظاهر نشد.
  • Upload all موفقیت اعلام می‌کند اما ضبط در کتابخانه وب شما نیست.
  • افزونه کروم را کرش می‌کند (نه اینکه فقط با لطف شکست بخورد).
  • هرگونه از دست رفتن بی‌سروصدای داده.

روی مخزن برنامه دسکتاپ (seasalt-ai/seameet-app-desktop) گزارش کنید، همراه با نسخه افزونه، نسخه مرورگر، و در صورت امکان، اسکرین‌شاتی از پنل کناری.

مرجع سریع

علامتامتحان کنید
افزونه ضبط نکردتب را دوباره بارگذاری کنید، سپس دوباره تلاش کنید
ضبط بعد از کرش گم شدهفهرستِ «روی این دستگاه ذخیره شده» در پنل کناری را ببینید
بارگذاری گیر کردهدوباره روی Upload در ردیف کلیک کنید — چندبخشیِ قابل ازسرگیری
زیرنویس‌ها متوقف شدندروی Retry captions در بنر بالای رونوشت کلیک کنید
هشدار حافظه در ۵۰۰ مگابایتوارد شوید و Upload all بزنید، یا Download و Delete کنید
جلسه پس از پایان به ضبط ادامه داداگر هنوز نیست، به 1.9+ به‌روزرسانی کنید

آخرین به‌روزرسانی: 2026-08-27

← فصل ۵: ورود و همگام‌سازی با برنامه وب

Published: