Commit Graph
88 Commits
Author SHA1 Message Date
andrew 91b7002061 Merge origin/main into main (reconcile unrelated histories, keep 48x32 dog + 50% overlay) v1.0.4 2026-09-10 16:05:41 +03:00
andrew 04cac794ea Dog loader: 48x32 detail and lighter overlay (50%) 2026-09-10 16:04:19 +03:00
andrew 65b5b45389 docs: smaller dog, no paw trail 2026-09-10 14:24:19 +03:00
andrew 3baa8be47f docs: smaller dog, no paw trail 2026-09-10 14:24:18 +03:00
andrew c3b432252b tests: 32x22 art 2026-09-10 14:24:18 +03:00
andrew 9db4064a26 Dog loader: drop paw trail 2026-09-10 14:24:17 +03:00
andrew 1a45ac5257 Halve dog art to 32x22 2026-09-10 14:24:17 +03:00
andrew d1384e8603 Dog loader: halve size (32x22) and drop the paw trail 2026-09-10 14:23:08 +03:00
andrew 3cc3a06b75 docs: GIF dog loader 2026-09-10 14:13:28 +03:00
andrew b595d003bd docs: GIF dog loader 2026-09-10 14:13:24 +03:00
andrew 835b82cb79 tests: dog_art frames + animation 2026-09-10 14:13:24 +03:00
andrew b66bb92548 Dog loader: truecolor GIF frames + paw trail 2026-09-10 14:13:23 +03:00
andrew 063b8bbaab Add embedded GIF dog animation frames 2026-09-10 14:13:23 +03:00
andrew e8b1a2e83f Dog loader: render real GIF frames as truecolor half-blocks
- add ui/dog_art.py: 12 frames from 236205.gif (64x42, 128-color
  palette, transparent background), zlib+base64 embedded
- DogLoader draws half-block truecolor cells over the dimmed dashboard,
  transparent background, paw trail 🐾, 40 ms/frame (GIF speed)
- full-screen overlay + input blocking preserved
- tests: frame data + animation; docs updated
2026-09-10 14:12:11 +03:00
andrew baff464dc0 docs: changelog for full-screen dog loader 2026-09-10 13:30:44 +03:00
andrew e4cb33b35e docs: full-screen loading indicator 2026-09-10 13:30:43 +03:00
andrew 53d9ad653a tests: full-screen coverage + input blocking 2026-09-10 13:30:42 +03:00
andrew e33b2237a8 Full-screen dog loader overlay: dim background, panel, input block 2026-09-10 13:30:41 +03:00
andrew d7d146e586 Full-screen dog loader overlay with dim background and input blocking
- DogLoader now covers the whole window (dock top + _loading layer),
  dims the dashboard behind it ($background 80%), draws a centered
  rounded panel with a running ASCII dog and a 🐾 paw trail
- block keyboard bindings (check_action) and drop focus while refreshing;
  restore focus to models table afterwards
- removed the docked progress line (covered by the overlay)
- docs updated; tests: full-screen coverage + input blocking
2026-09-10 13:30:00 +03:00
andrew 74c135a823 tests: assert built-in loading indicator stays off 2026-09-10 13:00:53 +03:00
andrew 36d2f5aac6 Fix: rename loading -> refreshing (avoid built-in dots indicator) 2026-09-10 13:00:52 +03:00
andrew 148e0a9391 Fix: use 'refreshing' reactive to avoid Textual built-in loading dots
Widget.loading is a Textual built-in reactive that swaps the widget for the
default dots spinner. Our dashboard used the same name, so setting it True
activated the built-in indicator (dots) instead of the dog loader. Renamed
to 'refreshing' and assert app.screen.loading stays False in tests.
2026-09-10 13:00:36 +03:00
andrew 8c374ea4e8 chore: close task
closes #1
2026-09-10 11:59:26 +03:00
andrew cc52595c0b docs: add loading indicator check to final checklist
Closes #1
2026-09-10 11:56:55 +03:00
andrew adcb36059d CHANGELOG: v1.0.4 dog loader
Closes #1
2026-09-10 11:55:51 +03:00
andrew 9f25d37b6e Add dog ASCII animation on statistics refresh (task #1)
- DogLoader widget: ASCII dog animating while data loads, shown as a
  centered overlay and a docked progress line on the dashboard
- shown on timer auto-refresh and manual refresh (r)
- bump version to 1.0.4; CHANGELOG + README updated
- tests: hidden when idle, shown during refresh, frame animation
2026-09-10 11:51:14 +03:00
andrew 60caaf1d29 Add DogLoader tests 2026-09-10 11:51:02 +03:00
andrew f6a155718f Add DogLoader animation on refresh (task #1) 2026-09-10 11:51:02 +03:00
andrew d9b1edde96 v1.0.4: bump version 2026-09-10 11:51:01 +03:00
andrew 59bbfe15d2 v1.0.4: bump version 2026-09-10 11:51:01 +03:00
andrew 471eb4b638 v1.0.4: document dog loader 2026-09-10 11:51:00 +03:00
andrew 74dfc03c6a v1.0.4: add dog loader entry 2026-09-10 11:50:59 +03:00
andrew 6caa021824 Fix issues found by CI on Gitea runner
- cli.py: remove redundant cast to str (mypy strict, click 8.5+ types prompt);
  annotate prompt result explicitly
- test_storage.py: use now-relative timestamps instead of hardcoded 2026-08
  dates so history-filter tests do not rot over time
- add Gitea Actions CI workflow (.gitea/workflows/ci.yml)
2026-09-03 12:03:14 +03:00
andrew 00cd64377a Fix date-dependent storage tests (use now-relative timestamps) v1.0.3 2026-09-03 11:57:49 +03:00
andrew 0296ea501f CI: auto-fix trailing newlines in ruff lint step 2026-09-03 11:47:17 +03:00
andrew 0920babb50 Add trailing newline to cli.py 2026-09-03 11:43:55 +03:00
andrew d38415719f Add trailing newline to cli.py (double newline to survive API trim) 2026-09-03 11:41:32 +03:00
andrew 99591fe5cc Add trailing newline to cli.py 2026-09-03 11:41:07 +03:00
andrew 42c1a3d973 Add trailing newline to cli.py 2026-09-03 11:40:47 +03:00
andrew 3ed5e62dd6 Add trailing newline to cli.py 2026-09-03 11:40:15 +03:00
andrew 409b70109d Add trailing newline to cli.py (fix ruff W292) 2026-09-03 11:37:21 +03:00
andrew 8598f2711a Annotate prompt result as str (works with old and new click/mypy) 2026-09-03 11:34:16 +03:00
andrew 8a770d18a7 Remove redundant cast to str (fixes mypy strict warn_redundant_casts) 2026-09-03 11:33:39 +03:00
andrew 9b94482373 CI: use venv to avoid PEP 668 (externally-managed) 2026-09-03 11:30:19 +03:00
andrew d25f885eec CI: add --break-system-packages for Alpine (PEP 668) 2026-09-03 11:27:48 +03:00
andrew 05404bd65d Fix CI: use shell steps instead of JS actions (Alpine runner has no node) 2026-09-03 11:24:12 +03:00
andrew c2fafac157 Add CI workflow for Gitea Actions 2026-09-03 11:17:35 +03:00
andrew e3936d75c3 Add tests/test_tui.py 2026-09-02 16:47:27 +03:00
andrew 58b640c088 Add tests/test_storage.py 2026-09-02 16:47:03 +03:00
andrew ff7420e153 Add tests/test_services.py 2026-09-02 16:46:45 +03:00