-
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