-
816e037a9a
ci: add parameterized build workflow (env x target x platform)
master
Ramadhan Sjamsani
2026-06-05 15:10:59 +08:00
-
91bdbd5289
build(backend): Dockerize for self-hosted deploy + deploy/log docs
Ramadhan Sjamsani
2026-06-05 15:10:59 +08:00
-
be20eee16b
feat(client_app): open privacy policy in in-app webview
Ramadhan Sjamsani
2026-06-05 15:10:47 +08:00
-
d04f6a8a69
Merge branch 'feat/build-flavors'
Ramadhan Sjamsani
2026-06-05 08:02:08 +08:00
-
-
48a1f8eb65
Merge branch 'feat/client-analytics-funnel'
Ramadhan Sjamsani
2026-06-05 08:01:09 +08:00
-
-
22743c81e1
feat(build): add dev/staging/prod flavors for client_app + mitra_app
Ramadhan Sjamsani
2026-06-04 22:21:50 +08:00
-
-
-
12cf9f80e9
chore(backend): add dev helper to provision a static-OTP mitra login
Ramadhan Sjamsani
2026-06-02 21:57:42 +08:00
-
7e218decae
docs(analytics): add funnel plan + live events reference
Ramadhan Sjamsani
2026-06-02 21:57:42 +08:00
-
f59fa0e27f
fix(client/android): enable Firebase Analytics upload on AGP 8
Ramadhan Sjamsani
2026-06-02 21:57:42 +08:00
-
eeb4ea38fc
feat(client/analytics): GA4 funnel instrumentation + unified home CTA
Ramadhan Sjamsani
2026-06-02 21:57:26 +08:00
-
-
76d74aa7b5
chore(splash): use app logo on icon background for native + flutter splash
Ramadhan Sjamsani
2026-06-01 22:27:39 +08:00
-
22048c678f
fix(payment): autoDispose payment catalog so CC edits reflect without app restart
Ramadhan Sjamsani
2026-06-01 22:27:26 +08:00
-
529a38ae3f
feat(backend): pin server timezone to UTC with startup assertion
Ramadhan Sjamsani
2026-06-01 22:27:16 +08:00
-
495eb98787
fix(db): widen customer_transactions.type to VARCHAR(128)
Ramadhan Sjamsani
2026-06-01 22:27:07 +08:00
-
6e87e9b6da
fix(chat): render message timestamps in device-local time
Ramadhan Sjamsani
2026-06-01 22:26:57 +08:00
-
6fd98ca99c
OTP overhaul: test-user bypass + hash-at-rest + Fazpass integration
Ramadhan Sjamsani
2026-05-29 22:39:34 +08:00
-
3a0cdf5c4e
Phase 5/6 polish: end-session flow, notif sound on API 33+, Xendit webview
Ramadhan Sjamsani
2026-05-28 21:45:46 +08:00
-
2c95fd040d
Phase 5.x payment revamp + Xendit Stage-8 prep
Ramadhan Sjamsani
2026-05-27 21:33:51 +08:00
-
1f6d8e09ae
Phase 5.x payment catalog + customer-app splash/register polish
Ramadhan Sjamsani
2026-05-26 23:06:46 +08:00
-
d60c048776
Mitra availability: read paths respect require_mitra_ping=false
Ramadhan Sjamsani
2026-05-25 22:09:41 +08:00
-
3052f7b799
Xendit webhook: metadata.app routing + survival audit log + rolling fallback file
Ramadhan Sjamsani
2026-05-25 22:09:14 +08:00
-
553dbac52f
Phase 6: Valkey availability mirror — move read path off Postgres
Ramadhan Sjamsani
2026-05-25 18:07:55 +08:00
-
3fff4b1c6e
Phase 5 Xendit: Stages 1-7 (XENDIT_ENABLED=false; Stage 8 pending creds)
Ramadhan Sjamsani
2026-05-25 12:52:33 +08:00
-
e6d991373e
Client Profile: save-phone banner for anonymous users
Ramadhan Sjamsani
2026-05-22 19:39:13 +08:00
-
bfb072ddfb
Docs: textfield-centering pitfall + config-source / FCM channel conventions
Ramadhan Sjamsani
2026-05-21 22:38:50 +08:00
-
387f0f65de
Mitra chat input bar: port the exact pattern from client_app
Ramadhan Sjamsani
2026-05-21 22:31:06 +08:00
-
75343f97b6
Mitra chat input bar: drop maxLines:3 attempt + nudge alignment down
Ramadhan Sjamsani
2026-05-21 22:28:03 +08:00
-
92da8b2013
Mitra chat input bar: white pill bg + vertical-center hint
Ramadhan Sjamsani
2026-05-21 22:11:20 +08:00
-
82c9b1eee8
Mitra chat: real customer name + ticking timer + goodbye pill
Ramadhan Sjamsani
2026-05-21 21:09:00 +08:00
-
a8c20d929e
Mitra ping: decouple stale-after from app cadence
Ramadhan Sjamsani
2026-05-21 20:39:59 +08:00
-
1653482d54
Client: mirror branded notification sound to customer app
Ramadhan Sjamsani
2026-05-21 20:05:05 +08:00
-
9de6b8a78f
Mitra: branded notification sound (halobestie_notif.ogg)
Ramadhan Sjamsani
2026-05-21 20:01:02 +08:00
-
9fa4724b2a
Mitra Profil: WhatsApp + Telegram brand glyphs
Ramadhan Sjamsani
2026-05-21 19:36:16 +08:00
-
31da57d218
Mitra Profil: drop handle subtitle on WA/TG rows
Ramadhan Sjamsani
2026-05-21 19:32:46 +08:00
-
10699d1ad1
Mitra Profil: WA/TG contacts + Keluar-only (no Hapus Akun)
Ramadhan Sjamsani
2026-05-21 16:32:21 +08:00
-
e4bffe1a71
Extension request: WS→FCM fallback + chat-recovery on connect
Ramadhan Sjamsani
2026-05-21 13:24:40 +08:00
-
368d18a0bf
Mitra: regression coverage for back-press-during-session-ended
Ramadhan Sjamsani
2026-05-21 11:32:07 +08:00
-
34a8f7154e
gitignore: match agent-memory at any depth
Ramadhan Sjamsani
2026-05-21 11:15:26 +08:00
-
fbc94daac7
Mitra Bestie §1–§3: shell + Undangan + popup + chat polish
Ramadhan Sjamsani
2026-05-21 11:14:30 +08:00
-
fcb8eaa505
App ID + launcher icon rename: halobestie.* → mybestie
Ramadhan Sjamsani
2026-05-21 11:13:47 +08:00
-
9696eadeaf
Mitra §A: pre-home (S3a/S3b/AccountInactive) + design system + Bestie Home
Ramadhan Sjamsani
2026-05-19 22:01:28 +08:00
-
ad02ee252d
Phase 4 §1/§5: notif banner detection on API <33 + chat-delivery WS→FCM lifecycle
Ramadhan Sjamsani
2026-05-18 21:50:46 +08:00
-
093256ff7d
Phase 4 §2 + §1/§4: OnboardingIntent post-OTP routing + test naming + register-screen overflow
Ramadhan Sjamsani
2026-05-18 21:50:04 +08:00
-
938954bbe8
Phase 4 plan: refresh status header (stages 0-10 + §4 migration shipped)
Ramadhan Sjamsani
2026-05-17 20:57:19 +08:00
-
93fa5f113a
Test: TS-07 returning user with existing display_name skips set-name
Ramadhan Sjamsani
2026-05-17 20:50:40 +08:00
-
e09f76ceb6
Phase 4 §4: payment-before-pair for returning users + Maestro suite
Ramadhan Sjamsani
2026-05-17 20:25:15 +08:00
-
1c9d81d81d
Pricing: migrate from app_config JSON to relational tables
ramadhan sjamsani
2026-05-16 00:12:11 +08:00
-
a09f37135c
Phase 4 checkpoint: chat-screen perf refactor + retryable blast-failure + repo-wide dispose-ref guardrail
ramadhan sjamsani
2026-05-14 19:12:34 +08:00
-
a48f108fc0
Phase 4 §2.1: anonymous → existing-user merge breadcrumb
ramadhan sjamsani
2026-05-13 23:57:53 +08:00
-
22b10c4bbf
Phase 4 Stage 10 follow-up: restore BestieHistoryList picker for §4 curhat-lagi
ramadhan sjamsani
2026-05-12 21:26:57 +08:00
-
1908e98012
Phase 4 Stage 10 Maestro: 09_chat_tab.yaml + seed-pending-payment endpoint
ramadhan sjamsani
2026-05-12 20:24:50 +08:00
-
e3ea1d793e
Phase 4 Stage 10 client_app: Chat tab UI (3 sub-tabs + retire bestie_history)
ramadhan sjamsani
2026-05-12 20:14:22 +08:00
-
350b92f1f3
Phase 4 Stage 10 backend: Chat-tab feeds (pending payments + cursor history)
ramadhan sjamsani
2026-05-12 20:04:58 +08:00
-
770f61074c
Phase 4 Stage 9: real-device sweep, 4 flows green + 2 shipping bugs fixed
ramadhan sjamsani
2026-05-10 22:11:05 +08:00
-
ccc52a5c3c
Phase 4 plan: status header — stages 0-8 code-complete on master
ramadhan sjamsani
2026-05-10 17:49:48 +08:00
-
862fc35a40
Phase 4 Stage 8: returning-user shell + Tanya Admin sheet
ramadhan sjamsani
2026-05-10 17:47:02 +08:00
-
d454fd39db
Phase 4 Stage 7: end-of-session 2-step confirm + thank-you screen
ramadhan sjamsani
2026-05-10 17:33:01 +08:00
-
14b5cc966b
Phase 4 Stage 6: chat-room countdown UX + voice-call mode pill
ramadhan sjamsani
2026-05-10 17:25:11 +08:00
-
f170d54535
Phase 4 Stage 5: pairing UX upgrades (searching + match + targeted-wait)
ramadhan sjamsani
2026-05-10 16:49:07 +08:00
-
7ae8f33b2c
Phase 4 Stage 4: notif gate + home permission-denied banner
ramadhan sjamsani
2026-05-10 16:36:46 +08:00
-
706149c75e
Phase 4 Stage 3: payment shell (multi-screen flow)
ramadhan sjamsani
2026-05-10 16:28:59 +08:00
-
2645bcd0e5
Phase 4 Stage 2: onboarding redesign (client_app + mitra_app)
ramadhan sjamsani
2026-05-10 16:23:57 +08:00
-
4680c36e34
OTP test infrastructure for Maestro flows
ramadhan sjamsani
2026-05-10 16:19:22 +08:00
-
d33d4419ea
Phase 4 Stage 1: backend foundation (additive endpoints + schema)
ramadhan sjamsani
2026-05-10 15:56:28 +08:00
-
4ada7c991a
Phase 4 Stage 0: design system foundation (client_app)
ramadhan sjamsani
2026-05-10 15:56:00 +08:00
-
8c212cb464
Phase 4 PRD + plan: customer-flow redesign (Figma alignment)
ramadhan sjamsani
2026-05-09 23:21:26 +08:00
-
d09e50af55
Phase 3.7: paid pairing flow + returning chat + extension flip
ramadhan sjamsani
2026-05-03 23:02:49 +08:00
-
f3766813f3
Add Claude Code subagent definitions
ramadhan sjamsani
2026-04-30 09:30:41 +08:00
-
89afd01899
Phase 3.5: Mitra Chat Request History (backend route + mitra app screens)
ramadhan sjamsani
2026-04-27 18:59:17 +08:00
-
e54bdf2c6c
Tier 1 hardening: trustProxy + per-IP rate limit + anonymity flag
ramadhan sjamsani
2026-04-27 18:58:26 +08:00
-
a560b0936c
PRDs: phase3.5 (mitra chat request history) + phase3.6 (force-close re-enable)
ramadhan sjamsani
2026-04-27 14:09:19 +08:00
-
d9869bf6af
Phase 3.4: customer OTP screen rewrite + lockout UX + bug fixes
ramadhan sjamsani
2026-04-27 13:54:49 +08:00
-
3a7378d246
Phase 3: hide mitra force-close (Akhiri) button in active sessions
ramadhan sjamsani
2026-04-27 13:44:12 +08:00
-
fa7071def5
Phase 3.4: structured rate-limit retry-after + auth error logging
ramadhan sjamsani
2026-04-27 13:43:56 +08:00
-
6de541848c
Phase 3.4: customers.display_name nullable + identity-only social scope
ramadhan sjamsani
2026-04-27 13:43:37 +08:00
-
6801001b64
Phase 3: closing-overlay fix + goodbye-composer dedupe
ramadhan sjamsani
2026-04-27 13:43:19 +08:00
-
05ab1e10df
Pin minSdk = 24 explicitly on both apps
ramadhan sjamsani
2026-04-25 20:47:35 +08:00
-
f8380163bc
Phase 3: session-end UX overhaul + closing-grace cleanup
ramadhan sjamsani
2026-04-25 20:47:24 +08:00
-
b59c66f7df
Consolidate testing checklist into phase3.4-testing.md
ramadhan sjamsani
2026-04-24 16:14:46 +08:00
-
98156d1e49
Phase 3.4: client_app self-managed auth cutover
ramadhan sjamsani
2026-04-24 16:08:20 +08:00
-
2b61c79a86
Phase 3.4: mitra_app self-managed auth cutover
ramadhan sjamsani
2026-04-24 15:58:25 +08:00
-
4a796277b8
Phase 3.4: control_center self-managed auth cutover
ramadhan sjamsani
2026-04-24 15:32:32 +08:00
-
1a610363bb
iOS navigation fixes: deep-link pop fallback + back-button PopScope
ramadhan sjamsani
2026-04-24 11:58:05 +08:00
-
3a25ddc41d
docs: mark Phase 3.4 backend done in plan doc
ramadhan sjamsani
2026-04-24 11:51:19 +08:00
-
f860ab6c85
Phase 3.4: backend self-managed auth cutover
ramadhan sjamsani
2026-04-24 11:43:25 +08:00
-
780cade3db
Phase 3.3: topic sensitivity + Phase 3.4: auth foundation
ramadhan sjamsani
2026-04-24 10:15:12 +08:00
-
97d50a8e08
Chat UI redesign, splash screen, and onboarding carousel
ramadhan sjamsani
2026-04-17 22:05:15 +08:00
-
50d31260dc
Fix auth errors, CORS, control center login, and stale session handling
ramadhan sjamsani
2026-04-15 20:49:57 +08:00
-
1920507ec5
Add pending chat requests CTA on mitra home screen
ramadhan sjamsani
2026-04-10 21:21:00 +08:00
-
b043b92b57
iOS push notification setup for client_app and mitra_app
Ramadhan Sjamsani
2026-04-10 21:20:03 +08:00
-
94ee00cc91
Enable back button on client_app chat screen for iOS
ramadhan sjamsani
2026-04-10 10:42:01 +08:00
-
e601e19aab
Fix chat page stuck: defer provider state changes past build phase
ramadhan sjamsani
2026-04-10 10:15:01 +08:00
-
bb0346a843
Fix overlay: Directionality widget + startListening state guard
ramadhan sjamsani
2026-04-09 23:09:36 +08:00
-
4c6130aa04
Phase 3.2 WS2: Mitra request activity log + control center page
ramadhan sjamsani
2026-04-09 22:20:52 +08:00
-
b9c4841eb1
Phase 3.2 WS1: Chat request overlay, queue, stale reasons
ramadhan sjamsani
2026-04-09 22:16:30 +08:00
-
4158fb9432
Phase 3.2 docs + Phase 3.1 testing fixes
ramadhan sjamsani
2026-04-09 22:09:25 +08:00
-
e3da863f3c
Validate stale chat requests, show info instead of auto-dismiss
ramadhan sjamsani
2026-04-09 16:40:52 +08:00
-
212e1e8ac6
Fix auth: auto-create customer, display name flow, OTP auto-verify
ramadhan sjamsani
2026-04-09 16:22:28 +08:00
-
2e80434e9b
Phase 3.1: Local notification for WS chat requests, router fix, cleanup
ramadhan sjamsani
2026-04-09 14:57:36 +08:00
-
1b249e34b0
Fix router redirect breaking OTP flow on both apps
ramadhan sjamsani
2026-04-09 14:38:48 +08:00