|
|
01ef541917
|
docs(campaign): define target-like mail evidence
|
2026-07-22 16:49:57 +02:00 |
|
|
|
d567257311
|
test(campaign): prove GreenMail delivery journey
|
2026-07-22 16:49:57 +02:00 |
|
|
|
3075ef7f5b
|
docs(campaign): document aggregate report baseline
|
2026-07-22 15:20:04 +02:00 |
|
|
|
1ab4e91ffd
|
test(campaign): add simple announcement acceptance fixture
|
2026-07-22 15:18:52 +02:00 |
|
|
|
735e874bd0
|
fix(campaign): bound operator queue polling
v0.1.10
|
2026-07-22 09:39:03 +02:00 |
|
|
|
99d44eeb8d
|
feat(campaign): complete durable operator queue
|
2026-07-22 09:31:33 +02:00 |
|
|
|
f095a3e2c7
|
fix(campaign): sanitize synchronous send results
|
2026-07-22 09:21:44 +02:00 |
|
|
|
1225802c5d
|
fix(campaign): suppress overlapping aggregate cells
|
2026-07-22 09:17:00 +02:00 |
|
|
|
ac3329cafe
|
fix(campaign): use stable aggregate status filters
|
2026-07-22 09:11:14 +02:00 |
|
|
|
4eb651c6ac
|
feat(campaign): filter reports from outcome counts
|
2026-07-22 09:11:10 +02:00 |
|
|
|
0b4017c240
|
refactor(campaign): restore route docstrings
|
2026-07-22 09:08:12 +02:00 |
|
|
|
79b576b4bc
|
fix(webui): localize Campaign delivery reporting
|
2026-07-22 09:04:42 +02:00 |
|
|
|
b0282ebff2
|
test(campaign): cover bounded delivery modes
|
2026-07-22 09:00:35 +02:00 |
|
|
|
aae4ef5952
|
chore(release): bump Campaign to 0.1.10
|
2026-07-22 08:50:53 +02:00 |
|
|
|
8ee87b7558
|
feat(campaign): surface aggregate reports
|
2026-07-22 08:49:38 +02:00 |
|
|
|
7229fb8e3d
|
fix(campaign): mark excluded delivery as skipped
|
2026-07-22 08:48:46 +02:00 |
|
|
|
3487ec7048
|
test(campaign): enforce aggregate report permissions
|
2026-07-22 08:46:28 +02:00 |
|
|
|
22d72f82f5
|
test(campaign): require export authority for report email
|
2026-07-22 08:45:00 +02:00 |
|
|
|
fc36aee6c0
|
feat(webui): add aggregate Campaign reports
|
2026-07-22 08:44:15 +02:00 |
|
|
|
06125cc0e8
|
feat(campaign): add privacy-safe aggregate reports
|
2026-07-22 08:44:12 +02:00 |
|
|
|
21f3014ac5
|
feat(campaign): add durable operator queue controls
|
2026-07-22 08:39:44 +02:00 |
|
|
|
62a68792a4
|
feat(campaign): persist delivery execution mode
|
2026-07-22 08:37:58 +02:00 |
|
|
|
aa4ec66b7b
|
fix(campaign): query reports before pagination
|
2026-07-22 08:31:43 +02:00 |
|
|
|
60efd1cb5d
|
feat(campaign): make delivery modes explicit
|
2026-07-22 08:26:52 +02:00 |
|
|
|
7e1660344d
|
feat(campaign): bound synchronous delivery
|
2026-07-22 08:21:42 +02:00 |
|
|
|
a8c0750dd7
|
docs(campaign): clarify legacy mail secret treatment
v0.1.9
|
2026-07-21 20:49:20 +02:00 |
|
|
|
bfbb86564c
|
fix(campaign): align adaptive handbook with shipped UI
|
2026-07-21 19:15:52 +02:00 |
|
|
|
c05bb8e474
|
docs: surface permission-gated Campaign tasks
|
2026-07-21 18:53:07 +02:00 |
|
|
|
99ef25b08f
|
docs: add adaptive Campaign composition guide
|
2026-07-21 18:46:22 +02:00 |
|
|
|
03100b77db
|
refactor: simplify Campaign editor validation
|
2026-07-21 18:16:09 +02:00 |
|
|
|
0ac903c82d
|
security: make Campaign mutation audits atomic
|
2026-07-21 17:56:59 +02:00 |
|
|
|
60776803c5
|
security: authorize every Campaign effect version
|
2026-07-21 17:56:47 +02:00 |
|
|
|
9a709b1264
|
security: separate Campaign reader and operator data
|
2026-07-21 17:55:54 +02:00 |
|
|
|
af833ca38c
|
security: bound Campaign editor metadata
|
2026-07-21 17:55:30 +02:00 |
|
|
|
50c509d161
|
security: seal Campaign delivery inputs
|
2026-07-21 17:54:34 +02:00 |
|
|
|
9f4eab07f6
|
docs: expand adaptive Campaign guidance
|
2026-07-21 17:29:08 +02:00 |
|
|
|
25a69b3fa9
|
docs: add multi-perspective Campaign handbook
|
2026-07-21 17:29:01 +02:00 |
|
|
|
24538c2a99
|
chore: release Campaign 0.1.9
|
2026-07-21 17:15:02 +02:00 |
|
|
|
7d8579194d
|
docs: document the Campaign-to-Mail delivery boundary
|
2026-07-21 17:14:55 +02:00 |
|
|
|
09c63de813
|
security: harden Campaign delivery effects and reconciliation
|
2026-07-21 17:14:33 +02:00 |
|
|
|
057e660b17
|
feat: add Campaign delivery ownership and IMAP claim primitives
|
2026-07-21 17:13:49 +02:00 |
|
|
|
701c0fe184
|
refactor(webui): select Mail-owned profiles for campaigns
|
2026-07-21 17:13:22 +02:00 |
|
|
|
2c5519908a
|
refactor(webui): consume Core navigation and retention components
|
2026-07-21 13:52:59 +02:00 |
|
|
|
dc56687af6
|
Remove shared CSS ownership from Campaign
|
2026-07-21 13:47:28 +02:00 |
|
|
|
2c70c553ac
|
Use central metric cards for Campaign summaries
|
2026-07-21 13:24:18 +02:00 |
|
|
|
8627d0e135
|
Import Campaign data grids directly from Core
|
2026-07-21 13:24:04 +02:00 |
|
|
|
d2adcca7ae
|
Remove Campaign-owned shared CSS
|
2026-07-21 13:19:20 +02:00 |
|
|
|
002ca4b371
|
refactor(webui): use core access explanation
|
2026-07-21 13:18:40 +02:00 |
|
|
|
641bead0d8
|
Deduplicate campaign template rendering
|
2026-07-21 13:14:32 +02:00 |
|
|
|
3c305753d6
|
Refactor campaign job queue selection
|
2026-07-21 12:54:11 +02:00 |
|