إذا تم قطع التسجيل، فلا شيء مفقود
ماذا يحدث عندما يتم قطع التسجيل
أثناء تسجيلك لـ Blink، يتم حفظ الصوت على الخادم أثناء تقدمك. لذا إذا توقف التسجيل قبل أن تنتهي — قمت بقفل الهاتف، أو أغلقت علامة التبويب، أو تلقيت مكالمة، أو فقدت الإشارة — فإن الجزء الذي تقلته بالفعل آمن.
في المرة القادمة التي تفتح فيها OrbitingFox، سيظهر ذلك التسجيل كـ مسودة Blink بعنوان يقول ما هو:
مسودة — تسجيل مقطوع #3، 4 سبتمبر الساعة 8:25 صباحاً
يعد الرقم عدًّا لقطوعك بالترتيب، وتخبرك التاريخ والوقت أي واحد كان — وهي مفيدة عندما يتم قطع اثنين في نفس الظهيرة.
أين تجدها
تظهر المسودات في مكانين، وهي نفس العناصر في كلا الاتجاهين:
- قائمة Blink العادية الخاصة بك، مختلطة مع كل شيء آخر، كل منها معلمة بعلامة مسودة صغيرة حتى يمكنك التعرف عليها من لمحة.
- صفحة التسجيلات المقطوعة، التي تظهر فقط المسودات، مع تفسير في الأعلى وخيارات بجوار كل واحدة.
خياراتك الثلاثة
- احتفظ — يصبح Blink عادي. التسجيل مرتبط به، ويمكنك إعادة تسميته متى شئت؛ عنوان المسودة هو مجرد نقطة انطلاق.
- حرر — افتحه أولاً وغيّر العنوان أو النص، ثم احفظه كالمعتاد.
- احذف — لم تكن ترغب فيه. ينتقل إلى سلة المحذوفات مثل أي شيء آخر تحذفه، لذا يمكن استرداده من خطأ الضغط.
لا يوجد موعد نهائي. تنتظر المسودة حتى تقرر.
OrbitPilot ومسوداتك
لا يقرأ OrbitPilot محتويات المسودة. التسجيل المقطوع هو نصف فكرة — قد لا تكون قد أنهيت الجملة، أو قد تحذفها تمامًا — لذا لا يتم إعطاؤها للذكاء الصناعي ليتعلم منها.
في اللحظة التي تحتفظ فيها بمسودة، تصبح Blink عادي، ومن تلك اللحظة فصاعداً يُعاملها OrbitPilot مثل أي أخرى: يمكنه قراءتها، ما لم تحدد أن تلك Blink خاصة.
ما تغير، ولماذا
قبل ذلك، كان التسجيل المقطوع يُعلن عن نفسه بعبارة تحذيرية داخل أي نموذج Blink فتحته بعد ذلك — عبارة تحذيرية واحدة لكل تسجيل مقطوع، مكدسة فوق بعضها، وكان التسجيل مرتبطًا بما كنت تكتبه في ذلك الوقت.
كان ذلك محيرًا بطريقتين: عدة إنذارات لمشكلة واحدة، وتسجيل ينتهي داخل Blink غير ذات صلة. الآن كل تسجيل مقطوع هو عنصر خاص به، باسمه الخاص, وأنت تقرر ما يحدث له.
نموذج Blink لم يعد يُعلن عنها (BL-451، 2026-09-10)
حتى الآن كان نموذج Blink يحمل إشعارًا من سطر واحد "تم قطع تسجيلات سابقة وحفظها كمسودات - راجعها" داخل كتلة ملاحظات الصوت، بين زر بدء التسجيل ونص المساعدة الخاص به. صمم المالك هذه الميزة كـ لا توجد لافتات على الإطلاق: المسودات مرئية في قائمة Blink الخاصة بك (معلمة كمسودات)، على صفحة التسجيلات المقطوعة، وخلف حبة الساعة الصغيرة تحت صندوق التقاط الصفحة الرئيسية. كانت الصفحة الرئيسية قد أخفت بالفعل إشعار النموذج؛ حافظ النموذج على ذلك، وتم قطعه بالضبط في اللحظة التي لا ينبغي أن يحدث فيها — بينما كنت تلتقط شيئًا آخر.
ما تغير. الإشعار قد اختفى من النموذج. لا شيء عن الإنقاذ قد تغير: عندما تفتح نموذج Blink، لا تزال الصفحة تطلب من الخادم التحقق من التسجيلات المقطوعة، ولا يزال كل منها يصبح مسودة Blink بعنوان صادق. تجدها في المكان الذي وضعته فيه التصميم — قائمة Blink، صفحة المسودات، حبة الصفحة الرئيسية — ويمكن أن يشير لك OrbitPilot إلى ذلك. إذا كنت تقوم بتحرير Blink عادي أثناء انتظار المسودات، فلا يُشير النموذج إليها أيضًا؛ صفحة المسودات تفعل ذلك.
للمطورين. تم إزالة الحاوية #voice_draft_recovery_banner من templates/blink/_wink_voice.html; checkDrafts() في
_wink_voice_js.html يحتفظ بوظيفة voice_draft_check — التأثير الجانبي لجلب المعلومات هو التحقق، لذا فإن الجلب هو الإنقاذ — ويحذف فرع كتابة اللافتات; القاعدة الخاصة بالإخفاء، التي أصبحت غير فعالة، قد أزيلت من templates/home.html. عقد العد BL-396 لا يزال على حاله (تقرأ سيناريوهاتها التسعة نقطة النهاية، وليس الصفحة). الحارس:
blink/test_draft_form_notice_retired.py. هذه هي المرحلة 0 من مقدمة ميكروفون الصفحة الرئيسية (GRP-104 / WO-33; نسخة المستودع docs/blink/HOME-PAGE-MIC-DESIGN.md).
تمييز مسوداتك دون فتحها (BL-464، 2026-09-11)
ما تغير. كانت كل صف في صفحة التسجيلات المقطوعة تظهر عنوانًا ووقت تسجيله، ولا شيء آخر. العناوين تُولد، لذا كانت ثماني مسودات تبدو كنسخ ثماني لنفس الشيء — والطريقة الوحيدة لتقرر ما إذا كنت ستحتفظ أو تحذف واحدة كانت بفتحها، والنظر، والعودة.
كلمات المالك: "ثم يكون لدى المستخدم فكرة عامة عما يوجد داخل كل منها قبل النقر على تحرير أو النقر على الاحتفاظ أو النقر على الحذف. لذا يجب أن تكون تلك الصفحة أكثر معلوماتية عن عناصر المسودات."
كل صف يحمل الآن
- بداية ما تم قوله. سطر قصير واحد من النص — قصير عن عمد، ومُحتفظ به في سطر واحد مهما كانت مدة التسجيل. ستكون قائمة من كتل ثلاثة أسطر نفس المشكلة بشكل مختلف.
- تحكم تشغيل، على أي مسودة لا تزال تحتوي على تسجيلها. اضغط عليه وسيلعب التسجيل دون مغادرة الصفحة؛ اضغط عليه مرة أخرى للإيقاف.
يتم تشغيل واحد فقط في كل مرة. الضغط على التشغيل على مسودة ثانية يوقف الأولى. بدون ذلك، سيتم الضغط على ثماني مسودات للعمل على معرفة أي منها، مما يؤدي إلى توقف أربع تسجيلات معًا ولا توجد طريقة واضحة لإيقافها.
يقول التحكم تشغيل أو إيقاف بكلمات، وليس فقط كشكل، ويتغير الكلمة مع ما سيفعله الضغط عليه. لا شيء هنا يحتاج إلى التحويم — لا يوجد تحويم على الهاتف، وهذه الدرس له صفه الخاص.
الطول لم يُظهر بعد
طلب المالك أيضًا الطول الإجمالي لكل تسجيل. هذا ليس هنا، وهذا متعمد بدلاً من نسيانه: لا شيء يخزنه اليوم، والطريقة الواضحة لإضافته تبين أنها لا تعمل لهذه الصفحة. إنها قطعة منفصلة من العمل مع صفها الخاص.
للمطورين
⚠️ مسودة Blink لا تحتوي على BlinkAudio. هذه هي الشيء الذي يجب معرفته قبل
لمس هذه الصفحة. materialise_voice_draft() يخلق Blink ويترك التسجيل على BlinkVoiceDraft; لا يتم إنشاء BlinkAudio إلا عندما يضغط الشخص على احتفظ (promote_voice_draft → commit_voice_drafts). لذا فإن التحكم في التشغيل والمقتطفات يقرآن blink.voice_draft، وprefetch_related("audios") سيُعيد N استعلامات لا تعيد شيئًا. المنظر بالفعل select_related("voice_draft")، لذا فإن الصف لا يكلف استعلامًا إضافيًا — مثبت من خلال اختبار يحسب الاستعلامات لمسودة واحدة مقابل أربعة.
المقتطف يقرأ voice_draft.transcript و ليس
blink.description: الوصف مُستخرَج من النص عند وقت التحقق ويمكن بعد ذلك تحريره، لذا فإن الاثنين ينفصلان. النص هو ما قيل فعلاً، وهو ما يحاول شخص ما مسح القائمة التعرف عليه.
التControl هو زر صغير بالإضافة إلى <audio> مخفي، وليس عنصر تحكم <audio controls>: اللاعب الأصلي يبلغ حوالي 300 بكسل وعادة تحمل هذه الصفوف تحرير، احتفظ واحذف، لذا كان يجب أن يلتف كل صف عند 375 بكسل. preload="none" يمنع قائمة من عشرة صفوف من جلب عشرة ملفات صوت عند التحميل. يتواجد المعالج المشترك في static/js/of-draft-play.js; يؤدي رفض play() إلى إرجاع الزر ويقول ذلك بدلاً من تركه يقرأ "إيقاف" فوق الصمت.
الأيقونات تأتي من سجل الأيقونات — play، pause و
microphone تم تسجيلها بواسطة adminapp/0080، لأنه لم يكن أي منها موجود. إظهار {% of_icon "play" %} ضد مفتاح لا يحتفظ به السجل يُعيد سلسلة فارغة خارج DEBUG، مما كان سيجلب زرًا بلا أي شيء فيه. الهجرة نفسها تستبدل رمز 🎤 المُستخدم كتمثيل صوتي مؤقت.
This guide was translated automatically. Read the English original.