Commit Graph

  • cd82abbb0c refactor(storage): replace value-bytes CAS with version-field optimistic lock tiennm99 2026-06-28 12:52:32 +07:00
  • ab7a597541 refactor(storage): store mongo value as JSON string, not BinData tiennm99 2026-06-28 10:50:41 +07:00
  • a83582f79d docs(plan): update self-host phases with completion status and implementation details tiennm99 2026-06-28 09:58:41 +07:00
  • 6d1bb5d925 docs(selfhost): add Coolify deploy + AWS decommission guides; retire AWS docs tiennm99 2026-06-28 09:58:37 +07:00
  • 4a8466db5b feat(selfhost): containerize for Coolify + decommission AWS deploy tiennm99 2026-06-28 09:58:32 +07:00
  • b27d2b3b87 feat(migrate): add DynamoDB-to-MongoDB data migrator tiennm99 2026-06-28 09:58:28 +07:00
  • f399717613 refactor(stock): remove FireAnt income-events command tiennm99 2026-06-28 09:58:25 +07:00
  • a081427ae5 feat(server): wire MongoDB + cron + polling; rename owner/admin envs tiennm99 2026-06-28 09:58:20 +07:00
  • 8d8c563cec feat(telegram): switch to long polling, remove webhook path tiennm99 2026-06-28 09:58:16 +07:00
  • 2432c910dc feat(cron): add in-process cron scheduler tiennm99 2026-06-28 09:58:12 +07:00
  • bfaecef86c feat(storage): add MongoDB KVProvider backend tiennm99 2026-06-28 09:58:07 +07:00
  • 4bfb961423 docs(selfhost): long polling, minimal env surface, AWS decommission scope tiennm99 2026-06-27 21:35:12 +07:00
  • b1171e7cbe docs(selfhost): plan Coolify + MongoDB Atlas self-host with AWS decommission tiennm99 2026-06-27 20:46:43 +07:00
  • c107489f89 refactor(stock): drop symbol cache tiennm99 2026-06-25 17:30:57 +07:00
  • 8343146c28 docs(stock): add price provider research tiennm99 2026-06-25 17:17:08 +07:00
  • 412d25b19e fix(stock): drop yahoo price fallback tiennm99 2026-06-25 17:16:54 +07:00
  • 006ad2b676 fix(stock): expose ssi quote response errors tiennm99 2026-06-25 16:12:12 +07:00
  • fca5b8961f docs(stock): record ssi provider research tiennm99 2026-06-25 15:52:43 +07:00
  • 78e51157d7 fix(stock): use ssi price provider tiennm99 2026-06-25 15:51:33 +07:00
  • c0cfcfb8d5 fix(modules): fetch stats prices sequentially to reuse pooled connections tiennm99 2026-06-25 14:28:25 +07:00
  • 958da76d33 fix(modules): reserve reply budget and cap price-fetch timeouts in stats handlers tiennm99 2026-06-25 14:07:59 +07:00
  • eb8c2e0064 docs(plan): add coin sell message plan tiennm99 2026-06-20 09:52:35 +07:00
  • 6aeca59b98 fix(coin): improve sell insufficient message tiennm99 2026-06-20 09:52:23 +07:00
  • 71f3336387 fix(coin): sell command accepts USD amount with dust and zero-price guards tiennm99 2026-06-16 17:27:39 +07:00
  • 224a27cfd4 fix(coin): use Binance public market-data endpoint data-api.binance.vision tiennm99 2026-06-15 14:09:11 +07:00
  • fd2e84f8fd docs(plans): add VNAppMob key parsing bug-fix plan tiennm99 2026-06-15 12:20:44 +07:00
  • b2e8385706 fix(gold): parse VNAppMob JWT object wrapper tiennm99 2026-06-15 12:20:40 +07:00
  • e0b0418173 fix(gold): use GET for VNAppMob key refresh endpoint tiennm99 2026-06-15 11:17:50 +07:00
  • 12dc515047 feat(gold): remove XAU/USD fallback and use VNAppMob SJC only tiennm99 2026-06-15 11:04:06 +07:00
  • 966e4afd51 chore(plans): add VNAppMob integration plan and completion report tiennm99 2026-06-15 10:49:19 +07:00
  • ae92539043 docs(gold): document VNAppMob SJC pricing and env vars tiennm99 2026-06-15 10:49:19 +07:00
  • a6bf022e27 feat(gold): integrate VNAppMob SJC gold price with auto-refresh API key tiennm99 2026-06-15 10:49:19 +07:00
  • 8c2c9a7c84 chore: remove one-time stock-key migration tool tiennm99 2026-06-12 15:46:03 +07:00
  • 6d0a30c4c0 fix(migrate): check fmt.Fprintf return to satisfy errcheck lint tiennm99 2026-06-12 15:12:07 +07:00
  • 32417e4196 refactor(stock): rename trading module to stock tiennm99 2026-06-12 14:52:12 +07:00
  • 62555dee23 fix(deploy): include coin module in ModulesCSV overrides tiennm99 2026-06-12 11:22:16 +07:00
  • 49a6e7091a fix(coin): accept symbol-first trades tiennm99 2026-06-12 11:07:27 +07:00
  • b234b54b2e feat(coin): register telegram commands tiennm99 2026-06-12 10:53:19 +07:00
  • 9b379b3d6b feat(coin): add crypto paper trading tiennm99 2026-06-12 10:47:02 +07:00
  • c9809e716a feat(gold): add gold commands to Telegram menu tiennm99 2026-06-11 22:28:24 +07:00
  • 8ba575ab1d fix(deploy): include gold module in CI ModulesCSV override tiennm99 2026-06-11 22:21:19 +07:00
  • 98947f7bee feat(gold): add multi-provider gold price fallback chain tiennm99 2026-06-11 22:11:30 +07:00
  • fdbf240b0e fix(deploy): enable gold module in ModulesCSV tiennm99 2026-06-11 21:57:05 +07:00
  • 645fa4f1ab fix(gold): drop redundant embedded selectors in portfolio tests tiennm99 2026-06-11 21:49:03 +07:00
  • 63d257878f fix(storage): report missing CAS support as unsupported instead of conflict tiennm99 2026-06-11 21:40:16 +07:00
  • 8c33dc27e4 feat(gold): add compare-and-swap portfolio updates with multi-backend support tiennm99 2026-06-11 21:12:58 +07:00
  • 2501deb4f8 feat(gold): add /gold_price command showing spot price in USD and VND tiennm99 2026-06-11 18:13:39 +07:00
  • d1a01830ae feat(gold): add gold paper trading module tiennm99 2026-06-11 17:13:02 +07:00
  • 5536c24219 fix: simplify trade income event fetcher tiennm99 2026-06-05 14:26:57 +07:00
  • 537bfc85e9 feat: add trade income events check tiennm99 2026-06-05 13:47:56 +07:00
  • 3a628eab97 feat: register trade income commands tiennm99 2026-06-05 13:56:45 +07:00
  • 55ed77aed1 feat(trading): show remaining VND after buy/sell success tiennm99 2026-06-05 08:48:45 +07:00
  • ec77a24db7 chore: drop CF→AWS migration tooling and stale JS-port references tiennm99 2026-05-25 09:39:17 +07:00
  • c901f3ad40 fix(lolschedule): route daily push to originating forum topic tiennm99 2026-05-25 09:39:01 +07:00
  • 1c50023261 feat(stats): add per-user analytics with /stats subcommands tiennm99 2026-05-22 18:01:12 +07:00
  • cf7b8366b3 fix(deploy): include stats in CI ModulesCSV override tiennm99 2026-05-22 17:27:26 +07:00
  • 819d4a985e fix(stats): fan out per-key GetItem to avoid handler deadline timeout tiennm99 2026-05-22 16:36:57 +07:00
  • ebdef77883 fix(deploy): hardcode non-secret CFN params instead of sed-parsing samconfig tiennm99 2026-05-22 15:43:07 +07:00
  • 704e74ca69 fix(deploy): pass BotOwnerID and AdminUserIDs from samconfig.toml in CI tiennm99 2026-05-22 15:39:42 +07:00
  • 7f71e3cf6f fix(stats): unblock deploy and register /stats in Telegram command menu tiennm99 2026-05-22 15:30:28 +07:00
  • 4f7a6d17f0 fix(dispatcher): place nolint:gosec on go statement, not inside goroutine tiennm99 2026-05-22 15:14:07 +07:00
  • 214017c772 fix(stats): resolve golangci-lint G118 and QF1001 violations tiennm99 2026-05-22 15:10:26 +07:00
  • 2abc138bb1 feat(stats): add command usage statistics module with persistence tiennm99 2026-05-22 15:06:46 +07:00
  • ddb9d61bde chore(plans): add deploy-notify-owner plan (completed) tiennm99 2026-05-22 11:40:34 +07:00
  • 22c817b0db feat(deploynotify): DM owner once per new deployed git SHA tiennm99 2026-05-22 11:40:25 +07:00
  • 3182179e65 fix(lolschedule): paginate older pages to cover past days in week range tiennm99 2026-05-22 11:03:28 +07:00
  • c9e44485be fix(lolschedule): align /lolschedule_week to ICT calendar week (Mon–Sun) tiennm99 2026-05-22 10:36:53 +07:00
  • 1e96843d39 chore(plans): remove completed/superseded plans and orphaned reports tiennm99 2026-05-18 17:56:59 +07:00
  • 0a642b0946 fix(deploy): quote FlexibleTimeWindow.Mode as string (EarlyValidation) tiennm99 2026-05-18 17:26:19 +07:00
  • 78eb493754 docs(security): bootstrap README reflects scoped deploy policy (F1, F2) tiennm99 2026-05-18 16:57:25 +07:00
  • 1d3aca439d feat(security): scoped IAM inline policy + rollback script for github-deploy-miti99bot (F1) tiennm99 2026-05-18 16:57:15 +07:00
  • 719e63fe21 fix(security): narrow OIDC trust to main only (F2) tiennm99 2026-05-18 16:57:04 +07:00
  • 3b74aa3abb docs(security): audit reports + IAM least-privilege plan + project policy tiennm99 2026-05-18 16:50:38 +07:00
  • b132557e06 refactor(deploy): swap cron to Scheduler + synthetic HTTP event (free tier only) tiennm99 2026-05-18 15:36:59 +07:00
  • acf65929ba feat(deploy): wire lolschedule cron via EventBridge Rule + ApiDestination tiennm99 2026-05-18 15:14:06 +07:00
  • 0d5f12321c revert(deploy): roll back EventBridge HTTPS schedule attempts tiennm99 2026-05-18 15:11:18 +07:00
  • 0531e920b8 fix(deploy): pass cron secret via CFN parameter, not ssm-secure resolve tiennm99 2026-05-18 13:04:30 +07:00
  • 5272a3e184 feat(deploy): wire EventBridge schedule for lolschedule daily push tiennm99 2026-05-18 11:46:50 +07:00
  • ee5a0cc954 feat(misc): add /trongtruonghop disclaimer command tiennm99 2026-05-16 14:51:26 +07:00
  • 3dc6248726 refactor(plans): code-review audit reports — modules + infra tiennm99 2026-05-16 13:35:11 +07:00
  • 31f4e22c4d refactor: audit-driven hygiene pass across modules and infra tiennm99 2026-05-16 13:35:00 +07:00
  • 16c9cce91d fix(reply): forward message_thread_id so replies stay in the same forum topic tiennm99 2026-05-16 12:10:56 +07:00
  • 82825661e3 ci: bump golangci-lint-action to v9 (last Node 20 straggler) tiennm99 2026-05-16 11:56:54 +07:00
  • b170eafaeb ci: bump actions to Node 24-native versions tiennm99 2026-05-16 11:53:01 +07:00
  • ec55a57b2b fix(dispatcher): match /cmd@botname so commands work in groups tiennm99 2026-05-16 11:36:11 +07:00
  • 0e6f2d0a1f fix(migration): satisfy errcheck on Close + Fprint* in migration toolchain tiennm99 2026-05-16 11:02:15 +07:00
  • dc51978f29 ci(deploy): auto-register Telegram webhook + commands after SAM deploy tiennm99 2026-05-16 10:55:43 +07:00
  • aff4bf4211 docs(plans): close cf→aws phases 01-02 and amend locked decisions tiennm99 2026-05-16 10:33:46 +07:00
  • 5117222e5e feat(migration): cf→aws migration toolchain + DynamoDB value as String tiennm99 2026-05-16 10:33:35 +07:00
  • 7cc8bdfa8b fix(plans): align cf-to-aws migration and cutover docs tiennm99 2026-05-15 23:54:06 +07:00
  • f2e0dd5156 fix(ci): pin deploy role ARN for OIDC auth tiennm99 2026-05-15 22:36:15 +07:00
  • c2968e3de7 Fix AWS Lambda deploy setup tiennm99 2026-05-15 22:18:27 +07:00
  • 2420fbbc36 fix(ci): clear sam lint + golangci-lint findings tiennm99 2026-05-14 09:57:12 +07:00
  • 642fccb7b7 refactor: rename module to miti99bot, canonicalize AWS deploy path tiennm99 2026-05-13 22:05:38 +07:00
  • e29d7afa0e refactor(modules): drop loldle variants, semantle, doantu and dead framework surface tiennm99 2026-05-11 16:02:06 +07:00
  • 50e8fe2920 chore: gofmt dynamodb_kv.go tiennm99 2026-05-10 03:06:27 +07:00
  • ac8b82bf74 feat(deploy): cold-start metric filter + trading module in SAM template tiennm99 2026-05-10 03:06:16 +07:00
  • b9b44bc7b2 feat(trading): VN stocks paper trading module — 5 commands + price engine tiennm99 2026-05-10 03:06:13 +07:00
  • c0e179b9b8 feat(lolschedule): daily-push cron handler + comprehensive tests tiennm99 2026-05-10 03:06:07 +07:00
  • 8b97917b6a feat(modules): add Bot to Deps + BuildOptions for cron handlers tiennm99 2026-05-10 03:06:01 +07:00