V40-V43: band umur vote (BARU/VALID/KADALUARSA, scan simpan semua umur) → REVOTE = VALID langsung (V42) → tag mint 1-hari + badge VOTE ULANG SEGERA (V43) ; klaim recovery jendela lewat + parse respons dict rows (B7/B8) ; backend mysql test_mariadb ; oracle test_dashboard/distribute/get_voters/mariadb ; images web/scan/dist/claim rebuild + push

This commit is contained in:
proitlab committed 2026-08-07 12:07:34 +07:00
1 parent af9a0291b9
commit 81ec6bdfe7
17 files changed
+914 -148

No files matched your search

+21 -1
View File
@@ -43,9 +43,29 @@ DASH_PORT = int(os.getenv('DASH_PORT', '5000'))
# Dashboard: jumlah worker gunicorn (produksi)
DASH_WORKERS = int(os.getenv('DASH_WORKERS', '2'))
# Ambang batas vote "basi" (hari tanpa revote) — pemilih lewat batas ini dibuang di scan
# Ambang batas vote "basi" (hari tanpa revote). Sejak V40 pemilih lewat batas
# ini TETAP disimpan di scan (basi dibuang hanya saat tampil/bayar): band
# kadaluarsa 28..31 hari tetap tampil (sorot VOTE ULANG), >31 hari disembunyikan.
VEX_STALE_DAYS = int(os.getenv('VEX_STALE_DAYS', '28'))
# Masa matang (hari): pemilih baru (revote < VEX_MATURITY_DAYS lalu) BELUM
# berhak reward (⊥ dibayar distribusi) hingga votenya berumur ≥ ambang ini.
VEX_MATURITY_DAYS = int(os.getenv('VEX_MATURITY_DAYS', '3'))
# Jendela "kadaluarsa" (hari SETELAH VEX_STALE_DAYS) yang masih tampil di
# dashboard (band sorot VOTE ULANG). Lewat 28+3 = 31 hari → disembunyikan.
VEX_EXPIRED_DAYS = int(os.getenv('VEX_EXPIRED_DAYS', '3'))
# Tag REVOTE (mint) bertahan (hari) sejak revote terakhir: hanya pemilih lama
# yang revote dalam `VEX_REVOTE_TAG_DAYS` terakhir diberi tag; setelah itu
# tampil sbg VALID biasa (tetap dibayar langsung — V42, ⊥ tunggu matang).
VEX_REVOTE_TAG_DAYS = int(os.getenv('VEX_REVOTE_TAG_DAYS', '1'))
# Jendela peringatan (hari SEBELUM VEX_STALE_DAYS): pemilih VALID yang
# `now − STALE < last_vote ≤ now − (STALE − WARN)` diberi badge `VOTE ULANG
# SEGERA` (segera kadaluarsa, masih dibayar).
VEX_WARN_DAYS = int(os.getenv('VEX_WARN_DAYS', '3'))
# API databisnis untuk saldo liquid akun (balance BP, disajikan dashboard)
DATABISNIS_API = os.getenv('DATABISNIS_API', 'https://api.databisnis.id')