<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mohammad Ali Nikoei</title>
    <description>The latest articles on DEV Community by Mohammad Ali Nikoei (@mnikoie).</description>
    <link>https://dev.to/mnikoie</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4196557%2F9258e0eb-3bce-4d19-a00f-03d13cc7ed3a.jpg</url>
      <title>DEV Community: Mohammad Ali Nikoei</title>
      <link>https://dev.to/mnikoie</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mnikoie"/>
    <language>en</language>
    <item>
      <title>IP Guard Service: close selected Windows apps when the IP country is untrusted</title>
      <dc:creator>Mohammad Ali Nikoei</dc:creator>
      <pubDate>Tue, 20 Oct 2026 17:12:18 +0000</pubDate>
      <link>https://dev.to/mnikoie/ip-guard-service-close-selected-windows-apps-when-the-ip-country-is-untrusted-26cp</link>
      <guid>https://dev.to/mnikoie/ip-guard-service-close-selected-windows-apps-when-the-ip-country-is-untrusted-26cp</guid>
      <description>&lt;p&gt;A network connection can drop, reconnect or change its exit location while desktop applications stay open. &lt;strong&gt;IP Guard Service&lt;/strong&gt; is my Windows project for a specific local policy: allow selected apps to run only after the public IP country has been identified as trusted.&lt;/p&gt;

&lt;p&gt;It runs as a Windows service and checks the public IP country against a configured allowlist. An unknown country, an untrusted result, a timeout or no network activates protection and closes the configured applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  What fail-closed means here
&lt;/h2&gt;

&lt;p&gt;The initial state is unsafe until a trusted lookup succeeds. Lookup failures are not treated as permission to keep the selected apps running.&lt;/p&gt;

&lt;p&gt;There is a Persian/English tray interface for installation, service control, status, logs and the optional desktop alert. The lookup logic uses multiple provider endpoints and fresh connections to recover after network-adapter changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understand the consequence before enabling it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Applications are force-closed. Unsaved work may be lost.&lt;/strong&gt; Do not add Windows components, security tools, shells, installers or applications with unsaved documents to the termination list.&lt;/p&gt;

&lt;p&gt;This is a local application-control policy. It does not hide your IP address, bypass a provider's restrictions or guarantee that an online account will avoid suspension. IP lookups contact third-party services; the repository includes a privacy document describing this behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation and configuration
&lt;/h2&gt;

&lt;p&gt;Requirements: &lt;strong&gt;Windows 10 or 11 and Node.js 18 or later&lt;/strong&gt;. Installing the Windows service requires Administrator approval.&lt;/p&gt;

&lt;p&gt;Start with the repository's installation guide. &lt;code&gt;IP Guard Tray.exe&lt;/code&gt; opens the tray manager. The documented sequence is to install dependencies, install the Windows service and optionally add the desktop alert. Configure the trusted-country allowlist and the target executable names carefully before activation.&lt;/p&gt;

&lt;p&gt;The tray menu exposes start/stop controls and removal operations as well as current status and logs. A lookup failure should be investigated as a policy decision, not dismissed as a purely cosmetic warning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback that helps
&lt;/h2&gt;

&lt;p&gt;If switching networks produces an incorrect result, include your Windows version, the connection-change sequence and a non-sensitive log excerpt. Please remove account details and public IP addresses from public reports when they are not needed to reproduce the issue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/mnikoie/ip-guard_service" rel="noopener noreferrer"&gt;Repository and installation guide&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://github.com/mnikoie/ip-guard_service/blob/main/README.fa.md" rel="noopener noreferrer"&gt;Persian README&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://github.com/mnikoie/ip-guard_service/issues" rel="noopener noreferrer"&gt;Report an issue&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Disclosure: this introduction was prepared with AI assistance from the published project documentation.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>tooling</category>
      <category>microsoft</category>
      <category>programming</category>
    </item>
    <item>
      <title>PackageBuilder: project setup with visible commands and dependency checks</title>
      <dc:creator>Mohammad Ali Nikoei</dc:creator>
      <pubDate>Tue, 20 Oct 2026 17:12:09 +0000</pubDate>
      <link>https://dev.to/mnikoie/packagebuilder-project-setup-with-visible-commands-and-dependency-checks-2hma</link>
      <guid>https://dev.to/mnikoie/packagebuilder-project-setup-with-visible-commands-and-dependency-checks-2hma</guid>
      <description>&lt;p&gt;A dependency listed in a configuration file is not necessarily installed. A service defined in Docker Compose is not necessarily running. That distinction is the starting point for &lt;strong&gt;PackageBuilder&lt;/strong&gt;, my local project setup tool for Windows.&lt;/p&gt;

&lt;p&gt;It walks through decisions such as runtime, package manager, frontend, backend and data services. The interface is available in Persian and English, with the actual commands and terminal output visible alongside the choices.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4wo4hgtl1rv73r0alx00.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4wo4hgtl1rv73r0alx00.png" alt="PackageBuilder interface" width="800" height="712"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Three states instead of two
&lt;/h2&gt;

