tiennm99
0f4425fbc2
feat(misc): move wheel beta pointer right
2026-07-06 14:14:34 +07:00
tiennm99
de4db1acbc
feat(misc): rotate wheel beta labels
2026-07-06 14:06:18 +07:00
tiennm99
e4b24f03e4
feat(misc): polish wheel beta animation
2026-07-06 13:48:51 +07:00
tiennm99
8529452d9a
docs(agents): require lint before code commits
2026-07-06 13:23:47 +07:00
tiennm99
0097e897a0
fix(misc): satisfy wheel spin lint
2026-07-06 13:23:12 +07:00
tiennm99
924bc6322d
feat(misc): improve wheel beta spin animation
2026-07-06 13:12:22 +07:00
tiennm99
9b728aa41e
fix(misc): hold wheel beta result
2026-07-06 12:31:37 +07:00
tiennm99
9dc99d4abc
fix(misc): label wheel beta slices
2026-07-06 12:26:53 +07:00
tiennm99
ea99b6c119
fix(misc): tune wheel beta timing
2026-07-06 12:16:15 +07:00
tiennm99
7c239cd976
fix(misc): improve wheel beta animation
2026-07-06 11:47:41 +07:00
tiennm99
5dad4179ce
feat(misc): add wheelofnames beta animation
2026-07-06 11:41:20 +07:00
tiennm99
0e39b49e8b
feat(misc): add random command and wheel draft streaming
2026-07-06 11:26:50 +07:00
tiennm99
4398395e2a
feat(lol): add EWC schedule support
2026-07-06 09:40:01 +07:00
tiennm99
e1e4c594db
feat(gold): show buy and sell prices in portfolio
2026-07-03 13:34:34 +07:00
tiennm99
2fc50f53ce
docs: record wheelofnames implementation
2026-07-03 11:12:49 +07:00
tiennm99
54f20f28d2
feat(misc): add wheelofnames command
2026-07-03 11:12:34 +07:00
tiennm99
df8924d562
refactor(lol): remove match cache cleanup logic
2026-07-01 16:53:11 +07:00
tiennm99
8ba3da62c1
feat(lol): make match cache fallback-only
2026-07-01 16:41:59 +07:00
tiennm99
3a58a2e776
refactor: remove completed migration logic
2026-07-01 16:20:30 +07:00
tiennm99
dce115f3f5
perf(stats): simplify username lookup index
2026-07-01 16:06:03 +07:00
tiennm99
e9322fb6bc
feat(lol): expire match cache
2026-07-01 13:40:37 +07:00
tiennm99
9a264f40f5
feat: refine command names and behavior
2026-07-01 13:19:42 +07:00
tiennm99
ae06f10ff0
refactor: remove completed startup migrations
2026-07-01 11:42:59 +07:00
tiennm99
126b70dfa0
fix(stats): merge legacy trade command counts
2026-07-01 11:21:11 +07:00
tiennm99
f73c2c61ec
feat(stats): migrate command history
2026-07-01 11:10:36 +07:00
tiennm99
cfbab24f68
docs: add project agent guidance
2026-07-01 11:10:24 +07:00
tiennm99
d90af97d55
feat(commands): simplify portfolio command names
2026-07-01 10:53:52 +07:00
tiennm99
b86aca6b1d
feat: rename wc schedule commands
2026-07-01 10:42:56 +07:00
tiennm99
bdb8757dbe
feat: rename lol schedule module
2026-07-01 10:38:49 +07:00
tiennm99
6eeb7ef447
feat(stats): use queryable Mongo usage records
2026-07-01 10:22:03 +07:00
tiennm99
0aaf9acf60
fix(cron): claim daily pushes by ict day
2026-07-01 09:31:58 +07:00
tiennm99
c2311bc569
fix(lolschedule): silence empty daily push
2026-06-30 09:01:40 +07:00
tiennm99
0d866cb7a0
fix(wc): send silent daily push at midnight ict
2026-06-30 08:56:01 +07:00
tiennm99
564b6635d4
refactor(modules): remove twentyq genai integration
2026-06-29 10:07:21 +07:00
tiennm99
7d31c6d199
refactor(config): remove price URL env overrides
2026-06-29 09:23:20 +07:00
tiennm99
a9cda02bd3
chore(plans): remove completed planning artifacts
2026-06-29 09:15:29 +07:00
tiennm99
c3bbbd01fe
feat(server): register command menu on startup
2026-06-29 01:08:51 +07:00
tiennm99
5077ff0181
feat(wc): add world cup schedule module
2026-06-29 00:59:30 +07:00
tiennm99
b07f52770b
fix(config): remove claude settings
2026-06-29 00:24:07 +07:00
tiennm99
95d4b2227d
fix(deploynotify): preserve coolify source commit
2026-06-29 00:20:04 +07:00
tiennm99
6e35c222d3
refactor(deploy): remove retired aws support
2026-06-29 00:11:42 +07:00
tiennm99
2ebff606b3
build(coolify): rename compose file
2026-06-29 00:00:22 +07:00
tiennm99 and GitHub
087e0a31b1
Merge pull request #1 from tiennm99/feature/selfhosted
...
Self-host on Coolify + MongoDB Atlas; decommission AWS
2026-06-28 23:55:12 +07:00
tiennm99
36a9f26906
docs(reports): add AWS footprint and cleanup audit
2026-06-28 23:53:12 +07:00
tiennm99
3023272047
docs(deploy): mark AWS decommission complete, record teardown deviations
2026-06-28 23:44:12 +07:00
tiennm99
9102279db6
fix(deploynotify): reference SOURCE_COMMIT in compose so it reaches container
...
Coolify passes predefined vars to Docker Compose via --env-file for
interpolation only; a var reaches the container solely if the compose file
references it. Removing the reference left SOURCE_COMMIT unset, so deploynotify
reported "unknown". Re-add SOURCE_COMMIT: ${SOURCE_COMMIT:-} per Coolify docs.
2026-06-28 23:30:03 +07:00
tiennm99
64a837b086
feat(deploynotify): notify owner on every startup, no SHA dedup
...
Match the store-scraper-bot behaviour: DM the owner once per boot regardless of
commit, and report an unknown SHA rather than staying silent. Drop the store-
based dedup and the empty-SHA skip; resolveCommitSHA defaults to "unknown".
2026-06-28 23:25:07 +07:00
tiennm99
30c6427694
fix(deploynotify): stop clobbering Coolify-injected SOURCE_COMMIT
...
Declaring SOURCE_COMMIT: ${SOURCE_COMMIT:-} in compose resolved to an empty
string at parse time and overrode the value Coolify auto-injects into the
container at runtime, so gitSHA stayed empty and the owner DM was skipped.
Remove the declaration; the bot already reads SOURCE_COMMIT from the container
env at startup.
2026-06-28 23:17:27 +07:00
tiennm99
2f4b1b7504
fix(deploynotify): read commit SHA from Coolify SOURCE_COMMIT runtime env
...
Baking SOURCE_COMMIT as a Docker build arg never worked: Coolify exposes it
as a runtime env var, not a build arg, so gitSHA was always empty and the owner
DM was skipped. Read SOURCE_COMMIT from the container env at startup (falling
back to the ldflags-baked gitSHA for local builds), forward it via the compose
environment, and drop the dead build-arg baking.
2026-06-28 23:08:17 +07:00
tiennm99
3aa07ac16d
feat(modules): log every command with input, sender, chat, result
...
Emit one structured line per authorized command: input text, sender id +
username, chat type/id/title (DM vs group), and outcome (INFO ok / ERROR with
err). Replaces the prior error-only log; denied commands stay silent.
2026-06-28 22:52:55 +07:00