Commit Graph

  • 88e2a3faad ci: add Nix GC cleanup job on VPS after deploy main asepharyana 2026-08-04 13:57:45 +07:00
  • 75b6d0a527 ci: use free GHA Nix cache (disable FlakeHub cache, not subscribed) aseph 2026-08-03 16:44:14 +07:00
  • 0c2ee3b3cf ci: enable FlakeHub Cache (id-token: write + use-flakehub) asepharyana 2026-08-03 16:20:34 +07:00
  • 12b6a133a7 ci: use biome lint gate instead of flaky bun test suite (bun 1.3.14 module resolution bug) asepharyana 2026-08-03 13:41:32 +07:00
  • d2e2b450f6 ci: add test gate before Nix deploy asepharyana 2026-08-03 13:37:36 +07:00
  • 17d877e2c6 docs: sync remaining .md to 4000s infra asepharyana 2026-08-02 16:46:31 +07:00
  • 62021397e0 chore: sync port references and docs to 4000s infra asepharyana 2026-08-02 16:19:30 +07:00
  • ad7747bfd4 chore: update port to 4000 in tests and compose asepharyana 2026-08-02 14:30:58 +07:00
  • 66fb92e5af test(e2e): make 1GB suite opt-in (RUN_LARGE_E2E=1) + fail-fast source probe asepharyana 2026-08-01 21:02:10 +07:00
  • 673c934f37 test(e2e): 10min timeout for 1GB beforeAll download hook asepharyana 2026-08-01 20:43:00 +07:00
  • 90d6c7dd6f fix(web): export showAuthScreen to window so topbar Login works asepharyana 2026-08-01 20:34:22 +07:00
  • 2653e23283 test(e2e): auth headers on web API uploads + 1GB large-file suite asepharyana 2026-08-01 20:33:10 +07:00
  • 91ec588a88 feat(web): public read-only file browser — GET API public, writes require admin asepharyana 2026-08-01 20:31:40 +07:00
  • 864d41d8fc fix(nix): restrict flake to x86_64-linux (nixpkgs 26.11 dropped darwin) asepharyana 2026-08-01 18:03:38 +07:00
  • c14be68ff8 ci: publish flake to FlakeHub (rolling) asepharyana 2026-08-01 17:58:16 +07:00
  • 811a68821d ci: migrate CI to GitHub Actions (deploy nix + mirror ke Gitea backup) asepharyana 2026-08-01 16:38:58 +07:00
  • bf616f6790 fix: root page 500 — resolve home.html for dev & prod layouts asepharyana 2026-08-01 13:15:10 +07:00
  • 24dfb1c6b1 fix: fail-fast guard TELEGRAM_CHUNK_SIZE_BYTES <= 19MB (Telegram getFile limit 20MB) asepharyana 2026-08-01 13:06:42 +07:00
  • b9a3fcd828 ci: nix build in CI + profile-based deploy (auto-update systemd) Claude 2026-07-30 16:27:35 +07:00
  • f00b944e56 fix: nix build di CI — init none + flakes enabled Claude 2026-07-30 16:23:15 +07:00
  • 73b0630cbd v1.1.0 + ci: build di CI, nix copy ke VPS (ringan, gak build di target) Claude 2026-07-30 16:13:59 +07:00
  • d1771720bd ci: build di VPS target via SSH (seperti yang sudah terverifikasi) Claude 2026-07-30 16:08:13 +07:00
  • 7dd2a4f0c7 fix: build di CI, nix copy ke VPS target (ringan) Claude 2026-07-30 16:05:20 +07:00
  • fbc1f1822a fix: deploy via SSH, build + deploy on VPS directly Claude 2026-07-30 15:43:14 +07:00
  • c768b29e9d fix: deploy via Docker socket with host filesystem access Claude 2026-07-30 15:39:38 +07:00
  • 59535d66b8 fix: add environment inspect step before deploy Claude 2026-07-30 15:35:47 +07:00
  • 319d2980c5 fix: use full path for nix-env in deploy step Claude 2026-07-30 15:33:29 +07:00
  • 4acfa3d2e9 fix: use Determinate Systems nix installer without --no-daemon Claude 2026-07-30 15:32:09 +07:00
  • 5bd3d286ce fix: use Nix official installer with --no-daemon Claude 2026-07-30 15:30:59 +07:00
  • bfafcc0a20 fix: install Nix in CI before building Claude 2026-07-30 15:29:46 +07:00
  • c26ca806d0 fix: update CI to Nix build + systemd deploy (no Docker) Claude 2026-07-30 15:08:23 +07:00
  • bc3d1f2e3f chore: trigger CI Claude 2026-07-30 13:16:36 +07:00
  • f95022142d feat: add Nix flake for TeleUploader build Claude 2026-07-30 13:00:53 +07:00
  • bd766792b1 a Claude 2026-07-29 19:25:31 +07:00
  • d22f788e3e fix: wrap Bun.file().stream() in Readable.from() for Telegraf compat Claude 2026-07-29 17:26:51 +07:00
  • 1ecab987a6 fix: send non-JPEG images as document instead of photo; fix Dockerfile home.html path Claude 2026-07-29 17:15:07 +07:00
  • 9a4853a484 fix: remove UploadBatcher crash window, make bot concurrency configurable, fix all test import paths Claude 2026-07-29 17:06:35 +07:00
  • ad917f6675 refactor: dedup dead code, shared utils, conditional headers helper Claude 2026-07-29 16:39:52 +07:00
  • fab91ad69c feat: dedup wave 3 — constant + streamToTemp utility Claude 2026-07-29 16:10:49 +07:00
  • 3501d547c0 feat: dedup wave 2 — file factory + V1/V2 mapping + bot handler Claude 2026-07-29 16:02:01 +07:00
  • 332853f398 chore: dedup dead code + compress utility Claude 2026-07-29 15:51:39 +07:00
  • 4c216b1d9f refactor: full DDD + Clean Architecture refactor Claude 2026-07-29 15:41:50 +07:00
  • 3580001b8a fix: add backward compat env vars to docker-compose for Gitea CI Claude 2026-07-29 15:08:49 +07:00
  • 6d3696d261 fix: handler.ts uses config.botTokens[0] instead of removed config.botToken Claude 2026-07-29 15:08:23 +07:00
  • 1484d5265d refactor: merge BOT_TOKEN + ADDITIONAL_BOT_TOKENS into single BOT_TOKENS env + speed audit Claude 2026-07-29 15:03:02 +07:00
  • 245ea169ad chore: add 2 bot tokens, update PRODUCTION_ENV for 6 bots Claude 2026-07-29 14:48:50 +07:00
  • 2cf6aa3275 refactor: implement per-bot queue architecture Claude 2026-07-29 13:36:16 +07:00
  • d0de4de2d5 refactor: remove uploadConcurrency from config Claude 2026-07-29 13:30:49 +07:00
  • adbf9b5efa refactor: remove global upload queue Claude 2026-07-29 13:28:38 +07:00
  • a986ce1e08 fix: per-bot queue fixes — outer loop transient retry, getFileInfo logging, test file, safety net comment, empty-bot guard Claude 2026-07-29 13:25:03 +07:00
  • 5617d0ff35 refactor: per-bot queue with selectBot() and rate-limit tracking Claude 2026-07-29 13:17:49 +07:00
  • d7d6ae0f0d refactor: remove enqueueUpload from ITelegramService and BotPool Claude 2026-07-29 13:14:26 +07:00
  • ea31c4c591 docs: add per-bot queue design spec Claude 2026-07-29 13:09:34 +07:00
  • 996b7d06ef chore: add more bot tokens for better rate limit distribution Claude 2026-07-29 13:02:00 +07:00
  • 3f541121f5 fix: yield microtask after Promise.race in backpressure check Claude 2026-07-29 12:44:14 +07:00
  • 1a38b32fbc feat: concurrent chunk uploads within single file Claude 2026-07-29 12:28:05 +07:00
  • b034c3131d chore: trigger deploy for TELEGRAM_CHUNK_SIZE_BYTES=48MB Claude 2026-07-29 12:23:44 +07:00
  • d8b8a1381d chore: increase Telegram chunk size to 48MB (max ~49MB) Claude 2026-07-29 11:57:46 +07:00
  • b0c5327bb3 fix: add content_type column to multipart_uploads migration Claude 2026-07-29 10:09:24 +07:00
  • e3e7430ce0 fix: zero-downtime deploy with --wait flag + fallback Claude 2026-07-29 09:57:47 +07:00
  • d8b1878a75 fix: add ETag and headers to 304 Not Modified responses Claude 2026-07-29 09:23:16 +07:00
  • e50e297e79 fix: add ETag and headers to 304 Not Modified responses Claude 2026-07-29 09:19:57 +07:00
  • 888af45a7f fix: normalizeUri SigV4 trailing slash + cleanup debug logs Claude 2026-07-29 09:16:07 +07:00
  • cd9852a5ec fix: preserve trailing slashes in normalizeUri for SigV4 Claude 2026-07-29 09:14:18 +07:00
  • c18b9d265b fix: preserve trailing slash in SigV4 canonical URI Claude 2026-07-29 09:08:17 +07:00
  • 66c4247e64 debug: add SigV4 mismatch logging with expected vs received signature Claude 2026-07-29 09:03:51 +07:00
  • 9bc2f22589 fix: strip trailing slash in SigV4 canonical URI Claude 2026-07-29 08:56:08 +07:00
  • f9484738db debug: add SigV4 canonical request logging for troubleshooting Claude 2026-07-29 08:54:10 +07:00
  • 2882247ad3 fix: add catch-all S3 route for path-style requests (/{bucket}/{key}) Claude 2026-07-29 08:50:02 +07:00
  • d8da2044b2 fix: S3→Telegram upload pipeline — OOM, queue limits, shutdown drain, timeouts Claude 2026-07-29 08:40:50 +07:00
  • de7d276245 fix: round 2 S3 audit — CRITICAL SigV4 payload hash bug, timeouts, Content-MD5/Length validation Claude 2026-07-29 08:22:45 +07:00
  • e1e228430f chore: add pre-commit hook with husky — wajib lint pass sebelum commit Claude 2026-07-29 08:15:06 +07:00
  • af160e0f33 fix: audit S3 protocol — 15+ security & correctness fixes Claude 2026-07-29 08:02:28 +07:00
  • f5d56f52d4 chore: fix lint errors — noBannedTypes, import ordering, formatting Claude 2026-07-29 07:30:31 +07:00
  • ea87397801 refactor: remove upload and web-api routes, migrate to new controller structure Claude 2026-07-29 07:28:30 +07:00
  • 73adb5f58e fix: make S3 resilient for Docker registry — no rate limit, retry on transient Telegram errors Claude 2026-07-29 07:25:47 +07:00
  • 1422318f0a fix: enhance test setup and environment configuration for improved reliability Claude 2026-07-28 22:44:08 +07:00
  • 667921b100 chore: fix lint errors — duplicate import, unused imports, formatting Claude 2026-07-28 20:09:42 +07:00
  • 002492626b fix: secure SigV4, temp leaks, OOM risk, duplicate migration, and cache issues Claude 2026-07-28 19:33:05 +07:00
  • 82c7f81ffa fix: streaming uploads, timeouts, and rate limiting for Docker registry safety Claude 2026-07-28 18:47:16 +07:00
  • da7d7c2396 chore: clean up leftover directories from agent portability Claude 2026-07-28 18:39:27 +07:00
  • a9a1938ffe Merge branch 'worktree-ddd-clean-architecture-restructure' Claude 2026-07-28 18:38:49 +07:00
  • ee10cb494e fix: resolve code review issues - import paths and structure cleanup Claude 2026-07-28 18:21:57 +07:00
  • 4568644922 fix: correct import paths and add missing protocol files for DDD structure Claude 2026-07-28 18:19:45 +07:00
  • 234ca7b14c feat: rewire entry point to new architecture Claude 2026-07-28 18:12:48 +07:00
  • e40dfd8084 feat: create HTTP middleware layer Claude 2026-07-28 18:06:38 +07:00
  • ea48e8fc03 feat: create application use cases (bucket, s3-object, multipart) Claude 2026-07-28 18:04:01 +07:00
  • e2de8c4245 feat: create application use cases (upload, get-file, auth) Claude 2026-07-28 17:59:49 +07:00
  • 5e29589f1a feat: create application DTOs Claude 2026-07-28 17:56:49 +07:00
  • b15219335d feat: create infrastructure cache layer Claude 2026-07-28 17:49:17 +07:00
  • ee3167fbfb feat: create domain port interfaces with JSDoc Claude 2026-07-28 17:48:24 +07:00
  • e7657453d5 feat: create shared utilities layer with JSDoc Claude 2026-07-28 17:43:18 +07:00
  • 5b5d4b0ba8 feat: create shared errors and logger layer Claude 2026-07-28 17:42:06 +07:00
  • af8949de02 docs: add DDD/clean architecture restructure implementation plan Claude 2026-07-28 17:31:11 +07:00
  • d8f02b79b1 docs: add DDD/clean architecture restructure design spec Claude 2026-07-28 17:29:20 +07:00
  • 44e887c7cd fix: keep public upload API unauthenticated asepharyana 2026-07-08 01:59:41 +07:00
  • e8226bba64 ci: migrate deployment to gitea actions asepharyana 2026-07-07 20:39:41 +07:00
  • 340c12d671 feat: implement authentication routes with login, logout, and user info retrieval asepharyana 2026-07-07 19:58:15 +07:00
  • 144ebe6dd3 feat: implement chunked storage for Telegram file uploads and retrieval asepharyana 2026-07-07 08:08:22 +07:00
  • fbfff3d9ec fix: normalize web object sizes asepharyana 2026-07-07 06:27:18 +07:00