&lt;p&gt;The tool distinguishes between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Evidence of presence:&lt;/strong&gt; an installed dependency or running service was found.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence of absence:&lt;/strong&gt; a check established that it is missing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unknown:&lt;/strong&gt; the check could not establish the state, for example because Docker was unavailable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Selecting a technology runs its official CLI where applicable and records the decision. The interface explains the commands involved in installation and removal. It also lists the remaining work before the application can run, such as preparing environment files, installing dependencies or starting services.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it locally
&lt;/h2&gt;

&lt;p&gt;The documented requirements are &lt;strong&gt;Node.js 20+&lt;/strong&gt;, plus Docker Desktop for containerized database or search services.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/mnikoie/PackageBuilder.git
&lt;span class="nb"&gt;cd &lt;/span&gt;PackageBuilder
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open &lt;code&gt;http://127.0.0.1:4600&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The command-line interface can also inspect a project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node src/cli.mjs probe ./my-app
node src/cli.mjs stack ./my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The current terminal layer is PowerShell-based. &lt;strong&gt;Windows is the tested platform&lt;/strong&gt;; I am not claiming ready-to-use Linux or macOS support. The repository's License section currently says it is not licensed for redistribution, so please check those terms before reusing or redistributing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What would make a useful report?
&lt;/h2&gt;

&lt;p&gt;If a status indicator disagrees with what is actually installed, include the relevant command, non-sensitive output and the evidence that contradicts the result. Suggestions for missing technology combinations are also welcome, especially with a concrete workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/mnikoie/PackageBuilder" rel="noopener noreferrer"&gt;Source, screenshots and setup instructions&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://github.com/mnikoie/PackageBuilder/issues" rel="noopener noreferrer"&gt;Feedback and bug reports&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Disclosure: this introduction was prepared with AI assistance from the published project documentation.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>tooling</category>
      <category>microsoft</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Pooshesh Nama: a Persian dashboard for Excel-based social insurance reports</title>
      <dc:creator>Mohammad Ali Nikoei</dc:creator>
      <pubDate>Tue, 20 Oct 2026 17:05:52 +0000</pubDate>
      <link>https://dev.to/mnikoie/pooshesh-nama-a-persian-dashboard-for-excel-based-social-insurance-reports-hk8</link>
      <guid>https://dev.to/mnikoie/pooshesh-nama-a-persian-dashboard-for-excel-based-social-insurance-reports-hk8</guid>
      <description>&lt;p&gt;Turning several Excel sheets into a readable report involves more than drawing a chart. You need to recognize the input structure, move from totals to detail and let people inspect or export the underlying tables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pooshesh Nama&lt;/strong&gt; is my Persian-language dashboard for Excel-based social insurance statistics: covered population, insured people, pensioners, workplaces and healthcare-related reports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://mnikoie.github.io/pooshesh-nama/" rel="noopener noreferrer"&gt;Open the live app&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://github.com/mnikoie/pooshesh-nama" rel="noopener noreferrer"&gt;Repository and source archives&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What the current version supports
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A comprehensive multi-sheet workbook or several independent Excel files.&lt;/li&gt;
&lt;li&gt;Recognition of 11 reference sheets and generation of 17 reports.&lt;/li&gt;
&lt;li&gt;A national dashboard with navigation into more detailed views.&lt;/li&gt;
&lt;li&gt;Sortable, paginated tables and CSV export.&lt;/li&gt;
&lt;li&gt;A responsive RTL interface using the Vazirmatn font.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application expects the workbook structure described by the project. It is a domain-specific reporting tool, not an automatic dashboard generator for arbitrary spreadsheets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the data is processed
&lt;/h2&gt;

&lt;p&gt;Excel data is processed in the browser to produce the reports; those calculations do not require sending the spreadsheet to a server. The project's software-version history has a separate storage path and should not be confused with the user's workbook data.&lt;/p&gt;

&lt;p&gt;The published static application can be opened on GitHub Pages. The project also has a single-file HTML build for offline use.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you want to inspect the implementation
&lt;/h2&gt;

&lt;p&gt;The main branch contains the published static files. To work on the application locally, download and extract a versioned source archive from the repository, then follow the setup instructions inside the source project. The documented runtime requirement is &lt;strong&gt;Node.js 22.13 or later&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This distinction matters: the development commands are for the extracted source, not the static publication directory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback from people who work with these reports
&lt;/h2&gt;

