Releases: TeeJS/bedrock-panel
Release list
v0.9.4 — Electron 44 and AI Voice markdown
Electron 44 under the hood, markdown in AI Voice, and the old Open WebUI chat app retired.
AI Voice
- Replies render as markdown. Headings, lists, tables, links, images, and inline code show properly instead of as raw symbols, using the same parser and sanitizer the old Open WebUI chat app used. Fenced code blocks keep the one-tap Copy button that hands back the exact text.
- Your own turns stay raw text. They are mostly speech-to-text, so a stray
*or#never restyles them.
Open WebUI chat app removed
The original per-page Open WebUI chat app is gone; AI Voice on the Open WebUI backend replaces it with streaming replies, conversation memory, a model picker, profiles, and knob ring feedback.
- Existing pages migrate automatically on first launch: each becomes an AI Voice page on the Open WebUI backend. The first page's URL, API key, and model seed Settings → Auth if that was still blank; later pages keep their model as the page's pick.
- Two things do not carry over: voice now runs through the Wyoming STT/TTS servers on Settings → TTS/STT rather than Open WebUI's own Whisper, and the knob gesture is tap-to-toggle rather than hold-to-talk.
Under the hood
- Electron 44 (Chromium 152). The installer is about 10 MB larger because the graphics layer is now built into Electron rather than shipped as separate DLLs.
- Builds on Node 26. The toolchain now supports Node 20 through 26 (
yargs17.7.3 fixes the Node 25.7/26 load failure in electron-builder's CLI).
v0.9.3 — Azure DevOps error details
Azure DevOps error details, and the GitHub page stops losing its session.
Azure DevOps app 1.0.4 (via app updates)
- Error details button. When a request fails, a warning-triangle button appears in the app header. It opens a dialog with the failing data source, HTTP status, Azure DevOps error type, and request/activity ID, plus a Copy details button. Tokens, authorization headers, and request URLs are stripped from the copied text.
- Work Items view fixed. Version 1.0.2 sent
fieldsand$expandtogether, which Azure DevOps rejects, so the Work Items tab and work-item details never loaded. They do now. - Setup guide gains a troubleshooting section for organizations where only some projects fail.
Thanks to @markhollingworth-worthit for the app changes and the GitHub fixes below (#44).
GitHub page
- The editor preview and the panel no longer fight over one session token. Each gets its own, so opening the page editor while the GitHub page is showing no longer breaks the panel with "session expired".
- Returning to the GitHub page after the screensaver or another page now reloads it properly instead of showing "session expired".
- Saving Settings while the GitHub page is showing no longer reloads the page.
Housekeeping
- Community app READMEs and setup guides now say Bedrock Panel (via app updates).
Bedrock Panel v0.9.2 — open-quake is now Bedrock Panel
Bedrock Panel v0.9.2 — open-quake is now Bedrock Panel
Same project, same code, new name. Website: https://bedrockpanel.com · Discord: https://discord.gg/7F8DFMVQMv
What changes for you
- The app, installer, Start-menu shortcut, and tray now say Bedrock Panel, with a new icon.
- Downloads are
bedrock-panel-setup.exeandbedrock-panel-portable.exe. - Upgrading is automatic. Install over your open-quake install: the old version is removed, and on first launch your settings, dashboard logins, and drop-in apps move from
%APPDATA%\open-quaketo%APPDATA%\bedrock-panel. Nothing to redo. (Upgrades keep the existing…\Programs\open-quakeinstall folder unless you change it in the installer.) - Default folders renamed.
Documents\OpenQuake MeetingsbecomesDocuments\Bedrock Panel MeetingsandDocuments\OpenQuake TranslationsbecomesDocuments\Bedrock Panel Translations, moved once on first launch. Folders you set yourself in Settings are left exactly as they are. - Home Assistant busy sensor renamed. MQTT topics are now
bedrock-panel/<host>/…and the entity isbinary_sensor.bedrock_panel_busy. If you set this up on 0.9.0/0.9.1, the app clears the oldbinary_sensor.open_quake_busydiscovery on its next connect; point any automation at the new entity. - Old
TeeJS/open-quakeGitHub links redirect to this repository.
open-quake v0.9.1 — MQTT Test connection fix
Fixed
- Home Assistant (MQTT) Test connection button now performs a real connection test. It previously always reported "Failed / no response" even when the broker was reachable and the connection was fine.
open-quake v0.9.0 — Busy presence
open-quake v0.9.0 — Busy presence
Adds busy light functionality to meetings app
- Kuando Busylight over USB, no vendor software
- WLED lights over the network
- Home Assistant — auto-creates
binary_sensor.open_quake_busyover MQTT - Busy column on the meeting panel — Auto / Busy / Free / Custom, with a colour picker
- Schedule — limit the light to chosen days and hours
Fixed: auto-record could miss a Zoom/Teams call, or keep recording after it ended, when another app also held the mic.
v0.8.4
Reliability
- Crash-resistant startup. A HID enumeration error can no longer crash launch, and one device connector failing no longer prevents the other from starting.
- Isolated panel boot. Meeting recorder, dictation, and slide capture now start independently — if one fails it degrades only that feature and raises a tray notice naming it, instead of silently taking the rest down with it.
- Last-resort error handling. Added global crash backstops with sanitized logging and a controlled shutdown, so an unexpected fault is surfaced rather than swallowed.
- Cleaner local server lifecycle. Shutdown/restart no longer leaks live connections or event streams, a failed port bind now recovers cleanly, and a port change notifies you (saved app data can appear under a new origin — it isn't deleted).
- Page-switch fix. Removed dead code that was silently short-circuiting page switching, restoring music now-playing updates and GitHub capability gating.
v0.8.3
Drop-in apps
- "Don't ask again" for executable code. The install/update/reinstall warning is now a proper dialog with a third choice: approve and stop asking for this app. Trusted apps update silently from then on; new apps always still ask. Trusted apps show a badge in the Installed list, with "Ask again about executable code" in the row menu to revoke.
- App-OAuth panel slimmed down. A healthy connected account collapses to one line with a Manage expander (full controls return automatically for first connect, errors, or expired tokens). Apps that ship their own connect UI can set
"oauth": { "selfManaged": true }to suppress the editor panel entirely.
Editor
- Served-app management embeds auto-size to their content.
- Long app descriptions clamp to the first sentence with a native more… expander.
v0.8.2
Drop-in app platform
- Folder picker capability. A served drop-in that declares
"hostCapabilities": ["pick-folder"]can ask the user to choose a directory viaPOST /app-host/pick-folder. The dialog is host-owned and directory-only; the app receives exactly the folder the user selected — nothing else. Same-origin gated per app, one dialog at a time, paths never in URLs or logs. - App-owned editor surfaces. A served drop-in can declare
"editor": { "entry", "label" }to render its own management UI inside the Editor (sandboxed iframe on the loopback origin with_surface=editorand theme parameters — no Node, IPC, or preload access). Apps like Folder Sync manage their jobs from the desktop without app-specific editor code in the host.
Housekeeping
apps.jsoncatch-up for the v0.8.1 developer-apps removal (the 0.8.1 binaries already shipped correct; this aligns the repository).
v0.8.1
Drop-in apps
- Shared Home Assistant credentials. Drop-in server modules can now read the Settings → Auth HA connection via
host.getHaAuth()— HA apps no longer ask for a URL/token per app, and the token still never reaches a panel page. serverAutoStartmanifest flag. Apps that run background work (schedules, timers) can opt in to have their server module loaded at host startup — and re-armed after install/update — instead of waiting for the first page visit.- Discover list fixes: long descriptions ellipsize with the full text on hover instead of pushing the Install button off-screen, and the Install/Installed/Update buttons are now one uniform, centered column.
Developer apps removed
- The built-in HA Schedule, Agenda, and Events developer apps — and the "show developer apps" concept — are gone, replaced by drop-in versions. Pages still pointing at the old built-ins render blank; delete them and rebuild on the drop-ins.
Editor
- Apps settings redesigned: one bounded app-management surface — search with a shown/hidden count, a two-column list with icons, descriptions, and Shown/Hidden switches, Show all / Hide all in the list header, and a direct "Manage drop-in apps →" link.
- Sidebar: "Filter pages…" is now "Search pages…" and also searches Groups and Panes; a new Filter pulldown narrows the Pages list by type (Grids / Built-in apps / Drop-in apps / Dashboards) with a Reset button beside it.
- Fixed: Auth-tab Refresh Configuration crashed with "Cannot read properties of undefined (reading 'length')" whenever the selected page had no tile grid (e.g. an HA Dashboard page).
open-quake v0.8.0 — Editor overhaul
The editor got a full usability pass: stronger hierarchy, progressive disclosure, and live previews. The panel UI is unchanged.
Settings
- Settings now fill the window with a grouped vertical navigation (General / Device / Apps / Integrations / Automation); the sidebar collapses while open and the header button becomes "← Back to pages". Every page has a title, purpose line, and consistent sections.
- Long help text collapses to one sentence with More… expanders throughout.
- Clear save states ("All changes saved / Unsaved changes / Saving… / Unable to apply") and a Save & apply button.
- Software: Run mode, Global shortcuts group, shortcut-conflict warnings, dependent fields hidden until enabled.
- Theme: live preview, editable hex accent, reset, preset management.
- Hardware: device-connected indicator, knob controls as a table with reset-to-defaults, percent sliders, "Store ring settings on device".
- Monitor: state indicator + Enter Monitor mode button.
- Apps: filter, visible/hidden counts, Show/Hide all — built-in apps only (drop-ins live on their own page).
- Drop-in apps: sortable columns, Ready/Update/Error filters, last-check time, "N updates available" action.
- Auth: one card per integration with status pills; disabled integrations collapse.
Page editors
- Live previews: the real panel page, scaled — including the side button strip with your actual tiles (Music, clocks, and every app page).
- Shared Page behavior card on every page: side button strip with inline placement/size, rotation, Jump-to-page shortcut with conflict warnings, Advanced settings; labeled Danger zone with delete confirmation.
- Grid: layout section, warning when shrinking would drop tiles, contextual merge hint, proper empty state.
- LucidType: sectioned form, mic test button with live level meter, endpoint Check connection.
- AI Voice: Agent/Workspace/Profile/Permissions sections, short permission-mode labels with explanations, explicit full-auto warning.
- GitHub: connected account name, Change account, owner/repository validation.
- Sidebar: filter, page-type chips, HIDDEN badges, single + Add page menu, keyboard reordering (Alt+↑/↓).
Downloads
- Release artifacts no longer carry the version in their filenames — grab
open-quake-setup.exe(installer) oropen-quake-portable.exe; the version lives in the release tag and the app's About/header.
One technical note worth knowing: served drop-in pages now allow embedding by local files only (frame-ancestors file: instead of 'none') so the editor can show live previews — remote sites still can't frame them.