From 973d9e3a1424a0ab012452493fdb35654526ff54 Mon Sep 17 00:00:00 2001 From: oxpoe Date: Fri, 6 Nov 2026 04:06:45 +0700 Subject: [PATCH] feat(gowa): tombol salin webhook secret - input secret diberi id + tombol copy - feedback ikon centang - versi 0.5.20 --- CHANGELOG.md | 5 +++++ README.md | 2 +- package.json | 2 +- version.txt | 2 +- views/admin/whatsapp.ejs | 20 +++++++++++++++++++- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ceaf7d..7f6bcdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ Format mengikuti [Keep a Changelog](https://keepachangelog.com/) dan [Semantic Versioning](https://semver.org/). +## [0.5.20] — 2026-11-06 — "copy-secret" + +### Ditambahkan +- Tombol **salin** di samping **Webhook Secret** GOWA (sama seperti tombol salin Webhook URL), dengan umpan balik ikon centang. + ## [0.5.19] — 2026-11-06 — "restart-notice" ### Ditambahkan diff --git a/README.md b/README.md index bfad427..5144fb8 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@

Lisensi: ISC - Versi 0.5.19 (restart-notice) + Versi 0.5.20 (copy-secret) Node.js >= 20 Docker Demo diff --git a/package.json b/package.json index e776816..b2bda33 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-isp", - "version": "0.5.19", + "version": "0.5.20", "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/version.txt b/version.txt index aa49d36..3c7d01c 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.5.19 \ No newline at end of file +0.5.20 \ No newline at end of file diff --git a/views/admin/whatsapp.ejs b/views/admin/whatsapp.ejs index 8152c6a..fec2ea4 100644 --- a/views/admin/whatsapp.ejs +++ b/views/admin/whatsapp.ejs @@ -220,7 +220,10 @@

- +
+ + +
Dibuat otomatis (32 byte). Samakan dengan WHATSAPP_WEBHOOK_SECRET di GOWA.
@@ -347,6 +350,21 @@ render(); _gowaQrTick = setInterval(function () { remaining--; if (remaining < 0) remaining = 0; render(); }, 1000); } +function copyGowaSecret(btn) { + var el = document.getElementById('gowa_webhook_secret'); + if (!el) return; + var val = String(el.value || ''); + try { el.select(); document.execCommand('copy'); } catch (e) {} + if (navigator.clipboard && window.isSecureContext) { + navigator.clipboard.writeText(val).catch(function () {}); + } + if (btn) { + var old = btn.innerHTML; + btn.innerHTML = ''; + setTimeout(function () { btn.innerHTML = old; }, 1200); + } +} + function copyGowaWebhook() { var el = document.getElementById('gowa_webhook_url'); if (!el) return;