D
Bug Tracker

Bug Tracker

Known issues Konco dari audit kode — route Duitku dikomentari, facebook/graph-sdk lawas di web app, ValidateSignature naming misleading, TODO belum implement, API_START token .env.example mengandung 3 chars demo (H4nd0n), insight_batch public, urutan step deploy API staging tidak ideal. Diurutkan prioritas risiko.

Daftar known issues Konco dari audit kode kedua repo. Diurutkan prioritas risiko — pembenahan tidak menghentikan pengiriman fitur.

Aturan utama: Jangan gabungkan pembenahan dengan fitur dalam satu commit. Pisahkan agar mudah di-revert.

Prioritas 1 — Hash secret default di config API engine (sensitive)

AspekDetail
Masalahconfig/app.php dazo-whitelist-api berisi default 'hash_secret' => env('HASH_SECRET_KEY', 'H4nd0n') — fallback hardcoded
Lokasidazo-whitelist-api/config/app.php:9
RisikoHigh — bila env tidak diisi, secret publik/tebakan
SaranHapus default, wajibkan HASH_SECRET_KEY di .env, dan pastikan tidak terkait kredensial produksi

Prioritas 2 — Token Facebook tidak fail-fast & enkripsi partial

AspekDetail
MasalahRefreshFacebookTokens.php meng-update access_token via `Crypt::encrypt($newToken . ’
Lokasidazo-whitelist-api/app/Console/Commands/RefreshFacebookTokens.php:43-47
RisikoMedium — token encryption key drift menyebabkan gagal autentikasi ke Meta
SaranSentralisasi salt di config, dokumentasikan rotasi

Prioritas 3 — Route Duitku dikomentari, MonitPay hanya satu gateway aktif

AspekDetail
MasalahRouter Duitku (POST /api/duitku_callback & member/payment_callback) dikomentari di kode; web app hanya bergantung MonitPay
Lokasidazo-whitelist/routes/api.php:23, routes/_member.php:46
RisikoOperational — single point of failure pada payment gateway
SaranPutuskan: aktifkan kembali Duitku (uncomment + satupis controller) atau bersihkan dependency duitkupg/duitku-php bila tidak dipakai

Prioritas 4 — Dual Facebook SDK di web app

AspekDetail
Masalahdazo-whitelist punya facebook/graph-sdk ^5.1 (lawas) sementara API engine pakai php-business-sdk ^20.0. Operasi Meta mayoritas via API engine
Lokasidazo-whitelist/composer.json — facebook/graph-sdk ^5.1
RisikoMaintenance — dua SDK, dua cara, versi beda jauh
SaranAudit penggunaan FacebookApi lokal; hapus graph-sdk bila semua operasi sudah lewat API engine

Prioritas 5 — Nama middleware ValidateSignature misleading

AspekDetail
Masalahapp/Http/Middleware/ValidateSignature.php hanya extends Laravel built-in Illuminate\Routing\Middleware\ValidateSignature (URL signed), bukan RSA. Nama memancing salah asumsi
Lokasidazo-whitelist-api/app/Http/Middleware/ValidateSignature.php
RisikoMaintainability — engineer bisa keliru percaya ini memverifikasi RSA
SaranRename (e.g. EnsureUrlIsValid) atau tambah docblock eksplisit

Prioritas 6 — TODO belum implement di AdminRequestService

AspekDetail
MasalahBeberapa TODO belum diimplementasi — notification & transfer balance logic
Lokasidazo-whitelist/app/Services/AdminRequestService.php:395,519,582
RisikoFungsionalitas admin request tidak lengkap (silent)
SaranImplementasi atau beri eksposur UI/konsol; jangan biarkan silent TODO di alur kritis

Prioritas 7–10 — Known issues minor

7. insight_batch endpoint public

POST /api/facebook/insight_batch di dazo-whitelist-api/routes/api.php berada di luar grup middleware auth:api,myapi. Halaman dokumentasi menandai publik. Verifikasi kebutuhan proteksi bila insight sensitif di-expose ke integrasi.

8. Urutan step deploy API staging tidak ideal

dazo-whitelist-api/.github/workflows/deploy_staging.yml membersihkan cache sebelum pull & install. Bila git reset gagal, cache hilang tapi kode lama. Urutan web app (pull → build → clear) lebih wajar.

9. Pemakaian raw query PostgreSQL

Beberapa query memakai PostgreSQL-specific syntax. Bila migrasi ke MySQL, break — lihat AdsExpired.php:188 (data::jsonb ->>) & interval 'INTERVAL N days'.

10. Build verification hanya di web app staging

dazo-whitelist staging memverifikasi manifest.json; dazo-whitelist-api staging tidak — bergantung pada kompatibilitas langsung di server.


Prioritas maintenance (foundation)

ItemDetail
TestingTidak ada workflow test/GitHub Actions untuk php artisan test maupun pint
Auto-rollbackTidak ada — rollback manual via git reset di server
PR workflowTidak ada workflow pull_request — hanya push trigger deploy

Panduan perbaikan

  1. Kerjakan 1 item per commit, pisah dari commit feature.
  2. Sentuh storage/rsa_keys/ & tabel applications dengan RSD target — putus handshake = 401 seluruh platform.
  3. Setiap perubahan kontrak API (/api/facebook/*, /api/account/*, /api/transfer-balance/*) wajib sinkron kedua repo.

Langkah berikutnya