&lt;p&gt;Which filters, breakdowns or exports would make this more useful? If a workbook is not recognized, include the sheet name and a synthetic or anonymized sample that reproduces the problem. Please do not post real insurance records or identifying information in public issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://mnikoie.github.io/pooshesh-nama/" rel="noopener noreferrer"&gt;Try Pooshesh Nama&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://github.com/mnikoie/pooshesh-nama/issues" rel="noopener noreferrer"&gt;Report an issue or request a report&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Disclosure: this introduction was prepared with AI assistance from the published project documentation.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>persian</category>
    </item>
    <item>
      <title>NilaMarkdown: a React Markdown editor for Persian and English documents</title>
      <dc:creator>Mohammad Ali Nikoei</dc:creator>
      <pubDate>Tue, 20 Oct 2026 17:05:26 +0000</pubDate>
      <link>https://dev.to/mnikoie/nilamarkdown-a-react-markdown-editor-for-persian-and-english-documents-3738</link>
      <guid>https://dev.to/mnikoie/nilamarkdown-a-react-markdown-editor-for-persian-and-english-documents-3738</guid>
      <description>&lt;p&gt;A Persian document often contains much more than Persian prose: English terminology, code, links, tables and mathematical notation all have to coexist. &lt;strong&gt;NilaMarkdown Editor&lt;/strong&gt; is my project for editing and viewing that kind of mixed RTL/LTR document.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7wx7e990iuc83qivyojj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7wx7e990iuc83qivyojj.png" alt="NilaMarkdown live editor" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;The editor provides a rich editing surface, a Markdown source mode and a searchable, collapsible document outline. The outline is intended to make long documents easier to navigate in both rendered and source views.&lt;/p&gt;

&lt;p&gt;The supported content includes tables, task lists, blockquotes, footnotes, math, fenced code and Mermaid diagrams. Persian/RTL and English/LTR support are part of the document workflow.&lt;/p&gt;

&lt;p&gt;For React applications, the package exposes separate editor and viewer entry points. The viewer entry does not load ProseMirror or the editing tools, while both components share the Markdown parser and related document logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the local demo
&lt;/h2&gt;

&lt;p&gt;Requirements: &lt;strong&gt;Node.js 20+ and pnpm 11&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/mnikoie/NilaMarkdown-Editor.git
&lt;span class="nb"&gt;cd &lt;/span&gt;NilaMarkdown-Editor
pnpm &lt;span class="nb"&gt;install
&lt;/span&gt;pnpm dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;http://localhost:3000/markdown&lt;/code&gt; for the editor or &lt;code&gt;/viewer&lt;/code&gt; for the lightweight viewer. This is a source repository with a Next.js demo; I am not announcing a hosted editor service.&lt;/p&gt;

&lt;p&gt;The repository also includes a Windows launcher, package usage examples and commands for type checking, unit tests and Playwright tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  The feedback I need
&lt;/h2&gt;

&lt;p&gt;Mixed-direction documents have plenty of edge cases. If the editor mishandles heading navigation, source/rendered synchronization or a particular combination of Persian and English, a small reproducible document would be useful.&lt;/p&gt;

&lt;p&gt;Please include your browser version, the steps you took and what you expected. Use a synthetic sample rather than uploading private documents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/mnikoie/NilaMarkdown-Editor" rel="noopener noreferrer"&gt;Source, screenshots and setup guide&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://github.com/mnikoie/NilaMarkdown-Editor/issues" rel="noopener noreferrer"&gt;Report a problem or suggest a feature&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Disclosure: this introduction was prepared with AI assistance from the published project documentation.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>react</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>از مارک‌داون فارسی تا گزارش اکسل: معرفی چهار پروژهٔ من</title>
      <dc:creator>Mohammad Ali Nikoei</dc:creator>
      <pubDate>Tue, 20 Oct 2026 16:52:19 +0000</pubDate>
      <link>https://dev.to/mnikoie/z-mrkhdwn-frsy-t-gzrsh-khsl-mrfy-chhr-prwjh-mn-5c3n</link>
      <guid>https://dev.to/mnikoie/z-mrkhdwn-frsy-t-gzrsh-khsl-mrfy-chhr-prwjh-mn-5c3n</guid>
      <description>&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;


&lt;p&gt;⁧این نوشته معرفی چهار پروژهٔ من است که هرکدام برای یک مسئلهٔ مشخص ساخته شده‌اند: نوشتن سند فارسی و انگلیسی، گزارش‌گیری از فایل اکسل، آماده‌کردن محیط پروژه و کنترل اجرای برنامه‌ها بر اساس کشور ⁦IP.⁩⁩&lt;/p&gt;

&lt;p&gt;⁧برای هر پروژه، کاربرد، روش شروع و محدودیت فعلی را آورده‌ام تا قبل از دریافت سورس بدانید کدام‌یک به کارتان می‌آید. پرسش‌ها و گزارش‌های فارسی هم در مخزن‌ها پذیرفته می‌شوند.⁩&lt;/p&gt;

&lt;h2&gt;⁧۱. ⁦NilaMarkdown⁩؛ وقتی فارسی و انگلیسی در یک سند هستند⁩&lt;/h2&gt;

