منصوبے کے بارے میں
Already Watched ایک لوکل-فرسٹ Chrome ایکسٹینشن ہے جو YouTube فیڈ میں تکرار کو کم کرنے کے لیے بنائی گئی ہے۔ یہ Home، سائیڈ بار/تجاویز، Search، Subscriptions، متعلقہ گرڈز، اور سپورٹڈ Shorts لے آؤٹس میں ویڈیو کارڈز کا پتہ لگاتی ہے۔ پلے بیک کو اصل منفرد حصوں (segments) سے ٹریک کیا جاتا ہے؛ سیکس (seeks) اور ایک ہی حصے کو دوبارہ چلانے سے پروگریس میں اضافہ نہیں ہوتا۔ جب مشاہدہ کیے گئے حصے ایک قابلِ ترتیب حد (threshold) تک پہنچ جاتے ہیں، تو ویڈیو کو 'دیکھی گئی' (watched) کے طور پر نشان زد کر دیا جاتا ہے۔ ڈیفالٹ ڈسپلے موڈ 70% دیکھنے پر Badge + Dim ہے، جس میں دیکھے گئے کارڈز اب بھی کلک کے قابل ہوتے ہیں اور ہوور یا کی بورڈ فوکس پر بحال ہو جاتے ہیں۔ آپشنز میں دیکھے گئے کارڈز کو مکمل طور پر چھپانا، ضرورت پڑنے پر خالی فیڈ کو دوبارہ بھرنا، Playables اور ٹاپک-سجیشن سیکشنز کو چھپانا، Home پر Shorts شیلفز/کارڈز کو چھپانا، اور پلے لسٹ اور Mix کلیکشن کارڈز کو چھپانا شامل ہے۔ Playables/ٹاپک اور پلے لسٹ/Mix فلٹرز ریورسیبل ہیں، ڈسپلے موڈز کے ساتھ کام کرتے ہیں، اور اس طرح محدود ہیں کہ پلے لسٹس کے اندر انفرادی ویڈیوز اور نارمل ویڈیو URLs دستیاب رہتے ہیں۔
مینول کنٹرولز میں تھمب نیل بٹنز شامل ہیں تاکہ ویڈیوز کو دیکھا گیا یا نہ دیکھا گیا نشان زد کیا جا سکے، ویڈیو لنکس یا موجودہ واچ پیج کے لیے Chrome کانٹیکسٹ-مینو کمانڈز، اور YouTube کے نیٹیو تھری-ڈاٹ ویڈیو مینیوز کے اندر ایکشنز شامل ہیں۔ ایک اسکین کمانڈ فعال ٹیب میں موجود کارڈز سے اہل پروگریس بارز کو اسکرول کیے بغیر، اکاؤنٹ ہسٹری حاصل کیے بغیر، یا YouTube API استعمال کیے بغیر امپورٹ کرتی ہے۔ اعداد و شمار اسٹور شدہ واچڈ ریکارڈز، کل مارکس، آج فلٹر کیے گئے، اور مجموعی طور پر فلٹر کیے گئے کے درمیان فرق کرتے ہیں؛ ڈپلیکیٹ کارڈز، ری-رینڈرز، SPA نیویگیشن، اور بار بار ہونے والے آبزرور ایونٹس کو ڈی-ڈپلیکیٹ کیا جاتا ہے۔ ہسٹری کلیئر کرنے سے ویڈیو ریکارڈز، جزوی پلے بیک، اوور رائیڈز اور اعداد و شمار ختم ہو جاتے ہیں لیکن سیٹنگز محفوظ رہتی ہیں۔
یہ ایکسٹینشن Manifest V3 کے طور پر بنائی گئی ہے جس میں storage، contextMenus، اور youtube.com تک ہوسٹ ایکسیس کے لیے مخصوص اجازتیں (permissions) ہیں۔ یہ سیٹنگز، فی-ویڈیو ریکارڈز، اعداد و شمار، اور ہسٹری ریویژن ڈیٹا کے لیے chrome.storage.local استعمال کرتی ہے؛ ہسٹری کلیئرنگ عارضی طور پر chrome.storage.session استعمال کرتی ہے۔ README میں بتایا گیا ہے کہ اس میں کوئی اینالٹکس، کوئی بیک اینڈ، کوئی YouTube API، گوگل اکاؤنٹ تک کوئی رسائی، براؤزنگ-ہسٹری یا کوکیز کی اجازت، اور کوئی Chrome سنک نہیں ہے۔ مواد کے اسکرپٹس (Content scripts) Chrome کی آئسولیٹڈ ورلڈ میں چلتے ہیں؛ React صرف پاپ اپ/آپشنز UI کے لیے بنڈل کیا گیا ہے۔ تمام اسکرپٹس، اسٹائلز، اور آئیکنز مقامی طور پر فراہم کیے جاتے ہیں، کوئی CDN یا رن ٹائم کوڈ ڈاؤن لوڈ نہیں ہوتا۔
ترقی (Development) کے لیے Node.js 20.19+ (Node 22 LTS تجویز کردہ)، npm، اور Chrome 114+ درکار ہے۔ npm ci اور npm run check لوڈ ایبل ایکسٹینشن کو dist/ میں بلڈ کرتے ہیں۔ README میں یونٹ، DOM، اسٹوریج کنکرنسی، پلیئر ریگریشنز، ٹائپ چیکنگ، بلڈ، ڈیولپمنٹ واچ، اور لوکل پری ویو سرور کے ٹیسٹ دستاویز کیے گئے ہیں۔ معلوم حدود میں YouTube لے آؤٹ تجربات، v1 اسکوپ سے باہر موبائل اور ایمبیڈڈ پلیئرز، قدامت پسند اشتہارات/لائیو ہیورسٹکس، ممکنہ غیر مشاہدہ پلے بیک گیپس، اور بہترین کوشش کے ساتھ ری فلنگ شامل ہے جب YouTube کوئی سپورٹڈ کنٹینیویشن فراہم نہیں کرتا۔ یہ پروجیکٹ MIT لائسنس کے تحت ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.