* Fix list/tree view: select mode, parts visibility, song actions Bring the v3 list/tree view to parity with the grid card: - Select mode now renders a per-row checkbox + selected-ring, preserves expanded artist groups across re-render, and a capture-phase guard makes a row/chip click select the song instead of starting playback. - Always-on favourite / save-for-later / overflow-menu cluster on each row, same actions as the grid card. Rebuild static/tailwind.min.css so the new utilities are compiled in - notably .sm:flex behind the arrangement chips' "hidden sm:flex" wrapper. Without it the chips (and #582's badges) render display:none on the Docker build, which serves the committed CSS; the desktop build looked fine only because it rebuilds Tailwind from source at bundle time. Signed-off-by: Sin <deathlysin@outlook.com> * fix(v3): regenerate tailwind.min.css from source + add tree select tests + CHANGELOG The committed tailwind.min.css was over-built: 135,578 bytes / 1,428 selectors, with 294 selectors (accent-amber-400, bg-cyan-500, animate-spin, after:bg-gray-400, …) used in zero core source files — bloat from a local build scanning outside the repo's content globs. It would fail CI's rebuild-and-diff and violates the byte-stable rule in scripts/build-tailwind.sh. Regenerate via `scripts/build-tailwind.sh` (pinned tailwindcss@3.4.19): 111,491 bytes / 1,134 selectors, byte-identical to a clean rebuild, still containing the .sm\:flex fix plus every new tree class (ring-fb-primary, accent-fb-primary, pointer-events-none, …). Docker chips now render and CI stays green. Add tests/browser/v3-tree-select.spec.ts: - select mode keeps expanded artist groups open across the tree re-render (fails without loadTree's openArtists capture/restore) - clicking a row in select mode selects instead of playing Record the fix under CHANGELOG [Unreleased] -> Fixed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Signed-off-by: Sin <deathlysin@outlook.com> Co-authored-by: byrongamatos <xasiklas@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| audio-session-compat.spec.ts | ||
| audio-session.spec.ts | ||
| basic-load.spec.ts | ||
| capability-inspector.spec.ts | ||
| check-errors.spec.ts | ||
| default-arrangement-pin.spec.ts | ||
| highway-3d-lefty.spec.ts | ||
| keyboard-shortcuts.spec.ts | ||
| progress-shop.spec.ts | ||
| README.md | ||
| settings-tabbed.spec.ts | ||
| v3-tree-select.spec.ts | ||
| wake-lock.spec.ts | ||
Browser Tests
This directory contains Playwright browser tests for FeedBack keyboard shortcuts.
Prerequisites
-
FeedBack web server: Tests need the server reachable at
http://localhost:8000. Playwright auto-starts it viawebServer.commandinplaywright.config.ts, so manual startup is optional. Start it manually if you want to debug the server, run tests outside Playwright, or skip the per-run boot delay:LIBRARY_PATH=/path/to/your/library docker compose up -dPlaywright reuses an already-running server locally (
reuseExistingServer: true). -
Node.js installed: Required for running Playwright tests
node --version # Should be v18 or higher
Installation
Install dependencies:
npm install
Install Playwright browsers:
npm run install:playwright
Running Tests
Run all tests:
npm test
Run tests in headed mode (watch the browser):
npm run test:headed
Debug tests with interactive inspector:
npm run test:debug
Test Files
basic-load.spec.ts- Basic app load and shortcut registry availabilitycheck-errors.spec.ts- Check for console errorskeyboard-shortcuts.spec.ts- Comprehensive keyboard shortcut tests
Writing Tests
Tests use Playwright's test API. Example:
import { test, expect } from '@playwright/test';
test('my test', async ({ page }) => {
await page.goto('/');
await page.waitForSelector('.screen.active');
// Interact with the page
await page.keyboard.press('?');
// Assert
await expect(page.locator('#shortcuts-modal')).toBeVisible();
});
Troubleshooting
Container won't start
If the Docker container exits immediately, check the logs:
docker compose logs
Common issue: Missing dependencies. Rebuild the container:
docker compose build --no-cache
docker compose up -d
Tests timeout
Increase timeout in playwright.config.ts if needed.
LIBRARY_PATH not set
Make sure to set the LIBRARY_PATH environment variable:
LIBRARY_PATH=~/feedBack-library docker compose up -d
CI/CD
In CI environments, Playwright will:
- Run tests in headless mode
- Retry failed tests up to 2 times
- Generate HTML report with screenshots/videos on failure