&lt;p&gt;⁧یک سند فارسی معمولاً فقط متن فارسی نیست؛ عنوان انگلیسی، قطعه‌کد، لینک، جدول و اصطلاح تخصصی هم دارد. ⁦NilaMarkdown⁩ یک ویرایشگر و نمایشگر مارک‌داون با پشتیبانی از اسناد راست‌به‌چپ و چپ‌به‌راست است.⁩&lt;/p&gt;

&lt;p&gt;⁧می‌توانید در محیط ویرایش بصری بنویسید یا به سورس مارک‌داون بروید. فهرست عنوان‌های سند قابلیت جست‌وجو و جمع‌کردن بخش‌ها را دارد تا حرکت در سندهای طولانی ساده‌تر شود. جدول، فهرست کارها، پاورقی، فرمول ریاضی، بلوک کد و نمودارهای ⁦Mermaid⁩ هم در محدودهٔ قابلیت‌های پروژه هستند.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmnikoie%2FNilaMarkdown-Editor%2Fmain%2Fdocs%2Fimages%2Fnila-editor-live.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmnikoie%2FNilaMarkdown-Editor%2Fmain%2Fdocs%2Fimages%2Fnila-editor-live.png" alt="نمای ویرایش متن در NilaMarkdown" width="800" height="450"&gt;&lt;/a&gt;⁩&lt;/p&gt;

&lt;p&gt;⁧برای توسعه‌دهندگان ⁦React⁩، بخش ⁦Editor⁩ و ⁦Viewer⁩ ورودی‌های جدا دارند؛ ورودی ⁦Viewer⁩ ابزارهای ویرایش را بارگذاری نمی‌کند. برنامهٔ نمایشی پروژه با ⁦Next.js⁩ ساخته شده است.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;شروع:&lt;/strong&gt; به ⁦Node.js⁩ نسخهٔ ۲۰ یا بالاتر و ⁦pnpm⁩ نسخهٔ ۱۱ نیاز دارید. پس از دریافت مخزن، دستورهای ⁦pnpm install⁩ و ⁦pnpm dev⁩ را در پوشهٔ پروژه اجرا کنید و مسیر ⁦http://localhost:3000/markdown⁩ را باز کنید. این معرفی مربوط به سورس و برنامهٔ نمایشی است، نه یک سرویس عمومی میزبانی‌شده.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;a href="https://github.com/mnikoie/NilaMarkdown-Editor" rel="noopener noreferrer"&gt;سورس، تصاویر و راهنمای ⁦NilaMarkdown⁩&lt;/a&gt; | &lt;a href="https://github.com/mnikoie/NilaMarkdown-Editor/issues" rel="noopener noreferrer"&gt;گزارش مشکل&lt;/a&gt;⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;بازخورد مفید:&lt;/strong&gt; یک نمونهٔ کوتاه و بدون اطلاعات خصوصی که در آن جهت متن یا هماهنگی سورس و نمایش درست عمل نمی‌کند، همراه نسخهٔ مرورگر و مراحل تکرار مشکل.⁩&lt;/p&gt;

&lt;h2&gt;⁧۲. پوشش‌نما؛ از فایل اکسل تا گزارش آماری فارسی⁩&lt;/h2&gt;

&lt;p&gt;⁧پوشش‌نما برای تحلیل فایل‌های اکسل آمار تأمین اجتماعی و گزارش‌گیری از جمعیت تحت پوشش، بیمه‌شدگان، مستمری‌بگیران، کارگاه‌ها و درمان طراحی شده است.⁩&lt;/p&gt;

&lt;p&gt;⁧ساختار فعلی پروژه، ورودی یک فایل جامع چندشیتی یا چند فایل مستقل، تشخیص ۱۱ شیت مرجع و تولید ۱۷ گزارش را پوشش می‌دهد. داشبورد ملی با دسترسی مرحله‌ای به جزئیات، جدول‌های مرتب‌شونده، صفحه‌بندی و خروجی ⁦CSV⁩ دارد.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;شروع:&lt;/strong&gt; می‌توانید &lt;a href="https://mnikoie.github.io/pooshesh-nama/" rel="noopener noreferrer"&gt;نسخهٔ آنلاین پوشش‌نما&lt;/a&gt; را بدون نصب باز کنید. برای گزارش‌گیری باید فایل اکسل با ساختار مورد انتظار برنامه داشته باشید؛ این ابزار مبدل عمومیِ هر فایل اکسل به گزارش دلخواه نیست.⁩&lt;/p&gt;

