Skip to content

Releases: heznpc/skillBridge

v3.5.0 — Infrastructure Hardening, New Features & Deployment Pipeline

03 Apr 10:17
dda3aac

Choose a tag to compare

What's New

Features

  • Per-Lesson Term Preview — floating card shows 6 key terms when entering a lesson, auto-dismisses after 15s, remembers dismissal per lesson
  • PDF Export — export any translated lesson as a clean, print-friendly PDF from the sidebar header
  • Offline Translation Cache — skip Google Translate when offline (cache-only mode), auto-retry pending items on reconnect
  • Flashcard State Persistence — progress saved per course+language with stable card-text keys, current position restored on reload

Infrastructure

  • IndexedDB Quota Managementnavigator.storage.estimate() check on init, auto-eviction of oldest 30% entries when storage is high, QuotaExceededError recovery with user warning banner (11 languages)
  • Firefox AMO CD Workflowcd-firefox.yml with web-ext@8 sign automation (requires AMO_API_KEY/AMO_API_SECRET secrets)
  • Chrome i18n Expansion — 22 new _locales/ directories, now covering 33 languages total

Docs

  • CHANGELOG.md — v1.0.0–v3.4.0 with actual git commit dates
  • Removed ROADMAP.md (stale) and cleaned all references
  • Updated README, landing page, and 6 i18n READMEs to v3.5.0

Stats

  • 32 files changed, +966 -190 lines
  • 262/262 tests passing
  • 0 lint errors

Full diff: v3.4.0...v3.5.0

v3.4.0 — Architecture Hardening & Full Course Coverage

02 Apr 13:39
fbc9532

Choose a tag to compare

What's New

Architecture & Module Decomposition

  • Extracted 3 modules from content.js (-280 lines): protected-terms.js, gemini-block.js, code-comments.js
  • Deduplicated escapeHtml (single canonical source)
  • Removed dead code, tightened public API surfaces

Full Anthropic Academy Coverage (16/16 Courses)

  • All 16 Skilljar courses now fully mapped with correct URL slugs
  • Added claudeCowork and subagents dictionary sections to all 10 premium languages
  • Course-specific flashcard loading via FLASHCARD_COURSE_MAP with longest-first matching
  • Fixed slug substring collision bug (ai-fluency vs ai-fluency-for-educators)

i18n Completeness

  • zh-TW, pt-BR, ru, vi added to all 19 UI label objects
  • All 10 premium languages now have complete UI translations
  • Fixed hardcoded Korean-only error fallback in translator

RTL Support (Arabic & Hebrew)

  • dir="rtl" attribute now set on <html> for Arabic/Hebrew
  • Full CSS RTL section for sidebar, FAB, chat, progress bar, flashcards, and more

Offline Graceful Degradation

  • Network status tracking via online/offline events
  • Amber offline banner with localized message
  • AI Tutor shows offline notice instead of failing silently

Developer Experience

  • ESLint 9 + Prettier — enforced in CI, 0 errors
  • esbuild bundling — optional npm run build:bundle (43% JS size reduction)
  • JSDoc type annotations — translator, gemini-block, protected-terms, youtube-subtitles
  • Auto-docsnpm run docs + GitHub Actions workflow auto-updates version/language info
  • Constants syncnpm run check:sync validates background/content constant consistency

