0.4.30
- Guardrail G1:
classifyTargetEnv+ heuristik URL/host (dev-* vs prod) - Guardrail G2: unit test per kanal + wire otomasi runner (
channel=automation) - Guardrail G3:
/prod-ops audit [n]+ Docs AI gate (jika belum)
0.4.29
- Guardrail G0:
assertChatGuardraildi External, web chat, Live, Codespace, Telegram - CRP develop + trigger deploy Optima/Sangga: steward-only (bukan allowlist TTL)
- Steward baru:
[email protected]
0.4.27
Fixes
- Chat Telegram web → bot: pesan dari
/chat-telegramdi-mirror ke DM Telegram (sebelumnya hanya DB bersama; balasan agent tidak muncul di bot).
Features
- Kirim file dari Chat Telegram web: tombol lampiran (PDF/DOCX/XLSX/gambar/teks); file di-upload, diekstrak untuk agent, disimpan ke workspace, dan dikirim ke Telegram.
Tests
web-sync.test.ts— format body notifikasi sync web→Telegram.
0.4.25
Features
- Optima Curated API (STG): CLI
optima-curated.mjs+ clientoptima/curated.ts; broker hint agar agent query data Optima lewat curated (capability-gated), bukan SQL mentah. - Codespace browse URL:
/codespacelist/status/new + broker hint menampilkan URL vibe-proxy prototype. - Telegram HTML tags: perluas sanitize/parse (
blockquote,tg-spoiler,tg-emoji,span) untuk progress live + bubble web.
Tests
run-progress.test.ts,code-vibe-browse.test.ts, perluasanformat.test.ts.
0.4.24
Fixes
- Codespace mobile: parent shell pakai
flex-coldi layar sempit (sebelumnyaflex-row— nav dan IDE berjejer, layout berantakan). - Strip nav IDE fixed height ~2.75rem di atas; admin links disembunyikan di strip mobile; IDE isi
h-full.
0.4.23
Codespace IDE mobile
- Layout tab Files / Editor / Agent di layar sempit
- Shell IDE: nav strip ikon + tanpa footer/padding di detail codespace
- Agent panel full-width di mode mobile
0.4.22
Improvements
- Sangga Live UX (staging): chatbox lebih lebar & responsive; render markdown via
renderChatHtml; mic continuous ala Jarwo (silence submit); TTS browser + tombol henti / auto-stop 45 dtk.
0.4.19
Fixes
- Chat transcript HTML: parse tag Telegram (
b/i/code/a/…) di live thinking + bubble Chat Telegram/Workspace; escape tag asing. - Codespace browse URL:
/codespacelist/status/new menampilkan URL vibe-proxy; broker hint prototype URL.
0.4.18
Features
- Codespace Web IDE (staging): panel Agent (column2) bisa di-resize drag; preview Markdown show/hide saat edit
.md/.mdx.
0.4.17
Features
- Codespace Web IDE — Fase D (staging): diff pasca-agent (snapshot → daftar file A/M/D + unified diff) dan drag-drop upload ke file tree (maks 5 MB/file).
0.4.16
Features
- Codespace Web IDE — panel agent (staging): kirim instruksi vibe dari side panel; job masuk antrean yang sama dengan Telegram; poll status di web.
0.4.15
Features
- Codespace Web IDE (staging): menu
/codespaces, file tree, CodeMirror 6, save/autosave, Quick Open, FS jail.
0.4.14
- ProdOps: steward bootstrap + steward-add; whitelist TTL default 7 hari; gate broker + /prod-ops
- Shared allowlist DB: /data/vibe-code/.sangga-shared/prod-ops.db (prod & STG)
0.4.12
- Fase 4a/P0: mode unified — inject Workspace + Codespace bersamaan;
/assistantbukan saklar mode lagi
0.4.11
- Sembunyikan thread Chat Telegram dari history workspace; deep-link
?conv=redirect ke/chat-telegram
0.4.10
- Chat Telegram: tombol menu perintah bot (daftar BotFather) di input, mirip apps Telegram
0.4.9
- Chat Telegram sebagai menu sidebar + laman sendiri (
/chat-telegram), bukan hanya thread di dalam workspace
0.4.8
- External API: GET /conversations + /conversations/:id/messages (pull history Telegram/Optima)
Changelog
Format mengikuti Keep a Changelog. Versi mengikuti Semantic Versioning.
[Unreleased]
[0.4.11] - 2026-08-05
Changed
- Thread Chat Telegram tidak lagi muncul di history chat workspace (akses lewat menu )
- Deep-link redirect ke
[0.4.10] - 2026-08-05
Added
- Laman
/chat-telegram: tombol menu perintah bot (list BotFather) di samping input, seperti menu command di apps Telegram - Modul
telegram-bot-commands.tssebagai sumber daftar perintah
[0.4.9] - 2026-08-05
Added
- Menu sidebar Chat Telegram dan laman
/chat-telegram(thread sync Telegram↔web sebagai fitur top-level) - Helper
ensureChatTelegramThreaddichat-context
[0.4.8] - 2026-08-05
Added
- External API: GET
/conversations+/conversations/:id/messages(pull history Telegram/Optima)
[0.4.7] - 2026-08-05
Added
- External API sync ke Telegram/web: body opsional
syncpadaPOST /api/v1/external/chat - Persist turn ke workspace bernama (default Optima) tanpa mengubah pointer DM Telegram
- Notify DM bot (satu bubble final) bila
telegram_linksapproved - Response job
donemenyertakanconversationId+telegramNotified
Changed
- Client tanpa
synctetap perilaku lama (backward compatible)
[0.4.6] - 2026-07-22
Fixed
- Overlap konten halaman (mis. Settings/Profil) dengan footer versi: wrapper konten tidak lagi
min-h-0, sehingga scroll di<main>dan footer tidak tertimpa.
[0.4.5] - 2026-07-22
Fixed
- Timestamp workspace di list web yang tampil jauh ke masa depan (nilai ms legacy dinormalisasi ke detik untuk Drizzle
mode: 'timestamp').
Added
- OnlyOffice multi-tipe: edit DOCX / XLSX / PPTX (
documentTypeword/cell/slide). - Menu New document (Word / Excel / PowerPoint) + upload OOXML ke Documents.
- Kolom
workspace_docs.file_type; upload Files.docx/.xlsx/.pptxjuga jadi dokumen editable.
Changed
- Plugin Workassist AI hanya untuk DOCX (cell/slide tanpa plugin AI).
[0.4.4] - 2026-07-21
Changed
/codespace share|unsharewajib sebutkan<slug>— share per project saja (bukan semua Codespace).- Tolak keyword
all/semua/*pada share/unshare.
[0.4.3] - 2026-07-21
Added
- Sharing Codespace antar user Telegram (ACL Editor):
/codespace share|unshare|members. - Kolom
active_code_project_id+ tabeltelegram_code_project_members; agent/editor memakai path folder owner.
Changed
/codespace listmenampilkan owned ∪ shared (label◀ shared · owner@…).- Upload
.zip/.htmldan resolve workspace agent mengikuti Codespace aktif (termasuk shared).
[0.4.2] - 2026-07-20
Fixed
- Telegram foto + caption perintah kembali diproses (regresi sejak skill system):
message.phototidak lagi diabaikan diam-diam. - Dokumen PDF/DOCX/XLSX/gambar ke agent via ekstraksi teks + caption (bukan hanya key/code upload).
- Grup: media + caption/
caption_entitiesatau reply ke bot ikut diarahkan ke agent.
[0.4.1] - 2026-07-19
Fixed
- Cursor NDJSON terakhir tetap diproses walau tidak diakhiri newline.
- Respons Cursor kosong tidak lagi disimpan sebagai
(no response): Sangga mengambil ringkasan hasil sekali, lalu menandai job gagal bila tetap kosong. - Diagnostik respons kosong mencatat exit code, jumlah event, session ID, dan potongan stderr.
[0.4.0] - 2026-07-19
Added
- Telegram dapat membuat Workspace web melalui
/workspace new <nama>atau permintaan natural seperti “buat workspace baru bernama …”.
Changed
- Pembuatan Workspace web dan API web memakai helper yang sama; permintaan “code workspace” tetap diarahkan ke Codespace.
[0.3.1] - 2026-07-19
Added
- Tombol inline pada
/codespacedan/codespace listuntuk berpindah Codespace langsung dari Telegram.
Fixed
- URL staging dipatok ke
dev-sangga.cartenz.co.idagar tidak mewarisi URL production dari environment Docker Compose.
[0.3.0] - 2026-07-19
Added
- Tiga job agent paralel dengan child process, runtime Cursor/MCP, dan identitas sudo per job.
- Istilah dan perintah
/codespaceuntuk proyek vibe code;/codetetap menjadi alias. - Codespace production/staging bersama dan adopsi otomatis proyek lama dari filesystem.
- Manual Workspace/Codespace di
docs/user-manual-workspace-codespace.md.
Changed
- Snapshot progress Telegram private maupun grup dibatasi satu update per 10 detik.
- Telegram
429mengikutiretry_after; kegagalan delivery tidak menahan status terminal job. - Workspace berarti ruang dokumen/KB/OnlyOffice; Codespace berarti ruang source code.
Fixed
- Migrasi
execution_duration_msdan update terminal job atomik. - Lock Codespace mencegah dua job paralel menulis direktori yang sama.
- Key snippet proxy memakai kombinasi direktori email dan slug.
[0.2.22] - 2026-07-17
Added
- Triple-track agent queue: hingga 3 job paralel via
AGENT_MAX_CONCURRENT(default 1, staging=3) claimNextJobs()— claim multi-slot FIFO dengan skip workspace bentrok- Cancel job per
jobId—killActiveAgentChild(jobId)tidak menghentikan job lain /statusmenampilkanN queued | M running (max K)
[0.2.21] - 2026-07-16
Fixed
- Workspace code (
serve.mjs): perbaikifinddepth distart-vibe-code-servers.shagaruser/project/start.shterdeteksi — auto-start saat boot/deploy tidak lagi skip semua proyek ensure-vibe-code-proxy.sh: nginx snippet ke127.0.0.1:312x(bukan IP container) + hot-deploy panggil ulang setelah restart
[0.2.20] - 2026-07-16
Added
- Telegram: terima source
.zip/.htmldi mode/code— ekstrak ke proyek vibe code aktif (workspace code) - Bantuan
/helpdan status/codemenyebut unggah ZIP/HTML
[0.2.19] - 2026-07-16
Added
- Sync chat Telegram ↔ web: workspace default + thread bersama (
conversations), pointeractiveConversationId - Perintah
/workspace,/thread,/new(Telegram & slash di web chat) memakai konteks yang sama - Migrasi sekali riwayat
telegram_chat_messages→ threadChat Telegram - API
/api/chat-context(GET/PATCH) untuk pointer aktif - Home = daftar workspace;
/workspacesredirect ke/(nav Workspaces dihapus)
Fixed
- Telegram ATTACH: laporkan nama file yang disebut tapi tidak ketemu (dari hotpatch 0.2.18)
- Prompt sistem file Telegram dikembalikan ke process-job
[0.2.18] - 2026-07-14
Fixed
- Telegram ATTACH: laporkan unresolved +
telegramFileSystemPromptdi process-job (hotpatch production)
[0.2.17] - 2026-07-14
Fixed
- Telegram: wiring ulang
ATTACH:di process-job (parseOutboundAttachments + sendDocument/sendPhoto) — sebelumnya outbound.ts ada tapi tidak dipanggil, jadi file PDF/dokumen tidak terkirim ke chat/grup
[0.2.16] - 2026-07-12
Added
- Telegram: terima dan simpan file VPN .ovpn / .vpn / .wg (selain .pem / .ppk) per user untuk perintah berikutnya
[0.2.15] - 2026-07-12
Added
- Telegram: terima dan simpan file kunci .pem / .ppk per user (untuk perintah berikutnya)
- Perintah /key (alias /keys, /kunci) — daftar / hapus file kunci tersimpan
[0.2.13] - 2026-07-08
Changed
- Grup Telegram: progress blob di-update maksimal tiap 10 detik (anti flood limit)
- Grup Telegram: balasan final di-edit ke pesan status yang sama (bukan kirim banyak pesan baru)
- DM tetap update progress tiap 2 detik seperti sebelumnya
[0.2.12] - 2026-07-08
Added
- Perintah dan instruksi agent di grup Telegram (mention bot) — user approved bisa /status, /antrian, instruksi coding, dll. langsung di grup
Changed
- User belum aktivasi yang mention bot di grup tetap diarahkan registrasi lewat DM
- Sambutan join grup diperbarui
[0.2.11] - 2026-07-08
Changed
- Bot Telegram tetap di grup/supergroup (hanya keluar dari channel)
- Sambutan otomatis saat bot ditambahkan ke grup
[0.2.10] - 2026-07-08
Fixed
- Voice note Telegram: kirim
Authorization: Bearerke Whisper (WHISPER_API_KEY) - Script
sync-whisper-api-key.sh— salin token dari container whisper ke env prod/staging
[0.2.9] - 2026-07-08
Added
- Perintah Telegram /antrianglobal (alias /globalqueue, /antrian global) — lihat antrian job semua user dengan pemilik, channel, dan mode
[0.2.7] - 2026-07-08
Fixed
- Timestamp agent_jobs konsisten (detik) — timeout & urutan antrean benar
- Progress Telegram: fallback plain text, log error, ticker waktu sementara 5 detik, flush final
[0.2.6] - 2026-07-08
Added
scripts/host-deploy.sh— deploy staging/production dari host (background), aman dipanggil agent via sudoscripts/ensure-staging-up.sh+ensure-compose-app.sh— watchdog & health-check post-deploy- Requeue otomatis job
runningsaat container restart + notifikasi Telegram
Changed
- Progress Telegram: waktu eksekusi sementara di setiap update pesan progress
- Agent diinstruksikan pakai
host-deploy.sh, bukandocker compose down/stop
[0.2.5] - 2026-07-08
Changed
- Permintaan hubung Telegram dikirim ke semua user Administrator (role
admin) yang sudah terhubung ke bot — bukan hanyaTELEGRAM_APPROVER_IDS. - Approver Telegram: user dengan role Administrator + link Telegram approved, plus fallback env
TELEGRAM_APPROVER_IDS. - Halaman Admin → Telegram (
/admin/telegram) untuk setujui/tolak permintaan dari web.
[0.2.4] - 2026-07-07
Added
- Agent skills system (playbook procedural memory,
/skill, auto-draft setelah task kompleks) - Footer waktu eksekusi di setiap balasan agent Telegram
Changed
- Audit log untuk perintah SSH via host
[0.2.3] - 2026-07-07
Added
- PDF workflow:
pdf-workflow.ts,scripts/render_pdf.py,render_diagram.py,fix_mermaid_svg.py - Dokumentasi
docs/PDF-WORKFLOW.md+ pinned@mermaid-js/mermaid-clidi rootpackage.json
Changed
- Telegram outbound prompt: dukungan SVG, instruksi pipeline PDF/Mermaid, tanpa branding default
[0.2.2] - 2026-07-07
Added
- Vibe-proxy: reverse-proxy subpath vibe apps lewat Sangga (
/muhammad_fajar_cartenz_co_id/...) - Env
VIBE_PROXY_ROUTESuntuk override upstream (prefix=origin, comma-separated)
[0.2.1] - 2026-07-07
Added
- Telegram: terima file PDF, DOCX, XLSX, gambar (+ caption) — ekstrak teks otomatis
- Telegram: kirim balik file via
ATTACH: nama.ext(sendDocument / sendPhoto) - Ekstrak konten spreadsheet XLSX (SheetJS)
Changed
- Help
/helpdan prompt agent menyertakan instruksi file Telegram
[0.2.0] - 2026-07-06
Added
- Telegram
/antrian— lihat antrian job agent tanpa cursor-agent - Sudo gate Telegram + progress live saat agent jalan
- Notifikasi user saat agent job timeout
Changed
- Parse output agent markdown → Telegram HTML (bold, code, link, tabel)
- Timeout agent job dinaikkan ke 15 menit (prod & staging)
Fixed
- Agent job macet dengan timeout & stale recovery
- Bootstrap DB staging yang tidak lengkap
version.tsaman di bundle browser
[0.1.0] - 2026-06-29
Added
- Label versi di footer web (semua halaman) + sidebar navigasi
- Telegram:
/version, pertanyaan natural ("versi berapa?"), dan baris versi di/status - Build metadata: commit git + tanggal build (via
VITE_APP_GIT_SHAsaat deploy)
Changed
- Versi aplikasi naik ke 0.1.0 (sinkron
package.json)
[0.0.1] - 2026-06-26
Rilis awal WorkAssist yang ditandai untuk production & staging.
Added
- Real-time streaming chat workspace (SSE) dengan UI mirip Cursor
- Agent tools: KB search, baca PDF/DOCX, buat/edit dokumen
- OnlyOffice editor + plugin AI sidebar
- Admin: pengguna, role, API clients, penyimpanan, AI provider global
- Google OAuth (
@cartenz.co.id), external API v1 - Sidebar collapsible, changelog & label versi di navigasi
Changed
- Staging memakai production build (bukan Vite dev) agar perilaku UI sama dengan production
- AI provider dikelola global di Admin (bukan per-user)
Fixed
blocks is not iterablesaat bot membuat dokumen dari ringkasan PDF- FOUC / loncatan font di staging
- OnlyOffice JWT secret selaras antara app dan container
- Navigasi admin & hydration layout