oxpoe
06a6eb23f2
fix(wifi): sinkron SSID portal/teknisi + encode URL aksi teknisi
...
CI / test (push) Successful in 2m37s
- pastikan update SSID via service yang menyinkronkan wifi_ssid
- encode tag pada URL ssid/password/reboot teknisi
- versi 0.6.16
2026-11-06 11:28:24 +07:00
oxpoe
81d6e79e90
fix(telegram): multi admin ID, chunk pesan, IPv4
...
CI / test (push) Successful in 1m37s
- admin ID dipisah koma/titik-koma/spasi
- notifyAdmin chunk 4000 char + fallback plain
- dns ipv4first untuk hindari aggregate error
- versi 0.6.15
2026-11-06 11:22:04 +07:00
oxpoe
31e8f46e03
feat(portal): kustomisasi banner, status, hero, sosial dari Pengaturan
...
CI / test (push) Successful in 1m41s
- banner + warna, status jaringan, hero badge/title/subtitle
- link maps/instagram/facebook/tiktok di footer
- boolean portal_banner_enabled
- versi 0.6.14
2026-11-06 11:13:44 +07:00
oxpoe
e2ebc079f1
fix(webhook): dukung variasi notifikasi ShopeePay
...
CI / test (push) Has been cancelled
- kata 'ditambahkan'/'telah ditambahkan' dianggap pembayaran masuk
- regex nominal mendukung frasa tersebut
- versi 0.6.13
2026-11-06 11:11:47 +07:00
oxpoe
19096b36e3
fix(acs): dukung virtual parameters GenieACS Pro
...
CI / test (push) Has been cancelled
- pppoeIP/pppIP/WanIP/IPTR069, pppoeUsername2/PPPoEUser, WlanSSID
- lookup PPPoE & tampilan IP/username lebih akurat
- versi 0.6.12
2026-11-06 11:11:19 +07:00
oxpoe
2658efd89d
feat(acs): modal atur SSID & sandi dari daftar perangkat
...
CI / test (push) Successful in 1m36s
- tombol Atur WiFi di menu aksi
- tampilkan SSID 2.4G/5G saat ini
- endpoint simpan SSID & sandi terpisah
- versi 0.6.11
2026-11-06 11:04:25 +07:00
oxpoe
f66c3e2b7f
fix(acs): fallback lookup perangkat via data pelanggan
...
CI / test (push) Successful in 1m37s
- cari lewat pppoe/genieacs_tag/mac/phone bila tag/ID tidak cocok
- mengurangi lookup gagal & dashboard timeout
- versi 0.6.10
2026-11-06 11:02:12 +07:00
oxpoe
de120f08a9
fix(acs): SSID hanya SSID1/SSID5, split task 9007, RX Power/LOS
...
CI / test (push) Has been cancelled
- port updateSSID/updatePassword dari upstream
- tidak menyentuh SSID2/Guest
- setParameterValues per parameter
- RX power negatif/raw + LOS
- versi 0.6.9
2026-11-06 11:00:29 +07:00
oxpoe
5361c3a1c1
feat(isolir): URL halaman isolir & port redirector di Pengaturan
...
CI / test (push) Successful in 1m34s
- isolir_portal_url, isolir_redirect_port
- redirector baca setting per request (tanpa restart)
- generator cloud memakai URL tersebut
- versi 0.6.8
2026-11-06 05:52:02 +07:00
oxpoe
094c47c15d
feat(isolir): generator script cloud sederhana
...
CI / test (push) Successful in 1m38s
- tab Cloud di modal Script Isolir
- resolve semua A record, warn Cloudflare/CDN
- hook PPPoE, DNS redirect, NAT HTTP, filter allow/reject/drop
- API /admin/api/isolir-cloud-script
- versi 0.6.7
2026-11-06 05:49:15 +07:00
oxpoe
0f7affc498
feat(qr-custom): filter tanggal + pilih baris & hapus terpilih
...
CI / test (push) Successful in 1m37s
- filter from/to pada list
- checkbox pilih semua, batch delete dengan password admin
- reset histori tetap
- versi 0.6.6
2026-11-06 05:11:50 +07:00
oxpoe
a2888810ad
feat(qr-custom): hapus satu & reset histori dengan password admin
...
CI / test (push) Successful in 1m47s
- endpoint delete/reset, verifikasi admin_password
- tombol hapus di detail + reset di header histori
- versi 0.6.5
2026-11-06 05:08:30 +07:00
oxpoe
8fcb50e16a
fix(qr-custom): center QR, timer berhenti, refund saat lunas, regenerate expired
...
CI / test (push) Successful in 1m44s
- link publik: QR center, nominal/QR/timer disembunyikan saat expired
- reject/refund untuk paid
- regenerate QR expired (kode unik baru) di detail & tabel
- versi 0.6.4
2026-11-06 05:05:58 +07:00
oxpoe
b72dbf3e55
fix(webhook): auto secret token + URL dari public base/host
...
CI / test (push) Successful in 2m5s
- ensureWebhookSecret saat boot dan buka Pengaturan
- URL webhook memakai public_base_url fallback host
- tolak default billing-rtrw-secret-key
- versi 0.6.3
2026-11-06 04:55:12 +07:00
oxpoe
6f6960ce42
fix(webhook): sertakan matched_custom_qr_id di respons
CI / test (push) Successful in 2m3s
2026-11-06 04:47:56 +07:00
oxpoe
fd46731a53
fix(qr-custom): ikon menu + disable sampai QRIS statis siap
...
CI / test (push) Successful in 1m43s
- icon bi-qr-code
- menu disembunyikan bila QRIS belum aktif/payload kosong
- form & POST ditolak, tidak membuat data tanpa QR
- versi 0.6.1
2026-11-06 04:38:12 +07:00
oxpoe
bf25260d4c
feat: QR-Custom Payment + mode webhook secret GOWA
...
CI / test (push) Successful in 1m35s
- tabel custom_qr_payments, service, halaman admin + publik share
- kode unik 20 menit, warning bila bayar setelah batas, manual pay/accept/reject
- webhook payment-notif mencocokkan nominal custom
- menu sidebar QR-Custom Payment
- GOWA secret: auto generate (locked) / manual (simpan lalu locked, ubah)
- versi 0.6.0
2026-11-06 04:32:06 +07:00
oxpoe
973d9e3a14
feat(gowa): tombol salin webhook secret
...
CI / test (push) Successful in 1m36s
- input secret diberi id + tombol copy
- feedback ikon centang
- versi 0.5.20
2026-11-06 04:06:45 +07:00
oxpoe
848dd49cce
feat(update): floating notif + banner saat restart diperlukan
...
CI / test (push) Successful in 1m32s
- marker .restart-required ditulis setelah update sukses
- API /admin/api/restart-required + polling 30s di sidebar
- banner di halaman Update sampai restart
- marker dihapus saat boot proses baru
- versi 0.5.19
2026-11-06 04:01:16 +07:00
oxpoe
ad62aab07d
feat(gowa): device id kosong ikut device terhubung + auto webhook secret
...
CI / test (push) Successful in 1m45s
- hapus auto-pin gowa_device_id pada QR/status
- hint device id + secret otomatis
- ensureGowaWebhookSecret saat boot & simpan pengaturan
- versi 0.5.18
2026-11-06 03:50:06 +07:00
oxpoe
fadbf0084b
fix(gowa): status device array, auto-save device id, QR hide saat terhubung
...
CI / test (push) Successful in 1m53s
- status route normalisasi results array + auto isi gowa_device_id
- UI poll status 3s, sembunyikan QR saat open
- resolveDeviceId utamakan device connected
- versi 0.5.17
2026-11-06 03:38:00 +07:00
oxpoe
8a312485a7
feat(update): kotak panduan restart self-hosted & cloud
...
CI / test (push) Successful in 2m21s
- PM2, manual pkill, quadlet/systemd, compose
- cloud: otomatis saat update berikutnya / hubungi admin server
- versi 0.5.16
2026-11-05 17:57:03 +07:00
oxpoe
280a8ac9a6
fix(update): pertahankan .env.gowa + hapus checkout pathspec
...
CI / test (push) Successful in 3m35s
- .env.gowa masuk preserved entries dan clean exclude
- settings.json/database tidak di-checkout (tidak dilacak git)
- .env.gowa di .gitignore
- versi 0.5.15
2026-11-05 17:53:14 +07:00
oxpoe
1e3067989a
feat(settings): tombol Test API di AI (tanpa simpan)
...
CI / test (push) Successful in 2m26s
- endpoint POST /admin/settings/test-ai (provider, key, base URL, model)
- UI status valid/tidak + latensi
- versi 0.5.14
2026-11-05 17:49:54 +07:00
oxpoe
7db4cb81a3
fix(wa): notifikasi LUNAS lewat gateway aktif + approve APK
...
CI / test (push) Successful in 2m26s
- isConnected GOWA: tangani /devices array (state connected)
- app-customer payment-notif: pakai waNotify, bukan Baileys
- customerAPI approve kolektor + payment-unmatched: kirim WA lunas
- versi 0.5.13
2026-11-05 17:32:31 +07:00
oxpoe
310e91ed97
fix(gowa): Test Koneksi pakai nilai form tanpa simpan
...
CI / test (push) Successful in 2m42s
- testReachability menerima override baseUrl/username/password
- UI mengirim nilai form
- versi 0.5.12
2026-11-05 17:08:08 +07:00
oxpoe
f8e6e86619
feat(gowa): tombol Test Koneksi (health, auth, jumlah device)
...
CI / test (push) Successful in 2m44s
- service testReachability: /health + /devices
- route POST /admin/whatsapp/test-gowa-connection
- UI status warna hijau/kuning/merah
- versi 0.5.11
2026-11-05 17:01:13 +07:00
oxpoe
b49822b553
feat(gowa): pilihan mode Cloud HTTPS / Local HTTP + polyfill di pengaturan
...
CI / test (push) Successful in 1m53s
- setting gowa_mode, hint dinamis, link wiki
- wiki: halaman GOWA (mode, polyfill, troubleshooting)
- versi 0.5.10
2026-11-05 16:02:44 +07:00
oxpoe
b98ad7568d
fix(gowa): QR sebagai data URI + rewrite qr_link ke base URL publik
...
CI / test (push) Successful in 2m41s
- gambar tidak lagi bergantung request /qr.png kedua
- qr_link host internal diganti origin base URL
- log saat gambar gagal diambil; onerror di UI
- versi 0.5.9
2026-11-05 15:55:29 +07:00
oxpoe
7a5b488882
fix(gowa): tampilkan status HTTP saat QR gagal (401/kredensial)
CI / test (push) Successful in 3m32s
2026-11-05 15:46:45 +07:00
oxpoe
e28c9debea
docs(gowa): UI butuh secure context (crypto.randomUUID) untuk akses HTTP LAN
CI / test (push) Successful in 1m57s
2026-11-05 15:38:39 +07:00
oxpoe
861b8f6549
fix(gowa): pakai docker.io prefix agar podman tidak minta short-name
CI / test (push) Failing after 13m31s
2026-11-05 14:20:40 +07:00
oxpoe
19db67138b
feat(gowa): compose GOWA + UI untuk podman/docker
...
CI / test (push) Has been cancelled
- docker-compose.gowa.yml (image v9.8.0, volume storages/statics, webhook + basic auth)
- .env.gowa.example
- README: cara jalankan + setting OPEN-ISP
- versi 0.5.7
2026-11-05 14:18:36 +07:00
oxpoe
7bb4ca1066
docs(automation): hint auto-hapus tidak lagi hardcode bulan ke-4
CI / test (push) Successful in 4m5s
2026-11-05 13:26:21 +07:00
oxpoe
d68cc1d664
fix(qris): selaras skema hangus, satu tagihan terbaru
...
CI / test (push) Successful in 5m10s
- batalkan pelunasan multi-tagihan: tagihan lama otomatis void saat tagihan baru terbit
- QRIS manual memakai tagihan terbaru, bukan total tunggakan
- versi 0.5.6
2026-11-05 13:19:14 +07:00
oxpoe
a78e6b766a
fix(qris): kirim tagihan manual pakai total tunggakan
...
CI / test (push) Successful in 2m43s
- ensureInvoiceQris menerima base total agar kode unik konsisten dengan cron/portal
- pesan manual menampilkan total tagihan, bukan satu invoice
2026-11-05 12:57:19 +07:00
oxpoe
fa791cd3cb
docs(readme): pulihkan suntingan README dari remote
...
CI / test (push) Successful in 4m14s
- tagline 'self-hosted builtin AI'
- baris link demo / donate / main repo (perbaiki typo openisp -> open-isp)
2026-11-05 12:49:27 +07:00
oxpoe
34d4563a5f
fix(qris): kode unik lintas order + pelunasan multi-tagihan; fix kirim tagihan manual
...
CI / test (push) Has been cancelled
- webhook QRIS: nominal total tagihan + kode -> lunaskan semua tagihan pelanggan
- isQrisAmountTaken() cek invoice+voucher+donasi (cegah ambigu)
- billingSendService: require('qrcode'), nominal unik + {{qris_kode}}, fallback link
- pilih tagihan terlama; pesan pengingat manual yang jujur saat di-skip
- versi 0.5.5
2026-11-05 12:48:59 +07:00
oxpoe
b34e5a34d8
docs(readme): tambah link demo & donasi
...
CI / test (push) Successful in 2m13s
- badge demo -> https://demo-openisp.oxpoe.xyz
- badge + bagian Dukungan: donasi -> https://oxpoe.xyz
- demo online di Mulai Cepat & English quick
- badge versi -> 0.5.4
2026-11-05 11:13:46 +07:00
oxpoe
bc7f2bdb09
feat(wa): notifikasi pelanggan tiket + broadcast status layanan
...
CI / test (push) Successful in 2m3s
- WA konfirmasi ke pelanggan saat tiket dibuat (web & APK)
- checkbox + target (semua/area/router) di Status Layanan
- WA gangguan/perbaikan saat mode berubah, WA layanan pulih saat NORMAL
- broadcast latar belakang dengan jeda acak, dedupe nomor, log [NoticeWA]
- versi 0.5.4
2026-11-05 09:28:48 +07:00
oxpoe
8231058f79
fix(update): hapus referensi info.* di handler POST (info is not defined)
CI / test (push) Successful in 1m44s
2026-11-05 09:11:36 +07:00
oxpoe
fe7682fa45
fix(update): timeout git fetch + tampilkan error di log update
CI / test (push) Successful in 2m30s
2026-11-05 09:00:45 +07:00
oxpoe
7d77dd1424
feat(branding): nama PT dapat diatur di Pengaturan
...
CI / test (push) Successful in 1m36s
- field company_subheader di Info Aplikasi
- dipakai sebagai kop invoice/PDF (sudah ada) dan menggantikan baris footer bila diisi
- default kosong: footer tetap 'Made with <heart> from Oxpoe in INA.'
2026-11-05 06:53:53 +07:00
oxpoe
eef690b809
style(branding): footer landing/login
...
CI / test (push) Has been cancelled
- PT Artha Mega Data -> Made with <heart> from Oxpoe in INA.
- Fiber Optic Internet Service -> tiawidianti & irpankomara
2026-11-05 06:51:41 +07:00
oxpoe
c8b1335ff4
fix(settings): kartu AI punya tab sendiri agar filter tab sinkron
...
CI / test (push) Successful in 2m8s
- tambah tombol tab 'AI'
- beri data-setcat="ai" pada kartu AI & Self-Healing (sebelumnya selalu tampil di semua tab)
2026-11-05 06:41:27 +07:00
oxpoe
c906bca459
fix(support): /donate redirect ke oxpoe.xyz, hapus sisa teks aktivasi & nomor
...
CI / test (push) Successful in 1m57s
- /donate, /donasi, /public/donasi -> 302 https://oxpoe.xyz
- locale id/en: teks kode aktivasi diganti netral, nomor kontak dihapus
- README: Gitea utama, Forgejo mirror read-only
- hapus nomor dari scripts/test-admin.js
2026-11-05 06:39:12 +07:00
oxpoe
205db53d7e
fix(ui): link repo ke gitea.oxpoe.xyz, buka semua menu, hapus kontak aktivasi
...
CI / test (push) Successful in 1m55s
- ganti sisa URL gitea.oxpoe.qzz.io -> gitea.oxpoe.xyz (sidebar, donate, package.json, projectUrl)
- default menu sidebar semuanya Tampil (tidak ada lagi menu terkunci)
- hapus nomor kontak aktivasi palsu 081947215703 dari UI & pesan route
- form pengaturan sidebar tidak lagi meminta password aktivasi
2026-11-05 06:29:50 +07:00
64e321a350
Update README.md
CI / test (push) Successful in 1m41s
2026-11-04 22:05:48 +00:00
55f8368214
Update README.md
CI / test (push) Successful in 4m29s
2026-11-04 21:40:16 +00:00
oxpoe
0ca85544aa
fix(customer): kartu akun di sidebar desktop bisa diklik
...
CI / test (push) Successful in 2m58s
- blok nama/avatar di sidebar sebelumnya tidak punya handler klik sama sekali
- dijadikan <button> dengan switchTab('profile') + aria-label
- avatar mobile di topbar juga dijadikan <button> agar tap lebih andal
2026-11-05 04:12:52 +07:00