Commit Graph
2345 Commits
Author SHA1 Message Date
4gray f894e5242b refactor(workspace-shell): use runtime capabilities 2026-05-22 11:54:53 +03:00
4gray 6211bd2f94 Merge pull request #971 from 4gray/agent/portal-ui-runtime-capabilities
refactor(portal-ui): use runtime capabilities
2026-05-22 11:50:59 +03:00
4gray 45ee1ac3e4 refactor(portal-ui): use runtime capabilities 2026-05-22 11:47:33 +03:00
4gray ebd3b2dcfb Merge pull request #969 from 4gray/agent/playlist-ui-runtime-capabilities
refactor(playlist-ui): use runtime capabilities
2026-05-22 11:43:23 +03:00
4gray 6ad61ce680 refactor(playlist-ui): use runtime capabilities 2026-05-22 11:39:23 +03:00
4gray 2fc3d4295f Merge pull request #968 from 4gray/agent/playlist-refresh-action-boundary
refactor(playlists): move refresh action to ui boundary
2026-05-22 11:33:05 +03:00
4gray 820fbef121 refactor(playlists): move refresh action to ui boundary 2026-05-22 11:27:04 +03:00
4gray 45eba8e685 Merge pull request #967 from 4gray/agent/web-runtime-boundary-typing
refactor(web): harden runtime service payloads
2026-05-22 11:26:25 +03:00
4gray 1806cb46aa refactor(web): harden runtime service payloads 2026-05-22 11:20:50 +03:00
4gray 76346a569b Merge pull request #966 from 4gray/agent/playlist-delete-lifecycle
refactor(playlists): centralize delete lifecycle
2026-05-22 11:18:15 +03:00
4gray b2778d8b18 refactor(playlists): centralize delete lifecycle 2026-05-22 11:10:04 +03:00
4gray 6a4c4c49c2 Merge pull request #965 from 4gray/agent/runtime-capabilities
refactor(runtime): centralize platform capabilities
2026-05-22 11:08:40 +03:00
4gray c571c57c5b refactor(runtime): centralize platform capabilities 2026-05-22 11:00:34 +03:00
4gray 39c1c10492 Merge pull request #964 from 4gray/agent/pwa-self-hosted-hardening
fix(pwa): harden self-hosted runtime boundaries
2026-05-22 10:37:35 +03:00
4gray 36bce47764 merge: resolve master conflicts for pwa hardening
- merge origin/master into PR #964 and keep embedded MPV test on the isolated playback sub-entrypoint

- centralize EPG capability through DataService.supportsEpg and update PWA web-e2e expectations