Bug Fixes

  • Flashcard _rawSections cache not invalidated on language switch
  • flashcardCards not reassigned after async section fetch
  • originalComments Map missing size cap (inconsistent with other Maps)
  • web_accessible_resources narrowed (assets/*assets/icons/*)
  • Removed dead offline flag from background.js error responses

Stats

  • 36 files changed, +3,326 / -501 lines (feature code)
  • 36 files formatted with Prettier (+1,975 / -1,187 lines)
  • 262 tests passing, 0 ESLint errors
  • Content bundle: 169.6 KB → 97.1 KB (43% smaller)

v2.1.0 — Certification Safety, New Courses, UX Overhaul

25 Mar 04:58
e2bd2ce

Choose a tag to compare

What's New

Certification Exam Safety

  • Kill-switch for proctored exams: Extension fully disables on CCA-F and other proctored certification pages — no translation, no UI, no AI tutor — to prevent being flagged as a cheating tool
  • Course-completion quizzes retain existing exam mode (answer choice protection)

New Course Support

  • Added translations for Introduction to Claude Cowork, Introduction to subagents, and MCP Advanced Topics across all 6 premium languages
  • New protected terms: Cowork, Dispatch, Computer Use, Subagent

UX Improvements

  • Onboarding for all first-time visitors — including English speakers who previously saw nothing
  • FAB pulse animation on first visit to draw attention to the AI Tutor
  • Example question chips in sidebar for new users
  • Error retry button in AI Tutor chat
  • Exam warning on sidebar open (not after first message)
  • History clear confirmation dialog
  • Mobile responsive — sidebar goes full-width on screens ≤600px
  • Localized aria-labels for dark toggle, FAB, sidebar buttons (7 languages)

Infrastructure

  • SPA navigation handling: popstate, hashchange, pushState/replaceState detection — translations re-apply on route change
  • MutationObserver reconnect after navigating away from certification pages
  • Expired cache cleanup: stale IndexedDB entries deleted on access
  • 4 new tests for CERT_DISABLE_PATTERNS (certification vs course URL separation)
  • Firefox dist synced
  • README, ROADMAP, CONTRIBUTING, TESTING docs updated

Bug Fixes

  • Fixed domObserver not reconnecting after cert page → course page SPA navigation
  • Fixed greeting not re-localizing on language switch (children count check)
  • Moved inline style to CSS class

Full Changelog

v2.0.0...v2.1.0

v2.0.0 — Exam Mode, Firefox Support, Security Hardening

17 Mar 13:12
8fac377

Choose a tag to compare

What's New

🎓 Exam Mode

  • Auto-detect certification/quiz/assessment pages via URL patterns and DOM selectors
  • Answer choices (radio/checkbox labels) are not translated to preserve academic integrity
  • Exam mode banner warns users that answers stay in English
  • AI Tutor switches to exam-safe mode — refuses to help with answers directly

🦊 Firefox & Edge Support

  • Browser polyfill for cross-browser API compatibility
  • npm run build:firefox generates a Firefox-compatible build
  • Edge works via Chromium compatibility (no changes needed)

🔒 Security Hardening

  • DOM-based XSS sanitizer (replaces regex approach) with attribute allowlist
  • href allowlist: only http://, https://, # permitted — blocks javascript:, data:, entity-encoding bypasses
  • style attribute stripping prevents CSS-based UI redressing
  • FETCH_URL domain allowlist with subdomain matching

♿ Accessibility (WCAG 2.1 AA)

  • ARIA roles and labels on all interactive elements
  • Keyboard-navigable FAB button
  • Progress toast with role="status" and aria-live="polite"

⌨️ Keyboard Shortcuts

  • Ctrl+Shift+S toggle AI Tutor sidebar
  • Ctrl+Shift+L toggle dark mode
  • Ctrl+Shift+/ show shortcut help overlay
  • Escape close panel, / focus chat input

⚡ Performance

  • Viewport-first translation with requestIdleCallback chunking
  • GT queue cap (200 items) prevents unbounded memory growth
  • pruneOriginalTexts() cleans detached DOM elements
  • Centralized Skilljar selectors for DOM change resilience

🔧 Maintenance Automation

  • Chrome Alarms: cache cleanup (every 24h), version check (every 7d)
  • Automatic badge notification when new version is available

📚 Exam UI Terms

  • 16 exam terms (Pass, Fail, Score, Retake, etc.) added to all 6 premium language dictionaries

Full Changelog: v1.0.1...v2.0.0

v1.0.1 — Chat font fixes, history formatting, dark mode & translations

09 Mar 15:17
032af27

Choose a tag to compare

What's Changed

Bug Fixes

  • Override Skilljar global CSS on tutor chat bubble elements (#30)
  • Unify font sizes between live chat and history detail view (#31)
  • Enforce system font on chat bubbles to prevent language-specific font override (#32)
  • Preserve markdown line breaks in chat history (#33)
  • Fix dark mode not applying to table elements (#34)

Translations

  • Add "Lesson Reflection" keyword to all 6 language dictionaries (#34)

Cleanup

  • Remove unused Google site verification file

Full Changelog: v1.0.0...v1.0.1

v1.0.0 — Initial Release

09 Mar 10:32
5f1c654

Choose a tag to compare

SkillBridge v1.0.0

First stable release — published on Chrome Web Store.

Features

  • Multi-language translation for Anthropic Academy (Skilljar)
  • AI Tutor chatbot (Claude-powered)
  • Dark mode support
  • Responsive chat UI
  • GDPR-compliant (local storage only, no external data transfer)

Links

Full Changelog: https://github.com/heznpc/skillbridge/commits/v1.0.0