Skip to content

v1.3.0 — modular refactor + i18n bootstrap

Choose a tag to compare

@lc4t lc4t released this 02 Jun 17:00
· 11 commits to dev since this release

Architecture refactor release. Zero behavior change vs v1.2.1.

User-facing functionality is identical to v1.2.1. This release is groundwork for future feature development.

What changed

  • js/plugin.js split from a single 1,100-line file into 12 focused lib/ modules + a 150-line orchestrator:
    • constants / utils / state / config / i18n / theme / folders / clipboard / import / screenshot / notification / poll
  • Every UI string now goes through t('namespace.key') — i18n table set up for future English distribution (currently zh-only)
  • State is centralized with controlled mutators; no more scattered state.xxx = ... writes
  • Error codes promoted from bare strings to a central ERROR_CODES enum
  • HTML static labels extracted to id-based shells, populated by renderStaticLabels() from i18n table
  • JSDoc typedefs added for state shape

Why this exists

Adding new features (custom naming templates, multi-folder routing, OCR auto-tagging) requires clear module boundaries. The previous single-file structure made every change feel risky.

Verification

If anything breaks, please:

  1. Reproduce on v1.2.1 to determine whether it's a pre-existing bug or a regression
  2. Open a Bug Report noting both versions tested

Install

Download eagle-clipboard-watcher.eagleplugin below and double-click to install. Same install flow as previous versions.

Repo is private — Release download requires GitHub login with read access.

Full notes: docs/CHANGELOG.md