Changelog
Complete ZapVox release history.
“Send now” button, “Clear sent”, and a more readable scheduling screen
- 🚀 Send now — each scheduled message now has a button to fire it right away, without waiting for its time. Great for testing. It still respects every safety limit.
- 🧹 Clear sent — removes all already-sent, failed or expired schedules at once, keeping the list clean.
- More readable safety screen — the fields (allowed hours, minimum interval, limits) were reorganized with the label on top and the field below, fixing the misalignment.
Message scheduling actually sends again
- Sending fixed — in some cases the scheduled message was typed into the chat but not sent, staying as a draft. We rewrote sending using WhatsApp's native mechanism: now the text (including multi-line messages) is filled in and sent reliably.
- No page reload — sending happens without refreshing WhatsApp Web, quietly in the background.
Safer scheduling: it checks the recipient before sending
- Double recipient check — before sending, ZapVox confirms through two independent sources that the open chat really is the right contact. When in doubt, it doesn't send — avoiding messages to the wrong person.
- Navigation without reloading — opening the right conversation no longer requires a page refresh.
- More punctual timing — we tuned the send randomization so it never fires early.
Schedules synced across computers
- Switch PCs without losing anything — your schedules are now saved to your account and show up on any computer you sign in on.
- Manage from the dashboard — view, edit the text, reschedule, pause or delete your schedules right from the ZapVox dashboard on the website.
- Click Pro features — tapping a Pro-only feature opens the pricing page in your language.
Scheduling fixes: the list is back, variables moved into the WhatsApp mini-popup, and the hidden menu
- The schedule list is back — we fixed a case where the list (and the form) disappeared for non-Pro users because the plan notice was wiping out the section. Everyone can see their schedules again.
- Variables moved into the WhatsApp mini-popup — the variables (
{{name}}, {{date}}…) moved out of the extension popup and into the scheduling mini-popup inside WhatsApp itself. The popup is cleaner and you insert variables right where you write the message.
- No more menu hidden in the corner — fixed a visual glitch where the inline menu got stuck in the screen corner when WhatsApp was disconnected.
One active browser per account
- One active session at a time — your ZapVox account is now active in one browser at a time. If you sign in on another browser or computer, the most recent session takes over and the previous one shows a friendly notice.
- "Use here" button — from the notice, one click brings the session back to the current browser, no need to sign out and back in.
- Server-side check (newest wins) — protection against shared-account use. You're still free to switch between your own devices anytime. Need several browsers at once? Talk to us at [email protected].
Message scheduling becomes a Pro feature (Free gets 3 per day)
- Scheduling messages is now part of Pro — on Free you can schedule up to 3 messages per day to try it out; on Pro it goes up to 100/day (fair-use that protects your number).
- Server-side plan and quota check — verification now happens reliably on the server, counting the day's schedules.
- Gentle notices — when you get close to or hit the Free limit, a light notice appears with the option to check out Pro, without blocking your flow.
- On-screen reminders (🔔) stay free on every plan.
Scheduling gets a visual refresh
- New look — we polished the Scheduling and Reminders sections: spacing, icons, status badges, and the form are clearer and nicer to use.
- No behavior changes — just prettier and easier to read. All safety controls and limits stay exactly the same.
Reminders (🔔) and Scheduling (📅) are now separate sections at the front of the popup
- Two distinct sections — Message scheduling (📅, sends to a contact at a set time) and Reminders (🔔, on-screen alerts just for you) now each have their own accordion, right at the top of the popup.
- Nothing buried anymore — scheduling is no longer hidden inside "💬 Chat tools". Open the popup and both are right there in front.
- Each with its own icon — 📅 to schedule messages, 🔔 for personal reminders. No more mixing up "send to someone" and "remind me".
- Everything still works the same — the status list, "🔒 Sending safety", the variables (
{{name}}, {{date}}…) and the anti-block limits are exactly as before, just easier to find.
Safety controls always visible + weekly cap + live usage
- Sending safety always visible — the protection controls (allowed hours, minimum interval, limits, missed-message policy) now show right below the schedule list, without needing to open the form. Nothing stays hidden.
- New weekly limit — on top of the hourly (20) and daily (100) limits, there's now a weekly limit with a default of 300 sends and a fixed safety cap of 500. If the week is exceeded, sending is deferred (never lost).
- Live usage counters — next to the limits, you see how much you've used: "Hour: X/20 · Day: Y/100 · Week: Z/300". It's highlighted once you pass 80% of the cap.
- Clear status on every wait — when a send is deferred by hitting a limit, the item shows "⌛ Waiting (hourly/daily/weekly limit)" instead of looking like a silent failure. Real errors still show the reason.
- 8s floor reinforced — the caption makes it clear: randomness can only increase the spacing between sends, never drop it below 8 seconds.
Full schedule list + stronger anti-block protection
- Full schedule list — the scheduling section now shows all items (messages and reminders) with recipient, message snippet, time, and a status badge: ⏳ Scheduled, ✅ Sent (with the time), ❌ Error (with a readable reason — "number has no WhatsApp", "limit reached", etc.), ⏸️ Paused, 🚫 Skipped, and ⌛ Waiting for allowed hours.
- Per-item actions — ✏️ Edit (reopens the form to change text, time, or recipient), ⏸️/▶️ Pause/Resume, ✅ Mark done (marks it complete and removes it from the queue), and 🗑️ Delete.
- More quick variables — on top of Name and Full name, now also Date, Time, Date & time, and Weekday, inserted with one click.
- Anti-block floor — the minimum interval between sends now has an 8-second floor (cannot be disabled): even in a burst, sends stay 8–20 seconds apart to protect your number.
- "If WhatsApp was off" — a new option for missed messages: send as soon as possible, only if it's the same day, or send all even if late (with a 48h safety cap).
Scheduling fixes and improvements
- No more repeated resends — fixed a case where a scheduled message could be resent in a row when the send result was uncertain (e.g. the tab reloading mid-send). Now, when in doubt, ZapVox never resends: each one-time schedule sends at most once.
- Sending-safety controls — a new section to set allowed hours (any time, business 8am–6pm, or custom), a minimum interval between sends, and per-hour/per-day limits. Outside the window, sending is deferred to the next window — never dropped. The anti-ban ceilings (20/hour and 100/day) stay fixed.
- Message variables — quick buttons to insert Name, Full name, Date, Time and Weekday, auto-filled with the recipient at send time.
- Front-page shortcut and clearer error messages (number not on WhatsApp, limit reached, contact with no recoverable phone number).
New
- Message scheduling v3 — sending messages at the scheduled time is back, now with the recipient locked in when you create the schedule and a new engine based on WhatsApp's official link: it opens the correct chat and pre-fills the text, far more reliable than the previous approach. Still opt-in (off by default), with jitter and safety limits (20/h, 100/day) to protect your number. Available for individual chats only — groups are not supported.
Fixes
- Side panel on Microsoft Edge — the button that opens the side panel didn't work reliably on Edge (the browser has its own sidebar and the API behaves unpredictably there). On Edge, ZapVox now opens in a floating window — same content, predictable behavior. Nothing changes on Chrome.
Improvements
- Glossary v2 (Pro) — besides guiding the AI during transcription, the glossary now applies a deterministic post-correction step that guarantees the exact spelling of your terms (names, products, jargon) in the final text.
Transparency & limits
- Fair-use limits in audio minutes — besides the number of operations, plans now also track audio minutes per day, with limits documented per plan.
- Daily window in Brasília time — the limits "day" now resets at midnight Brasília time, no longer UTC.
- Terms of use v1.3 — explicit per-plan limits and clearer, consumer-friendly language.
Plan changes
- Chat tools are now Pro/Trial — 🔎 transcript search, 📄 export transcripts (.txt) and 📋 whole-chat summary are now part of the Pro plan (and the 7-day Trial). On the Free plan, the buttons show a 🔒 lock with an invitation to check out Pro.
- Trial users keep using everything as before — nothing changes until the 7 days are up.
A tidier popup
- New 💬 Chat tools section — transcript search, daily digest and reminders became subsections inside a single accordion. The popup goes from 7 to 4 top-level sections: cleaner and easier to find things.
- Auto-send toggles together — the auto-send options for individual chats and for groups now sit side by side, in the same section.
- The link to configure keyboard shortcuts (
chrome://extensions/shortcuts) is now always clickable on the popup home screen.
Improvements
- Productivity-focused daily digest — the daily summary got a dedicated prompt: organized per conversation (📌), highlighting action items and scheduled commitments. Less prose, more what-to-do.
- Click to copy — any item in the daily digest or search results goes to your clipboard with one click.
- Contact/chat name highlighted in search and digest results.
New
- 🗞️ Automatic daily digest (Pro/Trial) — at the time you choose, the AI gathers all the voice messages you received during the day and delivers a single summary, as a notification and in the ZapVox panel. No need to open chat after chat.
New
- 🔎 Search your transcribed voice messages — find any word ever said in your audios right from the side panel. Case and accent-insensitive, 100% local — nothing leaves your browser. Ctrl+F for your voice.
New
- 📖 Custom glossary (Pro) — teach the AI the terms of your daily routine (medication names, legal jargon, proper nouns) and transcriptions spell them exactly right. Saved to your account.
- E-mail sign-in — a third way to sign in: receive a code by e-mail, no Google or Microsoft account needed. The flow picks up where it left off even if the popup closes.
- Long audios transcribed end-to-end — multi-minute voice messages are no longer cut short: the transcription covers the whole message, start to finish.
- ⏱️ Time-saved counter in the panel — see how many minutes of audio you didn't have to listen to.
Fixes
- Phase 7 — extended retry for group audios — in busy groups, WhatsApp takes longer to hydrate audio metadata. Added an extra retry phase with 8s of additional wait after all other strategies fail, before showing a loading error.
- Friendlier audio error message — suggests clicking again manually before asking for an F5.
- Improved diagnostics in logs (includes
isGroup and msgType flags).
Tests
- 397/397 tests green (4 new ones covering v3.4.14 error patterns).
Summaries in impersonal voice
- Summaries and topics no longer attribute actions to proper names — before: "Rafael needs to do X". Now: "X needs to be done". Avoids confusion (the reader can't tell if they are the sender/recipient/observer in a group) and eliminates attribution errors.
- Proper names are preserved when they truly matter ("Call Dr. Silva at 3pm", "PIX payment to XYZ Store").
- Edge Functions
summarize v14 and topics v17 deployed.
Milestone
- ZapVox approved by Google and officially published on the Chrome Web Store. Available to everyone — install it free at chromewebstore.google.com.
Fixes
- Copy bug fix: duplicated watermark — copying a transcription manually duplicated the "🎙️ zapvoxia.com.br" watermark. Now built from a single deterministic source.
- CSS contrast fix — in dark mode, transcriptions could become unreadable due to a hardcoded
color: #111. Fixed with WCAG AAA contrast in both themes.
- Manifest source consistency — Supabase host_permissions aligned between source and dist.
New
- Universal glass morphism on the transcription card — works with any WhatsApp theme and any custom wallpaper (photo, gradient, solid color). Near-opaque background with
backdrop-filter: blur(14px) saturate(1.4) guarantees readability in 100% of scenarios.
- WCAG AA 7:1 contrast enforced.
- Automatic adaptation via
prefers-color-scheme + body[data-theme].
New
- Sentiment cache — analysis survives an F5 (7-day TTL, no API cost on re-render).
- BETA badge in the popup.
- Adaptive theming via WhatsApp's native CSS variables.
UI cleanup
- Inline 🎭 Sentiment button — tone analysis right on the audio card. Result shown in a separate chip, never contaminating copy/auto-send.
- "Topics" button removed (orphaned since v2.2.1 merged topics into summaries).
Critical fix
- Bug: Portuguese audio transcribed in English. In "Automatic (SmartLang)" mode the Service Worker fell back to
navigator.language, which returned en-US on Chromes with an English UI — forcing Whisper to transcribe Portuguese audio into odd English. Fixed to let Whisper auto-detect from the audio itself.
Fixes
- GET_USER_PLAN handler fixed — Pro users were blocked with "Scheduling is Pro-only" even while paying, because the handler was missing.
- Friendlier deleted-messages UX — instead of automatically replacing deleted content, shows an opt-in "🔓 View original (ZapVox)" button. More respectful and aligned with the CWS Single Purpose Policy.
Robust cascade
- Deterministic 5-phase cascade for audio loading (Phases 1a/1b/2/3/5) — replaced trial-and-error polling with WhatsApp's own internal primitives.
- Phase 5 — manual decrypt in the Service Worker — last resort when every other phase fails. The SW fetches from WhatsApp's CDN, derives keys via HKDF-SHA256, verifies HMAC and decrypts AES-256-CBC.
- Opt-in telemetry (client) — events sanitized through an explicit whitelist.
Structural changes
- Deleted message recovery (text + images + videos + audios) via local IndexedDB cache with a 7-day TTL. Opt-in in the popup.
- Sentiment analysis as a post-transcription action (BYOK + Cloud).
- Topics merged into Summary — summaries now automatically include the key points.
- Local Whisper removed — the product is now 100% cloud-first (BYOK Groq → BYOK OpenAI → Cloud Edge cascade).
- Free now includes 10 cloud transcriptions/day + BYOK without ZapVox limits (your own key quota applies).
Fixes
- Local transcription is now free for all users (discontinued in v2.2.0 — today it is 100% cloud)
- The 3/day limit now applies only to cloud operations (summary, topics)
- Limit check moved to after local transcription in the transcription cascade
Security
- Removed an administrative debug handler — it allowed improper escalation to Pro
- Removed a debug handler — same vulnerability
Governance
- Version unified across all files (manifest, package.json, popup, docs)
- CHANGELOG rebuilt with complete v1.0–v1.7.7 history
Improvements
- Immutability of critical toggles protected
- web_accessible_resources consolidated in the manifest
- Stability improvements in audio detection
New
- Topic summaries — besides free-form summaries, now with key-point extraction
topics Edge Function for server-side processing
- Summary/topics selector in the popup
Improvements
- BYOK Groq — your Groq key as Strategy 2 in the cascade
- AES-GCM 256-bit encryption for BYOK keys (PBKDF2 600k iterations)
- 7 exclusion layers + 5 positive strategies for audio detection
- Hardware compatibility page
Fixes
- PDFs/documents no longer mistaken for audio
- Native notification always active
- Translation auto-refresh token
- Duplicated transcription fixed
Launch
- Chrome MV3 extension for WhatsApp Web
- Local transcription with Whisper WASM
- Google login via Supabase Auth (PKCE)
- Free/Pro plans with Stripe
- 4-strategy transcription cascade
- 6 Edge Functions (auth, translate, summarize, topics, checkout, webhook)