Skip to content

Releases: Avithegod2010/WA-archiver

WA Archiver v1.9.1

Choose a tag to compare

@github-actions github-actions released this 24 Oct 15:57

Added

  • Selective restore — "Choose chats…" next to Pull & restore (and in
    the snapshot history): the backup is pulled + decrypted first, then a
    picker lists its chats (search, select all/none, live summary) and only
    the chosen ones are restored — existing chats merge as before. Full
    restore remains the default path.
  • PDF transcript export — "PDF document" in the chat export menu
    renders a clean A4 transcript (date separators, sender colors, reply
    quotes, reactions, starred/edited/pinned flags, media placeholders) and
    prints it through the system pipeline — Android print framework ("Save
    as PDF") in the APK, print dialog on desktop. Zero dependencies.
  • One-tap APK download — the update-available toast gains a "Download
    APK" action that fetches the latest universal APK straight from GitHub
    Releases (silent failure handling, "View release" kept).
  • Voice-note transcription sync — on-demand whisper transcripts now
    travel inside the encrypted backup: the server producer attaches
    transcript fields (from its AppSetting cache), the device producer
    from its localStorage cache; both importers restore them
    cross-transport (server ⇄ device). Absent field = no-op for old
    envelopes. Import results report transcriptsRestored.
  • Monthly digest — new Insights section: pick any month and get a
    recap card (total messages, active days, busiest day, sent-by-you %,
    top emoji, top 3 chatters, fun fact) with its own 1080×1440 shareable
    PNG. Server mode falls back to a lite digest from existing stats.
  • Snapshot file import (offline restore path) — "From file…" next to
    Pull & restore imports any previously saved encrypted .wasync snapshot
    straight from disk with just the sync passphrase — no cloud config needed.
    Completes the loop: cloud snapshot → Save file → share by any channel →
    import here. Incremental delta files are rejected with guidance (their
    chain lives in the cloud).
  • Snapshot comparison viewer — "Compare" in the snapshot history shows
    what differs between a stored snapshot and the live cloud copy: chat and
    message totals on both sides, chats only in the snapshot, chats added
    since, and the biggest per-chat message deltas — read-only, nothing is
    restored.

Fixed

  • Update-check toast teaser now skips markdown headers/link definitions and
    shows real release-note content.

Internationalization

  • Insights dashboard and Media Hub fully localized: 141 new keys across
    en / hi / ur / mr / ta (KPIs, sections, tabs, toasts, empty states).
  • Snapshot file import / compare viewer / selective restore / PDF export /
    update download / monthly digest strings localized — 59 new keys across
    en / hi / ur / mr / ta.

Full changelog: v1.9.0...v1.9.1

WA Archiver v1.9.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 08:01

Added

  • Scheduled-message delivery on device (APK) — pending scheduled
    messages are mirrored to native Android notifications (AlarmManager via
    Capacitor Local Notifications): the reminder fires at deliverAt even when
    the app is closed, tapping it dispatches immediately and opens the chat.
    POST_NOTIFICATIONS / SCHEDULE_EXACT_ALARM / RECEIVE_BOOT_COMPLETED wired
    in the manifest; the in-app 20 s poller stays the web delivery path.
  • One-bundle multi-device transfer (QR / zip pairing) — "Move to
    another device" in the Cloud sync card packs the provider config + sync
    passphrase into one portable pairing code, shown as a QR (in-app camera
    scanner on Android/Chromium via BarcodeDetector) plus a copy-paste code.
    The receiving device adopts the config and pulls the SAME encrypted
    .wasync bundle — the last roadmap checkbox.
  • Google Drive refresh-token flow — a real OAuth authorization-code
    exchange replaces paste-a-token on the web build: enter your own Google
    Cloud client id/secret once, hit "Connect Google Drive", consent, and the
    app lands back with a long-lived refresh token. Access tokens rotate
    themselves before every provider call (ensureFreshGdriveToken, with the
    same-origin /api/gdrive-oauth exchange proxy and a direct-endpoint
    fallback for the APK).
  • S3 multipart uploads — encrypted envelopes larger than 8 MB stream to
    S3-compatible buckets in 8 MiB parts (CreateMultipartUpload → UploadPart →
    CompleteMultipartUpload, with orphan-part abort on failure), server proxy
    and device direct paths alike; >100 MB backups no longer ride a single PUT.
  • Incremental .wasync pushes — optional hash-chained snapshot deltas:
    timestamped snapshots upload only chats whose content hash changed since
    the previous snapshot (full snapshot every 5th push; chain files survive
    pruning; restoring any delta walks its parent chain and merges up to a
    self-contained backup automatically).
  • Selective per-chat cloud sync — "Sync only selected chats" filter so
    envelopes carry just the chats you pick (empty selection = everything).
  • Snapshot picker: save to file — any cloud snapshot can now be
    downloaded as an encrypted .wasync file (off-site copies, air-gapped
    transfers) in one click, no decryption needed.
  • Round-trip for reactions + reply threads — the .txt export now
    re-encodes reactions as real-WhatsApp-style reacted 👍 to "…" rows and
    replies as [Replied to Sender: quote] prefixes; the parser folds them
    back onto the right messages on import (device + server paths, with a
    bounded SQL fallback for quotes of pre-existing rows). The Verify
    round-trip report gained reaction / reply fidelity counters.
  • Insights share card — one tap renders the dashboard headline numbers
    (messages, chats, media, words, top chatters, busiest days, emoji
    leaderboard, fun facts) as a 1080×1440 PNG; downloads locally or opens
    the native share sheet when available.
  • Folder auto-rules — define title-regex rules in the folder manager;
    every new import is filed into the matching folder automatically (first
    match wins, case-insensitive, retro-fits existing chats when a rule is
    added).
  • i18n pass — 28 new string keys for the v1.8/1.9 surfaces (cloud sync,
    transfer, folder rules, snapshots) translated into हिन्दी, اردو, मराठी and
    தமிழ் alongside English.
  • Play badge prep — README carries a ready-to-uncomment Google Play
    badge and the app gains a PLAY_LISTING_URL constant; flip it when the
    Play listing is live.

Full changelog: v1.8.1...v1.9.0

WA Archiver v1.8.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 21:07

Added

  • Cloud sync providers: Google Drive & S3 — the storage-adapter layer
    now has three interchangeable providers behind the same test / push /
    pull UI: WebDAV (as before), Google Drive v3 (paste an OAuth access
    token, optional destination folder) and any S3-compatible bucket
    (AWS SigV4 signing — works with AWS, Cloudflare R2, Backblaze B2, Minio).
    The provider only ever stores AES-GCM ciphertext.
  • Auto-push on import/export — optional "sync automatically after
    every import/export" toggle in the Cloud sync card, so the cloud copy is
    never stale. The sync passphrase is kept device-local only when enabled;
    every background push toasts once when it lands.
  • Multi-file snapshot history — every push can also store a
    timestamped wa-archiver-YYYYMMDD-HHMMSS.wasync snapshot; the oldest
    beyond the keep-count are pruned automatically, and any snapshot can be
    restored from a picker in the Cloud sync card (WebDAV, Drive and S3 all
    support list + delete through the adapter).
  • Message changes panel — per-chat "Message changes" tool listing
    every local edit and unsend with before / after content and a timestamp
    (the audit trail behind the tombstones). Stored on-device, clearable.
  • Export round-trip self-test — "Verify round-trip" in the export
    menu rebuilds the chat's .txt and re-parses it through the standard
    WhatsApp parser, then reports type-fidelity (e.g. location → location,
    contact → contact, deleted → deleted) with a per-type breakdown and an
    honest list of known losses.
  • New launcher shortcuts — long-press the app icon to jump straight
    to the Media hub or Saved Messages (alongside Search, Import and
    Insights).
  • CI release notes — versioned releases now append a "Full changelog"
    compare link (vPrev…vNew) under the CHANGELOG section, and the README
    carries a build-status badge.

Changed

  • Device-mode .txt export reaches full parity — a new
    DataClient.getChatTranscript() merges pending scheduled sends into the
    transcript (their delivery time becomes the message time, flagged
    "[Scheduled for …]"), so the APK's per-chat and multi-chat .txt exports
    are byte-compatible with the server route's output (scheduled rows were
    previously web-only).

