From b49822b553fea5960d0e8e0b5a694a2e091075f1 Mon Sep 17 00:00:00 2001 From: oxpoe Date: Thu, 5 Nov 2026 16:02:44 +0700 Subject: [PATCH] feat(gowa): pilihan mode Cloud HTTPS / Local HTTP + polyfill di pengaturan - setting gowa_mode, hint dinamis, link wiki - wiki: halaman GOWA (mode, polyfill, troubleshooting) - versi 0.5.10 --- CHANGELOG.md | 6 ++++++ README.md | 2 +- package.json | 2 +- routes/adminPortal.js | 6 +++++- version.txt | 2 +- views/admin/whatsapp.ejs | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 46 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37657a2..70e14b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ Format mengikuti [Keep a Changelog](https://keepachangelog.com/) dan [Semantic Versioning](https://semver.org/). +## [0.5.10] — 2026-11-05 — "gowa-mode" + +### Ditambahkan +- Pilihan **Mode Akses GOWA** di Admin → WhatsApp: **Cloud (HTTPS)** atau **Local (HTTP)**. Mode Local menampilkan peringatan wajib polyfill `crypto.randomUUID` beserta tautan panduan wiki. +- Halaman wiki **GOWA**: setup Compose, perbedaan Cloud/Local, perintah polyfill, setting OPEN-ISP, dan troubleshooting QR/webhook. + ## [0.5.9] — 2026-11-05 — "gowa-qr-image" ### Diperbaiki diff --git a/README.md b/README.md index 9a96377..bba09a6 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@

Lisensi: ISC - Versi 0.5.9 (gowa-qr-image) + Versi 0.5.10 (gowa-mode) Node.js >= 20 Docker Demo diff --git a/package.json b/package.json index 62001a3..9300688 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-isp", - "version": "0.5.9", + "version": "0.5.10", "description": "OPEN-ISP \u2014 sistem billing & manajemen ISP open-source (PWA pelanggan, multi-OLT, RADIUS, WhatsApp, QRIS)", "main": "app-customer.js", "scripts": { diff --git a/routes/adminPortal.js b/routes/adminPortal.js index a46e83d..28008d9 100644 --- a/routes/adminPortal.js +++ b/routes/adminPortal.js @@ -6691,8 +6691,10 @@ router.get('/whatsapp', requireAdminSession, requireSidebarMenuAccess('whatsapp' fonnte_api_url: getSetting('fonnte_api_url', 'https://api.fonnte.com/send'), fonnte_country_code: getSetting('fonnte_country_code', '62') }; + const gowaBaseUrl = getSetting('gowa_base_url', 'http://127.0.0.1:3000'); const gowaSettings = { - gowa_base_url: getSetting('gowa_base_url', 'http://127.0.0.1:3000'), + gowa_mode: getSetting('gowa_mode', /^https:/i.test(String(gowaBaseUrl)) ? 'cloud' : 'local'), + gowa_base_url: gowaBaseUrl, gowa_username: getSetting('gowa_username', ''), gowa_password: getSetting('gowa_password', ''), gowa_device_id: getSetting('gowa_device_id', ''), @@ -6729,6 +6731,7 @@ router.post('/whatsapp/gateway-settings', requireAdminSession, express.urlencode fonnte_token, fonnte_api_url, fonnte_country_code, + gowa_mode, gowa_base_url, gowa_username, gowa_password, @@ -6746,6 +6749,7 @@ router.post('/whatsapp/gateway-settings', requireAdminSession, express.urlencode fonnte_token: String(fonnte_token || '').trim(), fonnte_api_url: String(fonnte_api_url || 'https://api.fonnte.com/send').trim(), fonnte_country_code: String(fonnte_country_code || '62').trim(), + gowa_mode: String(gowa_mode || 'cloud').trim() === 'local' ? 'local' : 'cloud', gowa_base_url: String(gowa_base_url || 'http://127.0.0.1:3000').trim(), gowa_username: String(gowa_username || '').trim(), gowa_password: String(gowa_password || '').trim(), diff --git a/version.txt b/version.txt index 89235c0..4e69c2a 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.5.9 \ No newline at end of file +0.5.10 \ No newline at end of file diff --git a/views/admin/whatsapp.ejs b/views/admin/whatsapp.ejs index ac0b93d..cf0a477 100644 --- a/views/admin/whatsapp.ejs +++ b/views/admin/whatsapp.ejs @@ -154,6 +154,25 @@

Konfigurasi GOWA (go-whatsapp-web-multidevice) — Ringan / Self-Hosted
+
+
+ + +
+
+ +
+ <% if (gowaSettings.gowa_mode === 'local') { %> + Base URL http://IP:3000. UI GOWA wajib diberi polyfill crypto.randomUUID (atau akses lewat SSH tunnel). Panduan: Wiki → Konfigurasi → GOWA Local. + <% } else { %> + Base URL https://domain-gowa dengan TLS. UI GOWA langsung normal, tanpa polyfill. + <% } %> +
+
+
@@ -218,6 +237,19 @@