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
|
84aa4c5eca
|
build: add test:unit + chain into test:e2e:release
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-11 21:40:24 +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 |
|
xRangerDE
|
85cc4957d8
|
release: 4.6.115 type=button on 16 renderer-rendered <button> elements
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-11 08:36:43 +02:00 |
|
xRangerDE
|
82df586c9e
|
release: 4.6.114 type=button on all 43 unmarked <button> elements
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-11 08:32:04 +02:00 |
|
xRangerDE
|
b251d795dc
|
release: 4.6.113 streamer-profile-btn focus-visible + storage open type=button
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-11 08:27:50 +02:00 |
|
xRangerDE
|
71fedcb34c
|
release: 4.6.112 aria-label on queue retry button + streamer live-dot
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-11 08:23:34 +02:00 |
|