xRangerDE
c2b9b5759a
release: 5.1.0-alpha.2 — Command Palette Streamer-Suche
...
Pillar 5 (UI Power) erweitert: Ctrl+K matched jetzt auch Streamer-Namen
(tippe Name oder @login → springt direkt zum Streamer im VODs-Tab).
Plus .gitignore-Hygiene.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 01:25:39 +02:00
xRangerDE
d7d0fafe5c
release: 5.1.0-alpha.1 - top-clips-crawler + command palette
...
Pillar 7 (Auto-Discovery) gets the Helix top-clips-crawler module (9 tests).
Pillar 5 (UI Power) gets its first visible component: Command Palette via
Ctrl+K with 6 tab-jump commands.
219 unit tests + e2e:release gruen.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 00:05:20 +02:00
xRangerDE
595269d9f5
release: 5.1.0-alpha.0 - integrity-check + archive-files-store + format-helpers
...
Continuation post-5.0.0. Adds three more domain/infra modules + 46 tests
(210 total). Touched pillars:
- Pillar 1 (Live-Rec): integrity-check ffprobe parser + verdict
- Pillar 6 (Smart-Resume / Archive): archive-files-store CRUD + summary
- Pillar 4 (Architecture-Split): format-helpers extraction (4 more pure
functions out of main.ts: sanitizeFilenamePart, formatTwitchDurationFromSeconds,
formatDateWithPattern, getMergeGroupPhaseText)
main.ts continues to shrink (now ~7160 LoC from 7485 start). Renderer-side
work (Pillar 5 UI Power) + recorder integration (Plan 04b) + OAuth IPC
wiring (needs Twitch Client ID from user) still ahead.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 23:57:35 +02:00
xRangerDE
5b1c68a122
release: 5.0.0 — vitest + SQLite + OAuth storage/flow + Smart-Resume foundation
...
Major bump. v5.0.0-GA umfasst:
Foundation
- vitest test infrastructure
- 11 neue Module in src/main/{infra,domain}/
- main.ts: -198 LoC pure helpers extracted
- 164 unit tests + full e2e:release suite gruen
Persistence (Pillar 3 — done)
- better-sqlite3 mit WAL + 5s busy_timeout
- schema v5 (9 tables: schema_meta, config_kv, queue_items, downloaded_vods,
streamers, archive_files, migrations_applied, oauth_accounts, chunk_index)
- Idempotenter JSON to SQLite Migrator (shadow-write, .v4-backup)
- Long-lived DB-Handle Singleton mit shutdown-close
Auth (Pillar 2 — scaffold done)
- SecureStorage (Electron safeStorage + Memory-Impl)
- token-store CRUD auf oauth_accounts (encrypted)
- PKCE pair + state generator
- Loopback HTTP server (127.0.0.1, ephemeral port)
- Twitch OAuth 2.1 Authorization Code Flow + PKCE module
- IPC wiring + Client ID config + Renderer button kommen in 5.1.x
Smart-Resume (Pillar 6 — foundation done)
- chunk_index table
- sha1 buffer + streaming file hash helpers
- chunk-index-store CRUD
- Integration in den Live-Recorder kommt in 5.1.x
Post-5.0 Roadmap
- Plan 04b: Resume in Recorder
- Plan 05: Live-Rec Polish + Sub-only (braucht Twitch Client ID)
- Plan 06: UI Power (virtual list, mini-player, command palette)
- Plan 07-09: Architektur-Split (Pillar 4 Rest)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 23:48:02 +02:00
xRangerDE
bf16a49cff
release: 5.0.0-alpha.3 - Smart-Resume foundation (chunk-hash + index)
...
Plan 04 abgeschlossen.
- schema-v5.ts: chunk_index table (item_id, chunk_seq, sha1_hex, bytes)
- src/main/infra/chunk-hash.ts: sha1 buffer + streaming file
- src/main/domain/chunk-index-store.ts: CRUD + dedupe lookup
- 143 unit tests (vorher 126, +17 fuer schema + hash + store)
- npm run test:e2e:release gruen
Integration mit dem live Recorder folgt in Plan 04b. Plan 04 ist rein
additiv; kein bestehender Recorder-Code wurde modifiziert.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 22:20:49 +02:00
xRangerDE
baede7cd84
release: 5.0.0-alpha.2 - OAuth foundation (storage layer)
...
Plan 03 abgeschlossen.
- schema-v5.ts: oauth_accounts table (provider, twitch_user_id, encrypted_*_token, ...)
- src/main/infra/secure-storage.ts: SecureStorage interface + Memory + Electron impls
- src/main/domain/token-store.ts: provider-agnostic CRUD on oauth_accounts
- 126 unit tests (vorher 106, +20 fuer schema + secure-storage + token-store)
- npm run test:e2e:release gruen
Twitch OAuth Flow itself (Authorization Code + PKCE via system browser
or embedded BrowserWindow) is deferred to Plan 03b — goal.md proposed
Device Code Flow which Twitch does not support.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 22:14:39 +02:00
xRangerDE
16e0bfa059
release: 5.0.0-alpha.1 - SQLite migrator (shadow write, JSON stays master)
...
Plan 02 abgeschlossen.
- better-sqlite3 + @types installiert
- src/main/infra/{db.ts, schema-v5.ts} - DbHandle wrapper + schema v5 (7 tables + 6 indices)
- src/main/domain/migrator.ts - JSON to SQLite (idempotent, fail-soft, .v4-backup)
- main.ts: lazy-require Aufruf im app.whenReady
- 106 unit tests (vorher 91, +15 fuer db + migrator)
- npm run test:e2e:release gruen
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 22:06:38 +02:00
xRangerDE
02c3b3df5b
build: add better-sqlite3 + @types
...
Native binding verified loadable via node -e require smoke.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 22:01:29 +02:00
xRangerDE
b649cf36f2
release: 5.0.0-alpha.0 — foundation: vitest + 5 pure modules extracted
...
Plan 01 abgeschlossen. main.ts: 7485 → 7287 LoC (-198).
5 neue Module + 91 Unit-Tests:
src/main/infra/fs-atomic.ts
src/main/infra/duration.ts
src/main/domain/update-version-utils.ts
src/main/domain/i18n-backend.ts
src/main/domain/config-normalize.ts
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 21:50:25 +02:00
xRangerDE
d97f75d0f7
build: add vitest devDep
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 21:39:19 +02:00
xRangerDE
0e81a47e9e
release: 4.6.155 aria-live on clipStatus + viewer-modal status fields
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 12:17:04 +02:00
xRangerDE
86d68466f9
release: 4.6.154 aria-live on 3 more refresh-result status messages
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 12:11:27 +02:00
xRangerDE
2d109077a0
release: 4.6.153 cleanupReport role=status + aria-live
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 12:06:58 +02:00
xRangerDE
29315091c6
release: 4.6.152 aria-label on add-streamer input
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 12:01:31 +02:00
xRangerDE
fce353d529
release: 4.6.151 aria-label on the 3 filter/search inputs
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:57:31 +02:00
xRangerDE
6c56c4e908
release: 4.6.150 remove redundant .filter-input:hover
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:46:35 +02:00
xRangerDE
ce3b876006
release: 4.6.149 applyTemplatePreset triggers save
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:40:41 +02:00
xRangerDE
65c9d06dfa
release: 4.6.148 localize 2 hardcoded English img alt texts
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:33:45 +02:00
xRangerDE
3d40160b5c
release: 4.6.147 remove unused .app-toast.error CSS rule
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:28:17 +02:00
xRangerDE
8f0f7d5d84
release: 4.6.146 wire statsIntro + drop statsScannedAtNever
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:19:33 +02:00
xRangerDE
6d28aa1972
release: 4.6.145 remove unused cutterDropHint locale key
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:14:10 +02:00
xRangerDE
b73593fc9a
release: 4.6.144 .btn-secondary:disabled parity rule
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:07:07 +02:00
xRangerDE
1b70743a0e
release: 4.6.143 .btn:disabled visual cue
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:03:34 +02:00
xRangerDE
c1943b421b
release: 4.6.142 global hover state on all text inputs / textarea / select
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:57:32 +02:00
xRangerDE
e4db7abc87
release: 4.6.141 .filter-input hover state
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:52:42 +02:00
xRangerDE
2851d5b8d6
release: 4.6.140 .select-compact hover + drop redundant inline margin
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:48:17 +02:00
xRangerDE
7ef6459c8a
release: 4.6.139 .form-row.search-bar + .select-compact.size-md
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:43:56 +02:00
xRangerDE
1faa6e35cf
release: 4.6.138 finish renderer-updates is-hidden migration
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:38:24 +02:00
xRangerDE
561a1568f0
release: 4.6.137 update banner uses .show + updateProgress uses .is-hidden
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:33:16 +02:00
xRangerDE
ad8f32f8b8
release: 4.6.136 streamerProfileHeader is-hidden + skeleton class owns flex
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:26:24 +02:00
xRangerDE
539b1c13a0
release: 4.6.135 streamer filter + bulk-remove use .is-hidden
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:20:43 +02:00
xRangerDE
01913c193d
release: 4.6.134 .is-hidden utility class
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:16:36 +02:00
xRangerDE
bbb65f0cfd
release: 4.6.133 .cutter-info + .timeline-container .shown modifiers
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:10:47 +02:00
xRangerDE
5e383a6e12
release: 4.6.132 .clip-template-wrap.shown modifier
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:04:42 +02:00
xRangerDE
19555ce872
release: 4.6.131 .clip-modal-duration-value.invalid modifier
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 10:00:03 +02:00
xRangerDE
45dfd4f6fd
release: 4.6.130 .chat-viewer-user default accent color
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:54:54 +02:00
xRangerDE
e951c6a852
release: 4.6.129 .event-viewer-empty CSS class
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:50:30 +02:00
xRangerDE
2d1d48599a
release: 4.6.128 dedupe formatBytes — shared between stats + archive
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:45:22 +02:00
xRangerDE
a62080cb44
release: 4.6.127 dedupe applyHtml/escapeHtml across 3 renderer modules
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:39:56 +02:00
xRangerDE
9fd14371a2
release: 4.6.126 .queue-details.expanded modifier
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:31:56 +02:00
xRangerDE
af11cdda10
release: 4.6.125 .section-title.compact modifier
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:26:47 +02:00
xRangerDE
137bab63a0
release: 4.6.124 vod-card skeleton line variants
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:22:27 +02:00
xRangerDE
7cb2358a54
release: 4.6.123 streamer-profile-skel-block variants
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:17:36 +02:00
xRangerDE
a809676731
release: 4.6.122 .queue-output-row + .queue-output-label
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:13:12 +02:00
xRangerDE
84abfb7cf7
release: 4.6.121 role=menu/menuitem on context menus
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:07:52 +02:00
xRangerDE
7de560f44c
release: 4.6.120 .context-menu shared by queue + VOD context menus
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:03:12 +02:00
xRangerDE
0132c96a7f
release: 4.6.119 queue context menu CSS class extraction
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 08:59:46 +02:00
xRangerDE
ca74a865f8
release: 4.6.118 localize 3 stuck-in-German placeholders
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 08:54:22 +02:00
xRangerDE
97ea32a08b
release: 4.6.117 chat viewer filter localized + status-dot aria-hidden
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 08:49:31 +02:00
xRangerDE
3603caed21
release: 4.6.116 merge file-row buttons — aria-label + focus-visible
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 08:42:26 +02:00