&lt;p&gt;⁧داده‌های فایل اکسل برای ساخت گزارش در مرورگر پردازش می‌شوند و برای این محاسبه به سرور ارسال نمی‌شوند. بخش تاریخچهٔ نسخه‌های نرم‌افزار مسیر جداگانه‌ای دارد. برای توسعهٔ محلی، آرشیو سورس نسخه‌دار را از مخزن دریافت کنید؛ شاخهٔ اصلی نسخهٔ استاتیک آمادهٔ انتشار را نگه می‌دارد.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;a href="https://github.com/mnikoie/pooshesh-nama" rel="noopener noreferrer"&gt;مخزن و راهنمای پوشش‌نما&lt;/a&gt; | &lt;a href="https://github.com/mnikoie/pooshesh-nama/issues" rel="noopener noreferrer"&gt;پیشنهاد گزارش یا ثبت خطا&lt;/a&gt;⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;بازخورد مفید:&lt;/strong&gt; گزارش یا فیلتر موردنیاز، نام شیت مشکل‌دار و یک نمونهٔ ساختگی یا ناشناس‌شده. اطلاعات هویتی بیمه‌شدگان را در گزارش عمومی نفرستید.⁩&lt;/p&gt;

&lt;h2&gt;⁧۳. ⁦PackageBuilder⁩؛ آماده‌کردن پروژه با دستورهای قابل مشاهده⁩&lt;/h2&gt;

&lt;p&gt;⁧شروع یک پروژه با چند تصمیم همراه است: زبان، مدیریت پکیج، ساختار مخزن، فرانت‌اند، بک‌اند و سرویس‌های داده. ⁦PackageBuilder⁩ این تصمیم‌ها را قدم‌به‌قدم در یک رابط محلی فارسی و انگلیسی نمایش می‌دهد و انتخاب‌ها را به اجرای دستورهای رسمی ابزارها در ترمینال وصل می‌کند.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmnikoie%2FPackageBuilder%2Fmaster%2Fdocs%2Fimages%2Fscreenshot.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmnikoie%2FPackageBuilder%2Fmaster%2Fdocs%2Fimages%2Fscreenshot.png" alt="رابط PackageBuilder و مراحل آماده‌سازی پروژه" width="800" height="712"&gt;&lt;/a&gt;⁩&lt;/p&gt;

&lt;p&gt;⁧نکتهٔ اصلی پروژه تفاوت «تعریف‌شدن» و «آماده‌بودن» است. نام یک پکیج در فایل تنظیمات به‌تنهایی مدرک نصب نیست؛ تعریف یک سرویس هم اجراشدن آن را ثابت نمی‌کند. وضعیت‌ها سه پاسخ دارند: مدرک وجود پیدا شده، مدرک نبودن پیدا شده یا وضعیت قابل بررسی نیست.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;شروع:&lt;/strong&gt; به ⁦Node.js⁩ نسخهٔ ۲۰ یا بالاتر و برای سرویس‌های کانتینری به ⁦Docker Desktop⁩ نیاز دارید. پس از دریافت پروژه، ⁦npm install⁩ و ⁦npm start⁩ را اجرا کنید. لایهٔ ترمینال فعلی بر ⁦PowerShell⁩ تکیه دارد و پلتفرم آزمایش‌شدهٔ این نسخه ویندوز است.⁩&lt;/p&gt;

&lt;p&gt;⁧وضعیت مجوز بازتوزیع را در بخش ⁦License⁩ مخزن بخوانید؛ عمومی‌بودن مخزن به معنی اعلام مجوز متن‌باز نیست.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;a href="https://github.com/mnikoie/PackageBuilder" rel="noopener noreferrer"&gt;کد، تصاویر و راهنمای ⁦PackageBuilder⁩&lt;/a&gt; | &lt;a href="https://github.com/mnikoie/PackageBuilder/issues" rel="noopener noreferrer"&gt;ثبت گزارش یا پیشنهاد&lt;/a&gt;⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;بازخورد مفید:&lt;/strong&gt; مرحله‌ای که وضعیت اشتباه نشان می‌دهد، فرمان اجراشده و خروجی غیرحساس آن؛ یا ترکیب فناوری‌ای که در کار واقعی نیاز دارید و در فهرست نیست.⁩&lt;/p&gt;

&lt;h2&gt;⁧۴. ⁦IP Guard Service⁩؛ کنترل اجرا بر اساس کشور ⁦IP⁩⁩&lt;/h2&gt;

&lt;p&gt;⁧اگر می‌خواهید چند برنامهٔ مشخص فقط هنگام تشخیص یک کشور مورد اعتماد اجازهٔ اجرا داشته باشند، ⁦IP Guard Service⁩ برای همین سناریو طراحی شده است. این سرویس ویندوز کشور ⁦IP⁩ عمومی را بررسی می‌کند و اگر نتیجه نامعلوم، غیرقابل دریافت یا خارج از فهرست مورد اعتماد باشد، برنامه‌های تعیین‌شده را می‌بندد.⁩&lt;/p&gt;

