536e0771a4
Security fixes, widget event system, local favicons, i18n completeness, backdrop-filter fallback, code quality improvements. See CHANGELOG.md.
9.3 KiB
9.3 KiB
⬡ Hellion Dashboard — Changelog
All notable changes per version. Format based on Keep a Changelog.
Changelog entries can be written in English or German. English preferred for consistency.
v2.0.1 — 16.04.2026
Security
- Background URL validation — Only
blob:anddata:image/protocols allowed in CSSbackgroundImage(prevents CSS injection via manipulated storage) - Import URL validation —
javascript:,data:, and other unsafe protocols are blocked during JSON import - Immutable import mapping — Imported boards, bookmarks, and notes are sanitized with explicit field selection and string length limits
Fixed
- Widget minimize race condition — Replaced
setTimeoutwithtransitionendevent;openWidget()during animation no longer causes display glitch - Notes import mutation — Import now uses
Notes.init()instead of directly settingNotes._notes - Complete i18n coverage — 5 header button tooltips and 3 settings button texts now have
data-i18nattributes (10 new translation keys)
Changed
- Widget event system —
WidgetManagernow dispatcheswidget:close,widget:minimize,widget:openCustomEvents viaEventTarget. Calculator, Timer, and ImageRef useWidgetManager.on()instead of monkey-patching - Local favicon icons — Replaced Google Favicons API with local colored letter icons (deterministic hue per title). Zero external network requests, Brave Shields compatible
- backdrop-filter fallback —
@supports not (backdrop-filter)block with--bg-solid-fallbackper theme for Brave Shields compatibility - Clock interval cleanup —
setIntervalID stored in variable
v2.0.0 — 22.03.2026
New Features
- Internationalization (i18n) — Full DE/EN language support with runtime switching
- Language setting in Settings panel: German, English or Auto-detect (browser language)
i18n.jsmodule with ~220+ string keys,t(key, vars?)helper anddata-i18nHTML attributes_locales/de/and_locales/en/for manifest-level i18n (__MSG_extName__,__MSG_extDesc__)<html lang>attribute updates dynamically when language changes- All modules migrated: dialog, boards, onboarding, notes, calculator, timer, image-ref, data, bookmark-import, storage, settings, widgets, app
Technical
- New script load order:
storage → state → i18n → dialog → ... applyLanguage()scans DOM fordata-i18n,data-i18n-placeholder,data-i18n-title- Onboarding slides use i18n keys instead of hardcoded text (rendered at display time)
- Clock day/month names via i18n keys instead of hardcoded arrays
resolveLang()helper for DRY language resolution (auto → browser detect)
v1.10.0 — 22.03.2026
Themes
- 3 new themes — Satisfactory (Industrial Desert), Avorion (Deep Void) and Hellion Stealth (Tactical Recon)
- Now 11 themes total, each with its own accent colors, overlays and font styles
- Satisfactory has increased board alpha (0.65) and stronger blur (12px), a deliberate choice for better readability on a visually busy background
- Avorion uses a radial gradient overlay so the ship in the center of the image stays visible
- Hellion Stealth is the only theme with a
border-lefthover effect in tactical scanner style
v1.9.0 — 22.03.2026
New Features
- Onboarding reworked — 7 slides instead of 6, new slide explains the widget toolbar with all widgets
- Gaming Starter Board — Opt-in during onboarding: pre-filled board with links to Satisfactory, Factorio, Avorion, Minecraft and Star Citizen
- Settings redesign — Settings panel slimmed down to 3 sections (Widgets, Data & Help, Danger Zone)
- Appearance modal — Theme picker and all display settings combined in one modal instead of spread across the panel
- Fixed about footer — Developer info, license and links are now permanently visible at the bottom of the settings panel
- Project documentation —
docs/architecture.md,docs/widget-schema.mdanddocs/patterns.mdfor anyone who wants to fork or contribute
Improvements
- All labels and descriptions unified in German, no more language mix
- Dropdown options use theme colors instead of white browser default
- Firefox update URL for store publishing added to
manifest.firefox.json
v1.8.0 — 21.03.2026
New Features
- Image Reference Widget — Drop images as floating reference widgets (max. 3 at once)
- Canvas API WebP conversion for smaller file sizes, all local in the browser
- Two-layer storage: metadata persistent, image data session-only (sessionStorage)
- Load images via drag & drop or file dialog
- Labels editable with debounced save
- Feature is off by default, enable via Settings → Widgets
v1.7.1 — 21.03.2026
Improvements
- Timer mute toggle — Alarm can be muted via icon button without restarting the timer
- Alarm volume reduced to 7%, 30% was a bit much
- Mute state is saved and persists on next open
v1.7.0 — 21.03.2026
New Features
- Calculator widget — Shunting-yard parser (no
eval()), history of last calculations, keyboard input - Timer/countdown widget — Saveable presets, Web Audio API alarm, tab title blinks when timer completes
- Widget z-index fix — Widgets now correctly render above the search bar (z-index 100+)
v1.6.0 — 21.03.2026
New Features
- Widget system — Draggable, resizable floating panels managed by WidgetManager
- Notes & checklists — Multi-instance widgets (max. 5) with text and checklist template, Markdown support, export as
.md - Notebook sidebar — All notes at a glance, quick access via toolbar
- Widget toolbar — Floating buttons on the side for quick access to all widgets, position (left/right) configurable in Settings
- Sticky note migration — Old sticky notes are automatically migrated to the new widget system on first launch
Improvements
- Ko-fi support link added to the about section and
FUNDING.yml
v1.5.2 — 21.03.2026
New Features
- Custom dialog system — Native
confirm()andalert()replaced with frosted glass dialogs (dialog.js) - Onboarding — 6-step welcome flow on first launch with explanations for boards, themes, features and a backup reminder
- Backup reminder — Reminds every 7 days to run a JSON export and warns about data loss on browser reset
- Theme modal — Theme picker moved to its own modal with its own header button
- Accordion settings — All settings sections collapsible (About and Danger Zone closed by default)
Improvements
- Fonts migrated from Google Fonts API to local WOFF2 files (GDPR, ~388 KB saved)
innerHTMLfully replaced withcreateElementandcreateElementNS(XSS protection)- SVG icons now via
createElementNSinstead of inline HTML - Drag & drop uses CSS classes instead of inline styles (
.drag-ghost,.drag-over,.dragging-source) - Search bar toggle moved from DATA to BEHAVIOR section
- Unimplemented "Quick Save" UI element removed
- Onboarding repeatable via Settings → Help
Opera / Opera GX
manifest.opera.jsonadded (MV3 with workaround scripts)src/js/opera/background.jsmonitors tabs and redirects away from Opera Speed Dialsrc/js/opera/redirect.jsfires as content script atdocument_start
Firefox
manifest.firefox.jsonmigrated to Manifest V3browser_specific_settingswith Gecko ID anddata_collection_permissionsadded
Build & CI
- GitHub Actions release now builds 3 ZIP packages (Chrome, Firefox, Opera)
- Quality check validates all 3 manifests and the Opera folder
v1.2.0 — 20.03.2026
- Project structure split into
src/js/,src/css/andassets/ - JS split into 10 modules (storage, state, themes, boards, drag, settings, search, sticky, data, app)
- Firefox compatibility (
manifest.firefox.json, Manifest V3) - Vivaldi confirmed compatible
- Theme image paths fixed (settings preview)
- URL validation on bookmark creation
- JSON import validates board and bookmark structure
- XSS protection:
createElementinstead ofinnerHTMLfor bookmarks - Storage quota check with warning at 8 MB+
- Event delegation for bookmark clicks (performance)
- Responsive design (tablet 768px, smartphone 480px)
- Sticky note header collision fixed
- FileReader error handling for background image upload
- GitHub Actions: security scan, code quality, release automation
- 3 themes replaced: Astronaut → Nebula, Cosmic Clock → Crescent, Void Mage → Event Horizon
- All theme images checked and documented for license compliance
- LICENSE (CC BY-NC-SA 4.0), SECURITY.md and DISCLAIMER.md added
v1.1.0 — 20.03.2026
- 5 new themes (Merchantman, Julia & Jin, SC Sunset, Hellion HUD, Hellion Energy)
- Search bar (Google, DuckDuckGo, Bing)
- Sticky note widget
- JSON export & import
- Date next to the clock
- About / imprint in settings
- Board blur function (privacy mode)
- Drag & drop migrated to Pointer Events API
- Opera / Opera GX compatibility
v1.0.0 — 20.03.2026
- Initial release
- Boards & bookmarks with drag & drop
- 3 themes (Nebula, Crescent, Event Horizon)
- HTML import (browser bookmarks)
- Settings panel
Hellion NewTab — Hellion Online Media — JonKazama-Hellion