ZL-Q
|
8de03314fd
|
chore(task): archive 04-28-feat-locale-timezone-bootstrap
|
2026-04-28 17:17:39 +08:00 |
|
ZL-Q
|
9bc24fa0c4
|
chore(task): archive 04-28-feat-points-ledger
|
2026-04-28 17:17:38 +08:00 |
|
qzl
|
2d46251220
|
chore(task): archive 04-17-feat-privacy-do-not-sell
|
2026-04-20 12:52:39 +08:00 |
|
qzl
|
4a3fe85fc9
|
chore(task): archive 04-17-feat-user-feedback
|
2026-04-20 12:51:15 +08:00 |
|
qzl
|
c79c773d67
|
feat(notification): add target_mode enum constraint and merge register-notifications script
- Add NotificationTargetMode enum (new_users/exist_users/all_users/user_ids)
- Create Alembic migrations: drop duplicate indexes, add target_mode column
- Merge register-notifications.sh into dev-migrate.sh sync-notifications subcommand
- Shorten notification config path: static/notification/notifications -> static/notifications
- Update registration flow to dispatch notifications by target_mode
- Add is_first_registration to RegisterBonusResult for first-time user detection
- Remove dead code: link_published_notifications_to_user
- Update welcome_points.yaml to target new_users only
- Add 44 unit tests + 1 integration test, all passing
|
2026-04-16 17:50:57 +08:00 |
|
qzl
|
d4919fe52a
|
chore(task): archive 04-16-starter-package-purchase-tracking
|
2026-04-16 16:14:51 +08:00 |
|
qzl
|
dcb955c6af
|
chore(task): archive 04-15-divination-tutorial-first-visit
|
2026-04-16 10:15:07 +08:00 |
|
qzl
|
0bb7d77a3f
|
chore(task): archive 04-15-session-deletion-anonymization
|
2026-04-15 18:19:20 +08:00 |
|
qzl
|
3fd983dc5b
|
chore(task): archive 04-15-liuyao-algorithm-fix
|
2026-04-15 16:49:49 +08:00 |
|
qzl
|
1bc8bc6a27
|
chore(task): archive 00-bootstrap-guidelines
|
2026-04-10 16:30:26 +08:00 |
|