Commit Graph

41 Commits

Author SHA1 Message Date
bvandeusen 34d4482f6d feat(ui): lift nav branding and add WebSocket status indicator 2026-03-19 18:26:46 -04:00
bvandeusen 8b189d72f4 feat(ui): replace palette with slate/navy monitoring dashboard theme 2026-03-19 18:25:19 -04:00
bvandeusen a25c332cda docs: add UI improvement pass implementation plan
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 17:51:00 -04:00
bvandeusen 728a8bb529 docs: fix spec review issues in UI improvement pass spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 17:45:22 -04:00
bvandeusen fc79996468 docs: add UI improvement pass design spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 08:50:36 -04:00
bvandeusen 9db27ddaae chore: sane ignore files, update summary, bump base images
- Add .claude/ to .gitignore and untrack settings.local.json
- Create .dockerignore to exclude docs, extension, analysis, scripts,
  node_modules, and other noise from the Docker build context
- Dockerfile: Node 20→22-alpine, Python 3.11→3.13-slim, DEBIAN_FRONTEND
  set, pip upgrade before install
- Track frontend/package-lock.json for reproducible builds
- Update summary.md: date, db.py in project structure, superseded column
  in schema, two new key patterns (12/13), full 2026-03-19 changelog

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 08:20:24 -04:00
bvandeusen 8cd0ce4ecb fix: restore AsyncSession import and fix dead regex patterns in NOT_FOUND_PATTERNS
- Added missing 'from sqlalchemy.ext.asyncio import AsyncSession' import in downloads.py
  This fixes the NameError at module load time that was breaking all download tasks

- Replaced regex patterns with plain-string equivalents in NOT_FOUND_PATTERNS:
  * 'account.*deleted' → 'account deleted' (. and * are literal in substring search)
  * 'profile.*not.*exist' → 'profile does not exist' (same issue)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:43:01 -04:00
bvandeusen 48d10ec21e fix: count only absolute path lines in _count_downloaded_files 2026-03-18 23:39:45 -04:00
bvandeusen 080a1254c7 fix: wrap AsyncSession in context manager across all API blueprints
Replace all bare `session = AsyncSession(bind=conn)` assignments with
`async with AsyncSession(bind=conn) as session:` in downloads.py,
credentials.py, settings.py, sources.py, and subscriptions.py to
ensure sessions are properly closed on all code paths.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:38:58 -04:00
bvandeusen dc146f4a16 refactor: extract error patterns to constants, add debug logging, fix rc1 no_new_content
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:37:04 -04:00
bvandeusen 6432210a36 refactor: extract shared DB helpers to tasks/db.py
Extract identical get_async_session() and cleanup_engine() functions
from downloads.py and maintenance.py into a shared db.py module.
This eliminates code duplication and improves maintainability.

db.py imports only from app.config and SQLAlchemy to avoid circular
dependencies with the task modules that import from it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:36:42 -04:00
bvandeusen 4eac527f0f perf: parallelize checkAllSources with Promise.allSettled 2026-03-18 23:36:33 -04:00
bvandeusen 0f2901ef58 feat: mark prior failures as superseded on successful download 2026-03-18 23:32:51 -04:00
bvandeusen 2c95374edc feat: replace _not_superseded_condition subquery with superseded column filter 2026-03-18 23:32:06 -04:00
bvandeusen 7268d06b4f feat: migration to add superseded column with backfill and partial index 2026-03-18 23:31:17 -04:00
bvandeusen f84b20269a feat: add superseded column to Download model 2026-03-18 23:30:35 -04:00
bvandeusen cdee69947d fix: replace get_event_loop with get_running_loop and utcnow consistently 2026-03-18 23:28:00 -04:00
bvandeusen c9ac163a4b fix: capture started_at before clearing in orphaned job reset message 2026-03-18 23:27:23 -04:00
bvandeusen 6036c34680 fix: pass download_id in process_download to prevent retry skip 2026-03-18 23:27:15 -04:00
bvandeusen a50677efd0 Add comprehensive review implementation plan
12 tasks covering all spec items: 4 bug fixes, superseded
column migration, error classification refactor, and code
quality cleanup across backend and frontend.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:21:09 -04:00
bvandeusen 0698ee1fa7 Add comprehensive review design spec
Covers four confirmed bugs, superseded-at-write-time refactor,
error classification improvements, and code quality cleanup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:14:19 -04:00
bvandeusen 055808ea6d polish for failed retry mechanic and consistent sub naming 2026-02-04 15:02:50 -05:00
bvandeusen 2190a9c16b correcting pixiv connection functionality 1.1.1 2026-02-04 12:45:31 -05:00
Bryan Van Deusen cc19bbd372 added functionality for pixiv and deviantart 2026-02-02 20:17:13 -05:00
Bryan Van Deusen 3ee7de7ecd tuning error recognition 1.1.0 2026-01-30 22:04:07 -05:00
Bryan Van Deusen 097ab16c50 more UI polish and schedule safe guards and optimization 2026-01-30 00:01:45 -05:00
Bryan Van Deusen c1fe8148b8 polish downloads view 2026-01-29 19:42:14 -05:00
Bryan Van Deusen fcccfb24ee changes to task scheduling and readability change on downloads view 2026-01-29 19:33:04 -05:00
Bryan Van Deusen 575e20f58c ongoing polish in queue handling 2026-01-28 09:32:47 -05:00
Bryan Van Deusen c7a259a63b correcting worker db connection issue 2026-01-27 18:05:54 -05:00
Bryan Van Deusen 13b4da5ca0 better lifecycle visibility implementation. 2026-01-27 17:33:25 -05:00
Bryan Van Deusen d2e4d6c588 corrected time record type, mismatch caused issues and kept credential verification from occuring 2026-01-26 22:51:03 -05:00
Bryan Van Deusen 204e8efcdc signing for extension deployment, tuning for download crawl depth, and dependency version visibility in settings view 2026-01-26 22:37:15 -05:00
Bryan Van Deusen 2a0e37a73d improve ux, moved functionality for better ui experience on app and extension. 1.0.0-Extension 2026-01-26 11:38:51 -05:00
Bryan Van Deusen 74b1ecf2cf fix typo for storage stats interface 2026-01-26 09:05:46 -05:00
Bryan Van Deusen afba2c0f85 corrected false positive in abnormal patreon sources. 2026-01-25 19:03:56 -05:00
Bryan Van Deusen 997f31ae27 tuning ui and adding adaptive themeing to extension 2026-01-25 18:47:06 -05:00
Bryan Van Deusen dc6755a0c2 move job scheduling to DB 2026-01-24 23:50:09 -05:00
Bryan Van Deusen 61e9336eef polishing for prod testing. 2026-01-24 23:38:09 -05:00
Bryan Van Deusen 058901cd05 added discord functionality to extension and polished some of downloader process. 2026-01-24 23:15:03 -05:00
Bryan Van Deusen b9b8048a2d rapid interations of server side app and firefox extension 2026-01-24 22:52:51 -05:00