Full changelog: v1.8.0...v1.8.1

WA Archiver v1.8.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:16

Added

  • Encrypted backups — optional passphrase on JSON backups. Downloads are
    sealed with AES-GCM-256 (PBKDF2-SHA256, 310k iterations, random salt+IV)
    entirely in the browser via WebCrypto; the passphrase never leaves the
    device. Restoring an encrypted file asks for the passphrase and rejects
    wrong ones without touching the database.
  • Smart collections — three auto-computed, read-only chat folders:
    🖼️ Media (chats with media), ⏱️ Active this week, 📊 Biggest (top 5 by
    volume). No setup; they update live with the chat list.
  • Per-chat themes — pick any of the 17 themes for a single chat from the
    Customize (wallpaper) popover. While that chat is open the whole look
    recolors; switching away snaps back to the app theme. Reset any time.

Changed

  • mediaCount now counts every media-typed message, even when the file
    wasn't included in the export ("not in export" tiles) — the Media smart
    collection and chat badges reflect what the chat actually contains.
  • Chat tools → "Media gallery" opens the global Media Hub (shared albums +
    date-range filter) pre-filtered to the current chat.

Fixed

  • /api/media-index skipped media-typed messages without a stored file, so
    demo/synthetic media never appeared in the global Media Hub.

