16 KiB
16 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.
[2.4.0] — 2026-06-15
Added
- Custom theme builder — A new "Custom" tile in the theme picker opens an inline panel with six colour pickers (accent, background, board surface, and three text levels). Colours apply live to the dashboard; the accent drives the derived glow, border and toggle tints via
color-mix. A non-blocking WCAG contrast indicator flags hard-to-read text/background combinations without preventing the choice. The custom theme persists across reloads and can be combined with a custom background image. A reset button returns the pickers to neutral defaults. New DE/EN i18n strings; the<input type="color">pickers are labelled for accessibility. - Custom background via https URL — The background URL field now accepts
https://images in addition to local uploads (http stays out to avoid mixed content). A privacy note explains that a URL-loaded image is fetched from the remote server on every new tab.
Changed
- Uploaded background images are downscaled (to the longest screen edge, capped at 2560px) and re-encoded as WebP before storage, to protect the
chrome.storage.localquota. - The extension-page CSP gains
img-src 'self' https: data: blob:so https and data-URL backgrounds load deterministically instead of relying on the browser default. - Onboarding slide 3 wording no longer hard-codes a fixed theme count.
[2.3.0] — 2026-06-14
Added
- Command Palette (Ctrl+K) — Overlay that live-filters bookmarks (title and URL) and board names from the keyboard. Arrow-key navigation, Enter opens the match, Escape closes. Read-only navigation, separate from the web search bar. Combobox/listbox ARIA pattern with focus trap and focus return. New DE/EN i18n strings.
- Trash — Deleted bookmarks and boards move to a 30-day trash instead of vanishing. Restore or permanently remove them from a new Settings section; entries older than 30 days are cleaned up automatically. Stored under its own storage key with a hard size cap so it cannot exhaust the storage quota.
- Quick Save — A global keyboard shortcut (default Alt+Shift+S, configurable in the browser shortcut settings) saves the current tab into a fixed Inbox board from any page. Backed by a background worker (service worker on Chrome/Opera, event page on Firefox) that appends to a dedicated pending queue, which the dashboard drains into the Inbox — separate write domains, so a save can never clobber the boards. A badge confirms the save, and open dashboard tabs sync the new bookmark live via a storage-change listener.
- Free layout (bonus) — Boards can be dragged to free positions via a drag handle, persisted per board. Positions are clamped back into view when the window shrinks, and the layout falls back to a stacked column on small screens. Each board can be pinned with a lock button: a locked board cannot be moved (its drag handle is hidden), preventing accidental repositioning. A drag only counts past a small movement threshold, so a mere click on the handle never shifts a board.
Changed
- The bookmark- and board-delete paths no longer remove entries immediately; deletions now route through the trash.
- Chrome and Firefox manifests gain a background worker, an
actionentry and theactiveTab/commandspermissions to support Quick Save. Opera keeps its existingtabspermission and redirect worker.
[2.2.0] — 2026-06-13
Added
- View Transitions — Native cross-fade on theme switch and central modals (Settings, Theme-Picker, custom dialogs, bookmark import, add-board, add-bookmark, rename). Feature-detected via
document.startViewTransition, instant swap on older browsers. Widgets, notebook sidebar and onboarding deliberately excluded. color-scheme: dark— Declares the dark UA scheme so native scrollbars and form controls match the dark themes.- Accessibility pass —
role="dialog"/aria-modal/aria-labelledbyon Settings and Theme-Picker with new focus trap, Escape handling and focus return;role="toolbar"+ per-buttonaria-labelon the widget toolbar; keyboard-operable theme cards (role="button",tabindex, Enter/Space);role="switch"+aria-checkedon settings toggles; focusable boards and bookmarks; visible:focus-visiblering tinted in the theme accent. New ARIA strings run through the i18n pipeline. Verified with Lighthouse and the axe DevTools extension, not a formal WCAG 2.2 AA audit.
Changed
color-mix()token refactor — Accent-derived color tokens now computed viacolor-mix()fromvar(--accent), classified per theme (formula vs. override). Theme-specific alpha values and real special colors stay overrides; no visible theme change.--border-accent:rootdrift (179,92,255 → 179,89,255) fixed at both the Nebula block and the:rootdefault.@layercascade ordering — CSS reorganized into six layers (base / theme / layout / components / theme-overrides / utilities) so theme component overrides win deterministically instead of relying on selector specificity.clamp()fluid typography — Clock, logo, board titles and main spacing scale fluidly viaclamp(). Existing 768px / 480px breakpoints kept as a safety net.
Accessibility
prefers-reduced-motion— Unlayered@mediablock disables transitions and animations, including the::view-transition-*pseudo-elements. The 350ms widget teardown fallback timer is retained so widgets still close whentransitionendno longer fires under reduced motion.
[2.1.0] — 2026-04-16
Added
- Calculator Tab-System: 6 Modi über Tab-Leiste erreichbar (Standard, Scientific, Unit, SAT, FAC, STA)
- Scientific-Modus: Wurzel, Potenz, Pi, Euler, Vorzeichen-Wechsel + Formel-Helfer (Kreis, Pythagoras, Prozent, Temperatur)
- Unit-Converter: 6 Kategorien (Länge, Gewicht, Temperatur, Volumen, Geschwindigkeit, Fläche) mit Live-Konvertierung und Swap
- Satisfactory Calculator: Items/Min, Overclock-Power (Exponent 1.321928), Maschinen-Rechner
- Factorio Calculator: Assembler-Ratios, Belt-Throughput, Maschinen-Rechner mit Belt-Empfehlung
- Stationeers Calculator: Idealgas (PV=nRT), Furnace/Verbrennung, Solar/Batterie-Dimensionierung, Atmosphären-Mixer
Changed
- Parser um
^(Potenz, rechts-assoziativ) undsqrt()erweitert - Calculator-Widget Auto-Resize auf 320×480 für komplexe Modi
- ~110 neue i18n-Keys (DE + EN)
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