Skip to content
github-actions[bot] edited this page Jul 6, 2026 · 130 revisions

Candela wiki

Current version: v1.12.4 Candela is TechEmpower's accessible resource app. Browse free tech guides, connect with our peer-support Discord, dial 211 for local help — and listen to any of it through a neural-voice audiobook engine that reads everything aloud.

Under the hood: thirty-three fiction backends (Royal Road, GitHub, RSS / Atom feeds, local EPUB folders, local PDF files, on-device OCR, self-hosted Outline wikis, Memory Palace, Project Gutenberg, LibriVox, Archive of Our Own, Standard Ebooks, Wikipedia, Wikisource, Radio with 30k+ stations, Notion, Hacker News, arXiv, PLOS, Discord, Telegram, Palace Project, Slack, Matrix, Readability web articles); three in-process voice families (Piper, Kokoro, KittenTTS) with optional Azure HD cloud voices; AI chat per fiction across seven LLM providers with cross-fiction memory, function calling, and multi-modal image input; built for Android phones, tablets, and Wear OS.

📦 Latest release: v1.12.4 — Kindled Pinnacle — Text lands clean — imported files, EPUBs, RSS feeds, and Standard Ebooks all keep their paragraph breaks now — Settings is grouped and searchable with per-source config surfaced, and a Notion book that gained chapters after a parser upgrade stops showing its stale one-chapter list.

📖 Source: github.com/techempower-org/candela · License: GPL-3.0 · Site: candela.techempower.org


Pages

What's new in v1.12.4

Kindled Pinnacle. Text lands clean — imported files, EPUBs, RSS feeds, and Standard Ebooks all keep their paragraph breaks now — Settings is grouped and searchable with per-source config surfaced, and a Notion book that gained chapters after a parser upgrade stops showing its stale one-chapter list.

  • A source served a stale, collapsed chapter list after a parser upgrade — e.g. a Notion page whose sub-pages became chapters (#1508) kept rendering as a single chapter until a manual refresh. Chapter bodies already self-heal on parser changes (via CHUNKER_VERSION), but the chapter list had no equivalent stamp. A new CHAPTER_PLAN_VERSION on the fiction row force-revalidates a list cached under an older planning version on next open (bypassing the 5-minute metadata TTL), so it re-fetches once and re-plans automatically — no manual refresh, and general across all sources. (#1621)
  • Imported text files lost their line & paragraph breaks — the text-import path now preserves them. (#1619)
  • EPUB chapters lost paragraph structure — paragraph boundaries now survive EPUB body parsing. (#1623)
  • RSS and Standard Ebooks dropped paragraphs and mangled HTML entities — both now route through a shared, correct HTML→text conversion. (#1626, #1627)
  • Settings, reorganised — the hub is grouped into 7 categories with Cloud Voices surfaced, plus a new Content Sources subscreen that un-buries per-source configuration. (#1624, #1630)
  • Consolidated the per-module HTML strippers onto one shared core-data htmlToPlainText, retiring the divergent copies behind the RSS/EPUB/Standard-Ebooks fidelity drift. (#1628)
  • Notion: flattenNested no longer descends into child_page sub-pages, so listing a page of sub-pages stops eagerly fetching every child body into the Introduction chapter. (#1621)
  • Reverted the temporary v1.12.2/v1.12.3 sleep-timer Log.w diagnostics + shake peak logging now that auto-sleep (#1574) and shake-to-extend (#1595) are confirmed on-device. (#1620)

Recent v0.5 highlights

  • Cold launch 6.7 s → 0.8 s on Galaxy Tab A7 Lite (v0.5.46 — R8 + Baseline Profile + isDebuggable=false).
  • Full PCM cache series — streaming-tee, cache-hit playback, background pre-render, Settings UI, status icons (v0.5.47–v0.5.49).
  • Twelve a11y findings closed (v0.5.43) — high-contrast brass-on-near-black theme, reduced-motion fold-in, TalkBack pacing.
  • Nav settled — four-tab dock {Playing · Library · Voices · Settings} (v0.5.50 final, after v0.5.40 restructure).
  • Cross-device InstantDB sync (v0.5.39+) — library, follows, positions, bookmarks, pronunciation, encrypted secrets.
  • KittenTTS lightest-tier voice family (v0.5.36 — #119).

Quick links

Clone this wiki locally