WA Archiver v1.7.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:15

Added

  • Play Store App Bundle (.aab) — tag releases now also build a signed
    bundleRelease artifact (WA-Archiver-<tag>-release.aab), ready to
    upload to Google Play. Play does the per-device splitting (ABI, density,
    language) itself, so Play installs download only what they need.
  • Auto-update checker — the app reads the GitHub Releases API (at most
    once a day, localStorage-throttled) and shows a one-time
    "new version available" toast with a link to the release page whenever a
    strictly newer version is published. Silent on every failure path —
    offline APKs never nag.
  • Device-mode CSV & JSON chat export — the per-chat .csv /
    .json exports now also work fully offline in the APK: in device
    transport the file is built client-side from the on-device database with
    the exact same spreadsheet schema as the server route
    (idx, timestamp_iso, timestamp_local, sender, type, body, media_name, starred, edited, forwarded, pinned, reactions_summary).
  • Starred-messages CSV export — third button in the starred dialog,
    same columns as the chat CSV so starred rows and full-chat exports can
    live in one spreadsheet.

Changed

  • On-demand voice transcription (~19 MB off the APK) — the two ONNX
    Runtime WASM binaries are no longer bundled; public/whisper/ now ships
    only the transformers.js bootstrap (~0.9 MB) plus a manifest, and the
    runtime fetches the matching binaries from jsDelivr on first use
    (cached by the browser Cache API, so transcription still works offline
    after the first run). Set WHISPER_LOCAL_WASM=1 to restore the
    fully-bundled offline-out-of-the-box build. The ASR model (~45 MB)
    was already on-demand and is unchanged.
  • Media Hub: date-range filter — from/to date pickers in the toolbar
    narrow the index to a period; a one-tap clear button resets it.

Added (Media Hub)

  • Shared albums view — new view toggle (layers icon) re-groups the
    filtered media into "albums": bursts of media shared in one conversation
    split on 45-minute gaps, with cover thumbnail, chat name, date range and
    item count; opening an album shows the same tile grid with multi-select,
    ZIP export and the lightbox.

WA Archiver v1.6.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 17:00

Added

  • Year-in-review share cards — the per-chat rewind dialog now exports a
    story-sized 1080×1350 PNG card: message count hero, busiest day, top
    month, longest streak, loudest voice, signature emoji and words typed —
    rendered fully on-device with the same teal-gradient look as the dialog.
  • Starred-messages export — the starred dialog gains one-tap
    .txt and .json exports (timestamped, sender-attributed,
    filename slugged to the chat).
  • Three new languages — उर्दू (Urdu), मराठी (Marathi), தமிழ் (Tamil) —
    the i18n layer now covers 5 languages × 277 strings with compile-time
    key parity. Urdu flips the whole interface RTL automatically.
  • Per-ABI APK builds — releases now ship slim arm64-v8a,
    armeabi-v7a and x86_64 APKs alongside the universal one;
    pick the arm64 APK on any modern phone.