- split BrowserAccessError copy between Electron and PWA diagnostics
2026-05-22 10:20:03 +03:00
4gray c96a805b47 Merge pull request #987 from 4gray/agent/electron-ipc-sqlite-contracts
test(electron): add sqlite ipc contract coverage
2026-05-22 09:39:25 +03:00
4gray 9d69443d01 Merge pull request #963 from 4gray/agent/embedded-mpv-ci-runtime-cache
ci: cache embedded mpv runtime
2026-05-22 09:38:26 +03:00
4gray 0345ad7e5e Merge pull request #970 from 4gray/agent/web-strict-mode
chore(web): enable strict TypeScript mode
2026-05-22 09:31:41 +03:00
4gray dce5b557af test(electron): split sqlite ipc contract fixtures 2026-05-22 03:53:35 +03:00
4gray 6cf730ddf6 test(electron): add sqlite ipc contract coverage 2026-05-22 03:42:01 +03:00
4gray 5d355b6f10 fix(web): address strict mode review feedback 2026-05-22 03:11:14 +03:00
4gray 4ab8915483 chore(web): enable strict TypeScript mode 2026-05-22 02:58:12 +03:00
4gray f3c0cd3820 ci: clarify embedded mpv cache inputs 2026-05-22 02:16:32 +03:00
4gray 55efc24608 fix(pwa): harden self-hosted runtime boundaries 2026-05-22 02:09:57 +03:00
4gray 0b19155469 ci: cache embedded mpv runtime 2026-05-22 02:02:06 +03:00
4gray ff9c13058c Merge pull request #955 from 4gray/claude/elegant-hertz-40b11b
Unified color, rebuilt dashboard, polished Settings & Multi-EPG
2026-05-22 01:58:57 +03:00
4gray 2a769ad44e Merge origin/master into PR 955 2026-05-22 01:34:56 +03:00
4gray 5cfe3aef06 fix(dashboard): localize progress labels 2026-05-22 01:02:04 +03:00
4gray 2ecb5c28f4 fix(dashboard): address PR review feedback 2026-05-22 00:59:17 +03:00
4gray 67d512d44c Merge pull request #961 from 4gray/agent/pwa-provider-target-flow
fix(docker): exclude agent worktrees from build context
2026-05-22 00:47:22 +03:00
4gray 4c2666520c fix(pwa): parallelize dashboard xtream loads 2026-05-21 21:40:24 +03:00
4gray 69b7bca9df fix(pwa): prefer xtream collection snapshots 2026-05-21 21:13:58 +03:00
4gray 87dfaec03d fix(pwa): filter stalker from xtream collections 2026-05-21 20:33:02 +03:00
4gray 6438eec49f fix(pwa): align xtream content identity 2026-05-21 20:18:39 +03:00
4gray ed0b6833d6 fix(pwa): persist xtream collection snapshots 2026-05-21 20:00:38 +03:00
4gray 3ccbfe4f99 fix(pwa): remove dashboard xtream items via data source 2026-05-21 19:52:39 +03:00
4gray 9097ff5bc1 fix(pwa): align xtream recent clearing 2026-05-21 19:45:07 +03:00
4gray d1e057887f fix(pwa): avoid persisting xtream passwords 2026-05-21 19:41:16 +03:00
4gray ec098f98b1 fix(pwa): hydrate xtream user collections 2026-05-21 19:35:36 +03:00
4gray 1ea6914f98 fix(pwa): harden xtream identity normalization 2026-05-21 19:27:40 +03:00
4gray 1d4d793aac fix(pwa): restore xtream user collections 2026-05-21 19:23:25 +03:00
4gray b2909a1186 feat(workspace): add keyboard shortcuts help (#957)
* feat(workspace): add keyboard shortcuts help

* style(workspace): polish keyboard shortcuts dialog

* fix(workspace): address shortcuts review feedback

* docs(workspace): clarify desktop shortcut availability

* refactor(workspace): split keyboard shortcut definitions
2026-05-21 19:15:46 +03:00
4gray 362595525d test(pwa): tighten self-hosted proxy assertions 2026-05-21 18:44:42 +03:00
4gray 6829c667bd fix(pwa): restore xtream rail and vod navigation 2026-05-21 14:18:11 +03:00
4gray 89df1ada0a fix(docker): exclude agent worktrees from build context 2026-05-21 13:36:32 +03:00
4gray 401d434bce test(pwa): cover self-hosted provider target flow 2026-05-21 11:19:04 +03:00
4gray 5d31c1d49a ci(docker): publish images after trusted events 2026-05-21 09:37:43 +02:00
4gray fd59447064 docs(docker): restore self-hosted PWA compose flow
* docs(docker): restore self-hosted PWA compose flow

* fix(docker): supervise self-hosted runtime processes

* fix(docker): exit cleanly on container stop
2026-05-21 09:30:57 +02:00
4gray 738397c9ed feat(website): add giscus blog comments 2026-05-20 18:02:19 +02:00
4grayandClaude Opus 4.7 7083bd2af4 fix(shell): keep Add Playlist reachable on Settings; fix dashboard e2e
Two Electron E2E regressions from this branch's redesigns:

1. Hiding the playlist switcher on /settings (a playlist-scoped control)
   also hid the global "Add playlist" button, which lives in the same
   header-actions block. A user configuring Settings before importing
   their first source had no way to add a playlist — and the settings /
   playlist-switcher E2E suites, which add a portal right after saving a
   setting, timed out waiting for the button. The Add Playlist button is
   a global action, so it now stays visible on Settings; only the
   per-playlist context shortcut and bulk actions are hidden there.

2. dashboard-activation.e2e.ts asserted on `dashboard-global-favorites-
   rail`, the mixed Favorites rail removed earlier in this branch. The
   test now targets the v0.22 rails: live favorites resolve through the
   favorites-first `dashboard-live-recent-rail`, and the played movie /
   series resolve through `dashboard-continue-watching-rail` (renamed
   from `dashboard-recently-watched-rail`). The movie-from-favorites
   assertion was dropped — that dashboard surface no longer exists; the
   favorites collection still has its own page-level coverage.

Verified locally: dashboard-activation, settings, and playlist-switcher
E2E specs all pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 15:55:06 +02:00