&lt;p&gt;⁧رفتار آن ⁦fail-closed⁩ است؛ قطع اینترنت و خطای سرویس تشخیص ⁦IP⁩ هم می‌تواند محافظت را فعال کند. رابط کنار ساعت فارسی و انگلیسی است و نصب، شروع و توقف سرویس، وضعیت و لاگ و هشدار دسکتاپ را در دسترس قرار می‌دهد.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;قبل از فعال‌سازی:&lt;/strong&gt; بستن برنامه‌ها اجباری است و ممکن است کار ذخیره‌نشده از بین برود. برنامه‌های دارای سند ذخیره‌نشده، اجزای ویندوز، شِل‌ها، ابزارهای امنیتی و نصب‌کننده‌ها را در فهرست بستن قرار ندهید. این ابزار ⁦IP⁩ را پنهان نمی‌کند و تضمین جلوگیری از تعلیق حساب نیست.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;شروع:&lt;/strong&gt; نسخهٔ فعلی برای ویندوز ۱۰ و ۱۱ است و به ⁦Node.js⁩ نسخهٔ ۱۸ یا جدیدتر نیاز دارد. نصب سرویس دسترسی ⁦Administrator⁩ می‌خواهد. راه‌اندازی را طبق راهنمای فارسی مخزن انجام دهید و پیش از فعال‌کردن، کشورهای مورد اعتماد و برنامه‌های هدف را بررسی کنید.⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;a href="https://github.com/mnikoie/ip-guard_service" rel="noopener noreferrer"&gt;مخزن ⁦IP Guard Service⁩&lt;/a&gt; | &lt;a href="https://github.com/mnikoie/ip-guard_service/blob/main/README.fa.md" rel="noopener noreferrer"&gt;راهنمای فارسی&lt;/a&gt; | &lt;a href="https://github.com/mnikoie/ip-guard_service/issues" rel="noopener noreferrer"&gt;گزارش مشکل&lt;/a&gt;⁩&lt;/p&gt;

&lt;p&gt;⁧&lt;strong&gt;بازخورد مفید:&lt;/strong&gt; نسخهٔ ویندوز، روش تغییر شبکه و بخش غیرحساس لاگ. نیازی نیست ⁦IP⁩ عمومی یا اطلاعات حساب‌ها را منتشر کنید.⁩&lt;/p&gt;

&lt;h2&gt;⁧از کدام پروژه شروع کنیم؟⁩&lt;/h2&gt;

&lt;p&gt;⁧برای سند ترکیبی فارسی و انگلیسی، ⁦NilaMarkdown⁩ را بررسی کنید. برای آمار اکسلِ تأمین اجتماعی، نسخهٔ آنلاین پوشش‌نما سریع‌ترین راه دیدن رابط است. برای آماده‌سازی محیط توسعه روی ویندوز، ⁦PackageBuilder⁩ را ببینید. ⁦IP Guard⁩ هم برای کنترل اجرای چند برنامه بر اساس سیاست محلی کشور ⁦IP⁩ است و باید با دقت پیکربندی شود.⁩&lt;/p&gt;

&lt;p&gt;⁧اگر به شخصی‌سازی دسکتاپ علاقه دارید، &lt;a href="https://dev.to/mnikoie/i-built-a-rounded-cursor-pack-for-windows-and-macos-1g9o"&gt;معرفی پک نشانگر موس ⁦Browser Pointer Rounded⁩&lt;/a&gt; را هم قبلاً منتشر کرده‌ام؛ همان نوشته بخش فارسی و لینک دانلود ویندوز و مک دارد.⁩&lt;/p&gt;

&lt;p&gt;⁧اگر یکی از پروژه‌ها را امتحان کردید، تجربهٔ واقعی، محدودیت یا نمونهٔ مشکل را در نظرات این نوشته یا ⁦Issues⁩ مخزن همان پروژه بنویسید. گزارش فارسی و انگلیسی هر دو قابل استفاده‌اند.⁩&lt;/p&gt;

&lt;p&gt;⁧این معرفی با کمک هوش مصنوعی و بر اساس مستندات عمومی پروژه‌ها تهیه شده است. قابلیت‌های ذکرشده به وضعیت فعلی هر مخزن مربوط‌اند؛ شرایط استفاده و پیش‌نیازها را در ⁦README⁩ همان پروژه بررسی کنید.⁩&lt;/p&gt;



&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>persian</category>
      <category>showdev</category>
      <category>programming</category>
      <category>tooling</category>
    </item>
    <item>
      <title>I built a rounded cursor pack for Windows and macOS</title>
      <dc:creator>Mohammad Ali Nikoei</dc:creator>
      <pubDate>Tue, 20 Oct 2026 16:32:04 +0000</pubDate>
      <link>https://dev.to/mnikoie/i-built-a-rounded-cursor-pack-for-windows-and-macos-1g9o</link>
      <guid>https://dev.to/mnikoie/i-built-a-rounded-cursor-pack-for-windows-and-macos-1g9o</guid>
      <description>&lt;p&gt;This started with a small design goal: a compact dark mouse pointer with rounded corners, a white border and a soft purple/lilac glow tailored to each cursor shape. The result is &lt;strong&gt;Browser Pointer Rounded&lt;/strong&gt;, a cursor pack for Windows and macOS.&lt;/p&gt;

