Repository navigation
Releases: iSltanX/obsidian-wasl
Release list
Wasl 1.2.1
ترتيب صفحة المستودع وتنظيفه. لا تغيير في سلوك الإضافة.
صفحة المستودع عربية أولًا. .github/README.md (الدليل العربي ثم الإنجليزي) هو الذي يعرضه GitHub في صفحة المستودع. وREADME.md في الجذر يبقى إنجليزيًا أولًا ثم العربي، لأن بوابة دليل Obsidian تقرؤه وتطلب فيه نصًا إنجليزيًا. الملفان يحملان المحتوى نفسه بترتيبين، ويُعدَّلان معًا (مكتوب في CONTRIBUTING.md).
أُزيل من المستودع ما كان لإدارة المشروع لا لمن يستعمل الإضافة: خطة التنفيذ، ودراسة الجدوى، ومذكرة القرار، وتقارير المراحل والتجارب، وسكربتا التجربتين (t0-survey وt1-builtin)، وREADME.en.md. كلها تبقى في تاريخ git. وحُذفت من README فقرة «التطوير» التي كانت تشير إليها. إدخالات الإصدارات القديمة أدناه تذكر بعض هذه الملفات، وهي إشارات تاريخية.
README: صار قياس «٨٣ من ٨٤» يُعاد بالأمر npm run metrics على أمثلة المستودع، وذُكر أن تجربة الـ٤١٪ استعملت نصًا خاصًا فلا تُعاد منه. وصارت خطوة التثبيت تبدأ بالبحث عن Wasl في الإضافات المجتمعية.
Wasl 1.2.0
إعدادات وصل تظهر الآن في بحث الإعدادات في Obsidian 1.13 فأحدث. لا تغيير في سلوك الإضافة ولا في أدنى نسخة (1.7.2).
ما تغيّر. صفحة الإعدادات تُعرَّف الآن عبر واجهة Obsidian التعريفية (getSettingDefinitions): المجلدات المستثناة، والمواضع المحتملة، والاقتباسات، وأول ذكر فقط، ولغة الواجهة، وتصدير الإحصاءات، وشرح خاصية الملاحظة. وبقي display() كما هو لـObsidian الأقدم من 1.13، وهو ما توصي به وثائق Obsidian نفسها لمن يدعم نسخًا أقدم. الاختيار يتم تلقائيًا.
- حقل المجلدات المستثناة يُحفظ بعد توقف قصير عن الكتابة وعند إغلاق الإعدادات (كما كان)، فلا يُعاد البحث مع كل حرف.
- تبديل اللغة يعيد رسم الإعدادات كلها بلغتها واتجاهها (
update()وحدها كانت تترك صفّ المجلدات المستثناة بالعربية). - تنبيه «تحديث الروابط الداخلية تلقائيًا» يظهر في المسارين.
- كل استدعاء لواجهة 1.13 محروس بـ
requireApiVersionفلا يمسّ من يشغّل نسخة أقدم.
جُرّب داخل Obsidian 1.14.4: رسم الإعدادات الثمانية، وتغيير كل إعداد وحفظه، وحقل المجلدات، وتبديل اللغة عربية وإنجليزية وتلقائية بلا تكرار صفوف، وصفّ التصدير، وظهور التنبيه، ومسار display() القديم برمجيًا. والمدقق الرسمي: صفر أخطاء، وزال تحذير «لا يطبّق getSettingDefinitions»، وبقي تحذيران من display المهجورة وهما ثمن دعم الأقدم.
Wasl 1.1.1
تحسينات على ما أبلغت عنه مراجعة دليل Obsidian الآلية للنسخة 1.1.0. لا تغيير في سلوك الإضافة.
README. صار README.md إنجليزيًا أولًا بالدليل الكامل، ثم الدليل العربي كاملًا تحت «بالعربية». السبب: فحص README في الدليل يطلب نصًا إنجليزيًا، ولم يكفِ قسم قصير في أعلى ملف أغلبه عربي (كانت الكلمات اللاتينية نحو ١٨٪ فقط). وREADME.en.md صار إشارة قصيرة إلى الدليل الإنجليزي في README.md.
CSS (ثلاث ملاحظات من فاحص CSS في الدليل، دون تغيير في الشكل):
all: unsetعلى أزرار اللوحة استُبدل بإعادة ضبط صريحة. قورنت الأنماط المحسوبة للأزرار قبل التعديل وبعده في ثيم خزف الداكن، فتطابقت في الحجم والخط واللون والحشو، واختلفtransitionفقط (صارnone) وسُمك إطار تركيز غير مرئي. وقورنت لقطات اللوحة في أربع حالات (خزف وثيم Obsidian الافتراضي، فاتحين وداكنين): حالة النتائج متطابقة إلا ضجيجًا لا يتجاوز عشرين بكسلًا. وفي حالة المعاينة لاحظتُ أن الـCSS القديم لا يعطي الصورة نفسها في كل مرة (حجم زرّ «أكّد الربط» يتبدّل ولم أحدد سببه)، والجديد يعطيها نفسها في كل مرة وبالحجم الذي تحسبه الأنماط المستقرة (٥٨×٢٨ بكسل).clip-pathفي الصنف المخصص لقارئات الشاشة (.wasl-sr-only) أُزيل: يكفي حجم ١ بكسل معoverflow: hiddenوهامش سالب.column-gapوrow-gapعلى البطاقة صاراgapواحدًا بالقيمتين نفسيهما.
مسار الإصدار. release.yml يبني الإصدار على GitHub ويضع شهادة مصدر (artifact attestation) على main.js وmanifest.json وstyles.css، ثم ينشئ مسودة إصدار بملاحظاتها من هذا الملف. وهو توصية من مراجعة الدليل. يُشغَّل يدويًا ولا يغيّر عادة الفحص المحلي.
Wasl 1.1.0
إصلاح خلل «مربوطة من قبل» مع ملاحظات بالاسم نفسه، وتصحيح عبارات في README، وقسم إنجليزي في أعلاه.
الخلل المُصلَح. كانت وصل تحكم بأن الملاحظة «تربط الهدف من قبل» بمقارنة اسم ملف الرابط باسم الهدف وأسمائه البديلة، بلا مجلد. فإذا وُجدت ملاحظتان بالاسم نفسه في مجلدين (أ/المعنى وب/المعنى) ومصدر يربط إحداهما فقط، عُدّت الأخرى مربوطة أيضًا، فيُخفي الإعداد «أول ذكر فقط» عنها مواضع تستحق الظهور. وكان رابط [[writing]] غير المحلول يُعدّ ربطًا لملاحظة اسمها البديل writing. أُعيد إنتاج الخلل بالتشغيل قبل إصلاحه.
الإصلاح. تُجمع وجهات الروابط الموجودة كما كُتبت (بمجلدها وبلا قسم ولا معرّف كتلة، من بيانات Obsidian ومن الماسح)، وتُحلّ إلى ملفات بما يحلّه Obsidian نفسه (getFirstLinkpathDest من المصدر)، ويُحكم بمسار الملف لا باسمه. رابط لا يصل إلى ملف لا يُعدّ ربطًا. النواة وحدها (بلا Obsidian) تبقى على المقارنة بالاسم.
- جُرّب داخل Obsidian: ملاحظتان بالاسم نفسه ومصدر يربط
أ/المعنىفقط مع «أول ذكر فقط»: تُخفى المواضع عنأوتبقى ظاهرة عنب. - تنبيه «الاسم المشترك» كان يبقى قديمًا حين تُضاف أسماء بديلة أو تُحذف في ملاحظة أخرى. صار يتبعها مباشرة (جُرّب إضافةً وحذفًا داخل Obsidian).
- أحد عشر اختبارًا جديدًا (٤٣٦ في المجموع). ولا تغيير في المطابقة ولا في كتابة الروابط.
تصحيح README بعد مراجعة بحث خارجي، وتحققتُ من كل نقطة بنفسي:
- «٨٣ من ٨٤» هي حالات اختبار وليست اقتراحات صحيحة (منها حالات يجب ألا يُقترح فيها شيء)، وذُكر أن دقة الطبقة ١ في جمل الرواية ٩٠٫٩٪ دون العتبة.
- «٤١٪» هي نصيب ما تضيفه وصل من مجموع المواضع الصحيحة على رواية واحدة وعناوين افتراضية، لا نسبة ما تسترجعه مما تفوّته الميزة المدمجة.
- الخصوصية: قائمة التجاهل تحفظ مسارات الملاحظات ونسخة مطبّعة من الكلمة المتجاهَلة وبصمة سياق، والأرقام فقط في العدّادات. وقد ينقل Obsidian Sync الملف.
- قسم إنجليزي في أعلى
README.md(طلبته المراجعة الآلية في دليل Obsidian).
التفاصيل في CHANGELOG.md.
Fixes how Wasl decides that a note "already links" a target when two notes share a name in different folders: links are now resolved to files the way Obsidian resolves them, so a link to a/Meaning no longer hides mentions for b/Meaning under "First mention only", and an unresolved [[alias]] no longer counts as a link. The shared-name notice now follows alias changes made in other notes. The README was corrected (what the 83/84 and 41% figures mean, what the ignore list stores) and now opens with an English section. Checked inside Obsidian; 436 tests pass; the official plugin linter reports no errors.
Wasl 1.0.1
إصلاحات أبلغ عنها المدقق الرسمي لإضافات Obsidian (eslint-plugin-obsidianmd 0.4.2). لا تغيير في السلوك: ثلاثة أسطر في src/plugin.
ما تغيّر
linker.ts: إشارة الإلغاء داخلvault.processصارت كائنErrorبدلSymbol، وتُقارن بالهوية كما كانت. هذه الإشارة هي التي تمنع كتابة أي شيء في الملف حين يتغيّر النص بين المعاينة والتأكيد.view.ts: زر «أكّد الربط» يتجاهل الوعد الراجع من الدالة صراحةً (void).scan.ts: التوقف القصير بين دفعات البحث يستعملwindow.setTimeoutليعمل في النوافذ المنفصلة.
جُرّب داخل Obsidian (١٫١٤٫٤، مجلد تجريبي): الربط يكتب [[الكتابة|وبالكتابةِ]] بشكله الصحيح، والتراجع يعيد الملف كما كان بالحرف، وإذا تغيّر نص الموضع بعد المعاينة لا يُكتب شيء. والفحص المحلي (٤٢٥ اختبارًا) يمرّ.
ما بقي من المدقق: تحذيران عن واجهة الإعدادات «التعريفية» (getSettingDefinitions) التي تبدأ في Obsidian 1.13، وأدنى نسخة نعلنها 1.7.2. تُترك عمدًا.
التفاصيل في CHANGELOG.md.
Patch release from the official Obsidian plugin linter (eslint-plugin-obsidianmd 0.4.2). No change in behaviour: the cancel signal inside vault.process is now an Error object (still compared by identity), the Confirm link button discards its promise with void, and the short pause between scan batches uses window.setTimeout. Link, undo and the cancel-on-changed-text path were checked inside Obsidian. Two linter warnings remain on purpose: the declarative settings API starts in Obsidian 1.13 while the minimum version stays 1.7.2.
Wasl 1.0.0
أول إصدار مكتمل التوثيق. لا تغيير في المطابقة ولا في كتابة الروابط عن 0.1.2: فُحص أن src/core وlinker.ts وwrite.ts وlink.ts وundo.ts لم يتغير فيها شيء منذ ذلك الوسم.
ما تغيّر
- README العربي والإنجليزي أُعيد كتابتهما بلغة واضحة، مع قسم «حدود المطابقة» (ما تلتقطه وما لا تلتقطه) وقسم «ما قيس وما لم يُقَس»، ولقطتان بثيم خزف.
- وصف
manifest.jsonصار بإنجليزية مفهومة. - أُزيل أمر «قس زمن البحث» وزر المؤقت على الجوال؛ كانا للتجارب فقط.
- العدّادات المحلية وأمر «تصدير الإحصاءات إلى ملاحظة» باقيان، وموثّقان في قسم الخصوصية: أرقام فقط بلا أسماء ملاحظات ولا نصوص، ولا تُرسل إلى أحد.
التجربة الشخصية: أُغلقت بوابة المرحلة ٤ في ١٦ أكتوبر ٢٠٢٦ بقرار صاحب المشروع، دون أرقام قياس من الاستعمال الفعلي (التفاصيل في docs/experiments/trial-report.md). الطبقة ٢ (المواضع المحتملة) تبقى مطوية افتراضيًا.
حدّ معلوم: أندرويد لم يُجرَّب.
التفاصيل في CHANGELOG.md.
First documented release. No change to the matching or to how links are written since 0.1.2 (the core and link-writing files are unchanged since that tag). Changed: the Arabic and English READMEs were rewritten in plain language with a section on the matching limits and one on what was and wasn't measured, plus two screenshots in the Khazaf theme; the manifest description is now plain English; the "measure search time" command and the mobile timer button, which were only for the device tests, were removed. The local counters and the export command remain and are described in the privacy section (numbers only, never sent anywhere). The phase 4 personal trial was closed on 16 October 2026 by the project owner's decision, with no measured numbers from real use (see docs/experiments/trial-report.md); possible mentions stay collapsed by default. Known limit: Android hasn't been tried.
Wasl 0.1.2
بداية التجربة الشخصية (المرحلة ٤): عدّادات محلية لكل ربط وتجاهل وتراجع حسب الطبقة والسبب، وأمر «تصدير الإحصاءات إلى ملاحظة»، وحساب المكسب فوق الميزة المدمجة. أرقام فقط بلا أسماء ملاحظات ولا نصوص. التفاصيل في CHANGELOG.md.
Personal trial build: local per-day counters of links, undos, rejections and restores by layer and reason, an export-to-note command, and the gain over the built-in feature. Numbers only, no note names or text.
Wasl 0.1.1
النص الظاهر يُكتب في كل رابط حتى عند التطابق التام ([[الهدف|الهدف]]) كي لا تغيّر إعادة التسمية الكلمة في الجملة. التفاصيل في CHANGELOG.md.
Always writes the display text, even for exact matches, so renames keep the sentence intact.
Wasl 0.1.0
النسخة الأولى للتجربة الشخصية (المرحلة ٤): بحث وعرض وربط آمن بمعاينة وتحقق وتراجع وقائمة تجاهل متزامنة. التفاصيل في CHANGELOG.md.
First build for the personal trial: on-demand search, side panel with reasons, verified one-by-one linking with preview and undo, synced ignore list.