Changed

  • APK size audit — removed the two never-used threaded ONNX Runtime
    WASM variants (the app is not cross-origin isolated and pins
    numThreads=1): whisper assets shrink 38 MB → 20 MB before
    compression, cutting the universal APK download.
    WHISPER_ALL_VARIANTS=1 restores them for special builds.
  • Version drift fix: the in-app version now tracks package.json/gradle
    (1.6.0) — the About dialog no longer lags a release behind.

WA Archiver v1.5.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 11:59

Fixed

  • Server & device JSON backups keep reply relationships — backup export
    now includes replyToId and restore writes it back (both the server
    SQLite transport and the on-device OPFS transport; backup format version
    bumped to 2, v1 files still restore). Reported with a full reproduction
    in issue #4 — thank you, @aichance!
  • PDF / HTML exports render Devanagari everywhere — chats containing
    Hindi/Marathi/Nepali text embed a 45 KB subset of Noto Sans Devanagari
    (OFL 1.1) directly in the exported file, so print-to-PDF no longer shows
    tofu boxes on machines without Hindi fonts. Latin-only exports are
    unchanged and stay lightweight.

Added

  • Word cloud PNG export — one tap in the word-cloud dialog re-renders
    the ranked cloud to a 2160px canvas (title, word-count subtitle, footer)
    and downloads it — fully on-device.
  • Android launcher shortcuts — long-press the app icon for Import
    chats, Search messages and Insights (localized labels in English and
    हिन्दी; Android 7.1+, older versions simply don't show them).
  • EXIF capture dates in the photo viewer — when a photo's embedded
    DateTimeOriginal differs from the send time, the Lightbox shows a
    "Captured" pill (e.g. an old photo re-shared years later). Reads only
    the first 128 KB of the file; never network-heavy, never blocking.
  • हिन्दी copy pass — smoother, more natural phrasing across chat rows,
    import progress and display settings; the word-cloud dialog is now fully
    translated (it previously had hardcoded English).
  • versionCode 7.

WA Archiver v1.5.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 11:27

Added — The power pack (18 upgrades)

  • Bulk chat actions — multi-select chats from the sidebar (menu, hover action or long-press): delete, favorite, pin, move to folder and combined .txt export with per-chat headers.
  • Import merge & dedup — re-importing an updated export offers "Merge into existing chat": title/source-file matching, per-message fingerprint dedup, and an honest "N new, M duplicates skipped" report (device and server transports).
  • Web Worker parser — export parsing + zip text extraction moved off the main thread; large imports no longer freeze the UI. Automatic main-thread fallback.
  • Real voice waveforms — voice notes decode actual audio peaks (48 buckets, LRU-cached) with the classic pseudo bars as fallback; seek/keyboard behavior unchanged.
  • PWA offline fallback — branded offline page + service-worker navigation fallback (network-first; cache bumped to v3).
  • Android open/share intents — the APK registers for .txt/.zip VIEW, SEND and SEND_MULTIPLE; files route into the import flow via a new JS bridge.
  • Theme studio — visual preview cards for all 17 themes, "save current look" custom presets (theme + accent + bubble + density + wallpaper) with apply/delete, synced through personal-data transfer.
  • i18n groundwork — locale framework with English + हिन्दी (61 keys), language picker in Settings, lang attribute sync; more surfaces migrate incrementally.
  • Fastest repliers — new Insights panel: median reply time per person (6h window, ≥3 samples) plus your own median.
  • Landing page — "Export from WhatsApp in 60 seconds" guide + 7-question FAQ.
  • Full reactions grid — the long-press popup offers all 12 reactions in a 4×3 grid with a proper focus trap.
  • Videos tab in the per-chat media gallery, with duration badges.
  • New shortcuts — m opens the media hub, Ctrl/⌘+Shift+F searches across all chats; shortcut dialog updated.
  • Release automation — tag builds extract the matching CHANGELOG section into the GitHub release body.
  • Accessibility — long-press sheet focus trap, real version labels, checkbox roles in select mode, spoken-form aria labels on new panels.
  • versionCode 6.

WA Archiver v1.4.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 17:35

Full Changelog: v1.3.0...v1.4.0

WA Archiver v1.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 17:54

WA Archiver v1.5.0 "the power pack" — 18 features, fully local. APK signed, reproducible via CI. See CHANGELOG.md for the full list.