&lt;p&gt;It is a desktop cursor theme, not a browser extension. The pack includes normal selection, links, text, precision, movement, resizing and animated busy/working states.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwqdppnd630o2tqvzbwxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwqdppnd630o2tqvzbwxq.png" alt="Browser Pointer Rounded v1.2.3: shape-following purple and lilac glow on a dark background" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new in v1.2.3
&lt;/h2&gt;

&lt;p&gt;The new release adds an AI-inspired luminous look: a soft purple outer glow and a pale lilac inner glow around the white border. The light follows each cursor's silhouette, with the glow width tuned separately for pointer, text, ring, resize and move roles. It avoids the square glow boundary seen in earlier experiments while keeping the rounded artwork, hotspots and busy/working animations.&lt;/p&gt;

&lt;p&gt;The same updated artwork is available in the Windows CUR/ANI files and the macOS Mousecape theme, with ZIP downloads and the Mac PKG/DMG launcher. This is a visual cursor theme; the AI-inspired look does not add AI functionality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/mnikoie/browser-pointer-rounded/releases/tag/v1.2.3" rel="noopener noreferrer"&gt;Download v1.2.3&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh53kmxt1xxni3bi2oemq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh53kmxt1xxni3bi2oemq.png" alt="Browser Pointer Rounded v1.2.3: enlarged cursor states and normal-size examples on a light background" width="800" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/mnikoie/browser-pointer-rounded/releases/latest" rel="noopener noreferrer"&gt;Download the latest release&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://github.com/mnikoie/browser-pointer-rounded" rel="noopener noreferrer"&gt;View the source and preview&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One visual style, two platform formats
&lt;/h2&gt;

&lt;p&gt;The artwork comes from shared drawing code, but each platform needs its own export:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Windows&lt;/th&gt;
&lt;th&gt;macOS&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Format&lt;/td&gt;
&lt;td&gt;CUR and animated ANI&lt;/td&gt;
&lt;td&gt;Mousecape cape&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coverage&lt;/td&gt;
&lt;td&gt;15 cursor roles&lt;/td&gt;
&lt;td&gt;14 corresponding roles, 39 system identifiers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image sizes&lt;/td&gt;
&lt;td&gt;32, 48, 64 and 96 pixels&lt;/td&gt;
&lt;td&gt;1x, 2x and 3x PNG representations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Busy states&lt;/td&gt;
&lt;td&gt;Animated ANI files&lt;/td&gt;
&lt;td&gt;12-frame image strips&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setup&lt;/td&gt;
&lt;td&gt;Per-user install/restore scripts&lt;/td&gt;
&lt;td&gt;ZIP setup, PKG or DMG; Mousecape required&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;macOS does not have a direct equivalent for every Windows cursor role. I left Mac-specific Copy, Alias and grab-hand cursors at their system defaults rather than giving them unrelated shapes.&lt;/p&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Windows:&lt;/strong&gt; download the Windows ZIP, extract it and run &lt;code&gt;Install.cmd&lt;/code&gt;. To return to your previous cursor configuration, run &lt;code&gt;Restore.cmd&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;macOS 14 or later:&lt;/strong&gt; install the PKG and open &lt;strong&gt;Browser Pointer Rounded&lt;/strong&gt; from Applications. The setup downloads Mousecape from its upstream GitHub release, verifies the download's SHA-256 and opens the theme. Select the cape and click &lt;strong&gt;Apply&lt;/strong&gt; in Mousecape. Enable &lt;strong&gt;Launch at Login&lt;/strong&gt; there if you want it to persist.&lt;/p&gt;

&lt;p&gt;You can also use &lt;code&gt;Install.command&lt;/code&gt; in the Mac ZIP. To return to Apple cursors, choose &lt;strong&gt;File → Reset System Cursor&lt;/strong&gt; in Mousecape.&lt;/p&gt;
&lt;h2&gt;
  
  
  The part I wanted to get right: undo
&lt;/h2&gt;

&lt;p&gt;Changing a cursor should be easy to reverse. Version 1.1.1 checks the Windows manifest and required files before writing settings, preserves the original backup during updates and refreshes it after switching to another theme. If installation or cursor refresh fails, it attempts to roll back the registry values.&lt;/p&gt;

&lt;p&gt;The Windows backup/restore tests use an isolated registry key. Asset checks verify transparency, hotspot bounds, Retina image sizes and distinct animation frames. CI also builds the Mac installer on a macOS runner.&lt;/p&gt;

