vasyansk
|
ec8835538b
|
feat(wshub): per-task event hub with non-blocking publish
|
2026-07-01 17:59:43 +07:00 |
|
vasyansk
|
a54ec1d148
|
fix(imapx): preserve source internal date on APPEND
|
2026-07-01 17:57:12 +07:00 |
|
vasyansk
|
06c0598b80
|
feat(imapx): streaming per-folder copy with dedup, idempotent
|
2026-07-01 17:39:43 +07:00 |
|
vasyansk
|
79f5c5b93a
|
fix(imapx): honor context in Connect with bounded dial retry
|
2026-07-01 17:28:10 +07:00 |
|
vasyansk
|
0451b79c64
|
feat(imapx): connect, endpoint test, login test with folder listing
|
2026-07-01 17:20:03 +07:00 |
|
vasyansk
|
37cb8ba076
|
feat(imapx): message dedup key (Message-ID + header fallback)
|
2026-07-01 17:03:18 +07:00 |
|
vasyansk
|
67a2367baa
|
feat(store): tasks, accounts, runs, dedup journal
|
2026-07-01 16:58:33 +07:00 |
|
vasyansk
|
0cf9de38c4
|
fix(store): close pool on failed Ping; add ListEndpoints test
|
2026-07-01 16:55:24 +07:00 |
|
vasyansk
|
420358b558
|
feat(store): pgx pool and endpoints CRUD
|
2026-07-01 16:50:45 +07:00 |
|
vasyansk
|
0b9d31bd15
|
feat(crypto): HMAC signed session tokens
|
2026-07-01 16:37:56 +07:00 |
|
vasyansk
|
06d601482c
|
fix(crypto): enforce 32-byte key for AES-256
|
2026-07-01 16:36:19 +07:00 |
|
vasyansk
|
8d4a605b9f
|
feat(crypto): AES-256-GCM password encryption
|
2026-07-01 16:33:13 +07:00 |
|
vasyansk
|
0d42eb2db0
|
feat(config): env-based configuration with validation
|
2026-07-01 16:27:31 +07:00 |
|