Commit Graph

13 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
df006636de fix: change pull_policy from build to never; remove dead fonts.ts
Co-authored-by: xCyanGrizzly <53275238+xCyanGrizzly@users.noreply.github.com>
2026-03-04 14:21:46 +00:00
copilot-swe-agent[bot]
48829e2efc fix: switch to local geist fonts and use direct prisma binary in entrypoint
- Replace next/font/google Geist imports with geist npm package to eliminate
  Google Fonts CDN network dependency during Docker image builds (was causing
  intermittent build failures → redeployment errors)
- Use ./node_modules/.bin/prisma directly in docker-entrypoint.sh instead of
  npx for both migrate deploy and db seed commands

Co-authored-by: xCyanGrizzly <53275238+xCyanGrizzly@users.noreply.github.com>
2026-03-04 13:51:28 +00:00
575ffdbc31 feat: Docker audit + Telegram bot service + send UI
Docker:
- Harden docker-compose.yml: parameterized DB creds, required AUTH_SECRET,
  health checks, resource limits, network isolation, removed exposed DB port
- Add profiles (telegram/bot/full) so base 'docker compose up' needs only AUTH_SECRET
- Fix docker-entrypoint.sh: AUTH_SECRET startup guard
- Fix Dockerfile: copy prisma.config.ts + dotenv into production image
- Update .env.example with all new variables
- Update .dockerignore

Telegram Bot Service (bot/):
- TDLib-based bot using bot token auth (not HTTP Bot API)
- Commands: /search, /latest, /package, /link, /unlink, /subscribe, /unsubscribe
- pg_notify listener for send requests (bot_send) and new packages (new_package)
- Subscription-based notifications when matching packages arrive
- Dockerfile with multi-stage build (bookworm-slim for glibc/TDLib)

API & Database:
- Prisma: TelegramLink, BotSendRequest, BotSubscription models + migration
- POST /api/telegram/bot/send - queue package delivery to linked TG account
- GET /api/telegram/bot/send/[id] - poll send request status
- Server actions: generateTelegramLinkCode, unlinkTelegram, getBotSendHistory
- Worker: emit pg_notify('new_package') after creating packages

Frontend:
- Settings: TelegramLinkCard for account linking via one-time code
- STL table + drawer: SendToTelegramButton with send dialog and status polling
- Telegram admin: Bot Sends tab with delivery history table
- Shared SendHistoryRow type

README: Updated with bot docs, profiles, config vars, project structure
2026-03-03 21:36:57 +01:00
xCyanGrizzly
4d0df6b1a4 addd TG integration 2026-03-02 11:57:17 +01:00
xCyanGrizzly
b427193d17 feat: add Telegram integration with forum topic support and creator tracking
Adds full Telegram ZIP ingestion pipeline: TDLib worker service scans source
channels for archive files, deduplicates by content hash, extracts metadata,
uploads to archive channel, and indexes in Postgres. Forum supergroups are
scanned per-topic with topic names used as creator. Filename-based creator
extraction (e.g. "Mammoth Factory - 2026-01.zip") serves as fallback.

Includes admin UI for managing accounts/channels, simplified account setup
(API credentials via env vars), auth code/password submission dialog,
package browser with creator column, and live ingestion activity tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:02:06 +01:00
xCyanGrizzly
beb9cfb312 Add log usage buttons on main page and seperate page 2026-02-19 11:46:19 +01:00
xCyanGrizzly
32683ecf5e added other materials tab 2026-02-18 21:55:39 +01:00
xCyanGrizzly
46cb517b8d fix: use standard @prisma/client imports instead of custom output path
The custom generator output to src/generated/prisma caused persistent
Turbopack module resolution failures in CI. Switch to the standard
@prisma/client import path which all bundlers resolve correctly.

- Remove custom output from prisma schema generator
- Update all imports from ../generated/prisma to @prisma/client
- Add postinstall script to auto-run prisma generate after npm ci
- Remove generated files from git (no longer needed in source tree)
- Simplify CI workflow (remove verify step and --webpack workaround)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 19:49:53 +01:00
xCyanGrizzly
8436a0e875 fix: use relative imports for generated Prisma client
Turbopack cannot resolve @/generated/prisma path alias during
next build, even with the files committed and baseUrl set.
Switch to relative imports (../generated/prisma) which Turbopack
resolves without issues.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 17:44:43 +01:00
xCyanGrizzly
23e233fe02 fix: commit generated Prisma client — Turbopack excludes gitignored paths
Turbopack skips gitignored directories during module resolution in
next build. Since src/generated/prisma was in .gitignore, the build
on CI failed with "Module not found: Can't resolve '@/generated/prisma'"
even though prisma generate created the files.

Fix: commit the generated client and remove it from .gitignore.
Run `npx prisma generate` after schema changes to update.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 17:34:19 +01:00
xCyanGrizzly
a6fd8ca877 fix: suppress remaining ESLint warnings blocking CI
- Disable react-hooks/incompatible-library warnings for RHF watch()
  and TanStack useReactTable() — these are false positives from the
  React Compiler plugin
- Remove unused useDebounce import and variable from vendor-table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 15:51:28 +01:00
xCyanGrizzly
564f81585b fix eslint errors 2026-02-18 15:27:23 +01:00
xCyanGrizzly
3a5726e82b Init 2026-02-18 14:26:36 +01:00