&lt;p&gt;Those checks do not replace trying the cursors in real applications. In particular, Mac appearance still needs user feedback, and the Mac installer is &lt;strong&gt;not Apple-notarized&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I would like feedback on
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Does the pointer feel too small or too large at your display scaling?&lt;/li&gt;
&lt;li&gt;Are the text and resize cursors clear on both light and dark backgrounds?&lt;/li&gt;
&lt;li&gt;Does the theme stay applied across the Mac applications you use?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try it, please include your OS version, display scaling and cursor role in a &lt;a href="https://github.com/mnikoie/browser-pointer-rounded/issues" rel="noopener noreferrer"&gt;GitHub issue&lt;/a&gt;. That is more useful than a general “it works” or “it does not work.”&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;h2&gt;⁧معرفی فارسی⁩&lt;/h2&gt;
&lt;p&gt;⁧&lt;strong&gt;⁦Browser Pointer Rounded⁩&lt;/strong&gt; یک پک نشانگر موس برای ویندوز و مک است: بدنهٔ تیره، گوشه‌های نرم و گرد، حاشیهٔ سفید و هالهٔ نرم بنفش و یاسی که متناسب با شکل هر نشانگر تنظیم شده است.⁩&lt;/p&gt;
&lt;h3&gt;⁧تازه‌های نسخهٔ ۱٫۲٫۳⁩&lt;/h3&gt;
&lt;p&gt;⁧هالهٔ بنفش فرم هر نشانگر را دنبال می‌کند؛ پهنای نور برای فلش، انتخاب متن، حلقهٔ انتظار و نشانگرهای تغییر اندازه و جابه‌جایی جدا تنظیم شده است. نور یاسی نزدیک حاشیهٔ سفید روشن‌تر است و بنفش اطراف به‌آرامی محو می‌شود تا جلوه‌ای الهام‌گرفته از ظاهر ابزارهای هوش مصنوعی بدهد. لبهٔ مربعی هاله حذف شده و شکل، نقطهٔ کلیک و حالت‌های متحرک حفظ شده‌اند. این تغییر ظاهری است و قابلیت هوش مصنوعی به نشانگر اضافه نمی‌کند.⁩&lt;/p&gt;
&lt;p&gt;⁧این ظاهر جدید هم در نسخهٔ ویندوز و هم در پوستهٔ مک موجود است. &lt;a href="https://github.com/mnikoie/browser-pointer-rounded/releases/tag/v1.2.3" rel="noopener noreferrer"&gt;دانلود نسخهٔ ۱٫۲٫۳&lt;/a&gt;⁩&lt;/p&gt;
&lt;p&gt;⁧حالت‌های معمولی، لینک، انتخاب متن، تغییر اندازه، جابه‌جایی و انتظار متحرک طراحی شده‌اند. نسخهٔ ویندوز ۱۵ حالت و چند اندازهٔ تصویر دارد؛ نسخهٔ مک با ⁦Mousecape⁩ فعال می‌شود و تصاویر 1⁦x⁩، 2⁦x⁩ و 3⁦x⁩ دارد.⁩&lt;/p&gt;
&lt;p&gt;⁧&lt;strong&gt;&lt;a href="https://github.com/mnikoie/browser-pointer-rounded/releases/latest" rel="noopener noreferrer"&gt;دانلود نسخهٔ ویندوز و مک&lt;/a&gt;&lt;/strong&gt;⁩&lt;/p&gt;
&lt;p&gt;⁧ویندوز: فایل ⁦ZIP⁩ را استخراج کن و &lt;code&gt;⁦Install.cmd⁩&lt;/code&gt; را اجرا کن. بازگشت به تنظیمات قبلی با &lt;code&gt;⁦Restore.cmd⁩&lt;/code&gt; است.⁩&lt;/p&gt;
&lt;p&gt;⁧مک ۱۴ و جدیدتر: فایل ⁦PKG⁩ را نصب کن، برنامه را از ⁦Applications⁩ باز کن و در ⁦Mousecape⁩ پک را انتخاب کن و &lt;strong&gt;⁦Apply⁩&lt;/strong&gt; را بزن.⁩&lt;/p&gt;
&lt;p&gt;⁧در نسخهٔ ۱٫۱٫۱ نصب مجدد و بازگردانی ویندوز اصلاح شده است. نصب‌کنندهٔ مک تأیید ⁦notarization⁩ اپل ندارد و ظاهر آن در برنامه‌های مختلف به بازخورد کاربران نیاز دارد.⁩&lt;/p&gt;
&lt;p&gt;⁧اگر امتحانش کردی، نسخهٔ سیستم‌عامل، مقیاس نمایشگر و نظرت دربارهٔ اندازه یا شکل هر حالت را در &lt;a href="https://github.com/mnikoie/browser-pointer-rounded/issues" rel="noopener noreferrer"&gt;⁦Issues⁩&lt;/a&gt; بنویس.
⁩&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;Disclosure: AI assistance was used for the implementation, export tooling and this write-up. The public repository includes the artwork and validation scripts so the implementation can be inspected.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>windows</category>
      <category>macos</category>
      <category>design</category>
    </item>
  </channel>
</rss>
