🎻

ObieWebApp

· Changelog
Documentation ← All tools

Changelog

Log of fixes and features per version. Newest first.

v1.1.8-beta

Beta 2026-09-10

Site-wide

  • Added a ⟳ Refresh button to every tool's header. A stale service-worker cache could previously keep serving old JS/CSS indefinitely — even across a hard reload or browser restart — with no way to fix it short of clearing DevTools storage by hand. Refresh unregisters the service worker, clears the cache, and reloads, so anyone can self-serve an "it looks out of date" report.

Spectrum Monitor (new)

  • New beta tool: a live, single-channel microphone scope. Shows the raw waveform and a block-averaged magnitude spectrum (last N ~0.3 s snippets, averaged in linear power then converted to dB), plus a scrolling spectrogram on a separate tab. Starts capturing automatically on page load; ⏸ Pause freezes the display (the microphone itself keeps running) so you can zoom/pan with Plotly's controls, which only appear while stopped or paused. Pick Channel 1 or 2 for stereo devices, and change the input device from the blue Device: indicator, same as Acquire. Settings persist to this browser immediately and, with a Data Folder set, to ObieAppSettings/spectrum.json — no separate save button.

Acquire

  • Run folders now write a single consolidated template.json (settings + node stencil together) instead of separate settings.json and stencil.json files — matching what Modal Analysis and Stencil Builder already expect, and fixing Stencil Builder's live-watch feature (it reads the per-position hit count from template.json; previously that field only existed in settings.json, so live-watch silently fell back to a slower heuristic). Reopening an older run that still has a stencil in the old stencil.json format now carries that stencil forward into the new template.json automatically, instead of dropping it.
  • Relabeled the signal-type dropdown for clarity: Mic🔊 Radiation, Accel📡 Modal Analysis (no change to what selecting each option does).
  • Redesigned the Node Stencil picker in Template & Settings: removed the separate Build Stencil / Apply Stencil buttons — "Stencil Builder" is now a link, and clicking a stencil in the list (or the new None option) applies or clears it immediately. A small preview of the applied stencil's node layout now appears under Hit Detection; while the dialog is open it periodically re-checks the stencil's file so edits made in a Stencil Builder tab show up automatically, and clicking the preview opens Stencil Builder with that exact stencil loaded.
  • Plot Settings is now a collapsible section (expanded by default) instead of always taking up the full third column.
  • Renamed Agenda to Checklist and made it collapsible (click its header to show/hide, expanded by default) for advanced users who don't need the step-by-step reminders. Split the "Powered, 48v (2 lights)" step into three separate checkboxes: Powered on, 48V on, and HiZ on for the hammer.
  • Downloading the FRF plot as a PNG (camera icon in the plot toolbar) now renders it on a white background instead of transparent, so it's readable when pasted elsewhere.
  • Removed the forced setup wizard added earlier in this beta. Connecting a Data Folder (auto-restore or a fresh pick) now lands immediately in a live, unnamed "scratch" view — calibrations at 1, cutoffs at 0.30 s, nothing running — so you can plug in and watch signals before configuring anything. The toolbar's Template button is now a split button: click its name to reopen the current template, or its ▾ caret for a dropdown of every saved template; picking one opens Template & Settings with that template already applied. The 🎻 Instrument button and test-name indicator stay hidden until an instrument is actually named (in the same dialog); doing so both commits the name and starts acquisition automatically if nothing else is running.
  • Restructured the Template & Settings dialog: Input device moved into a new Notes / Template tab pair (Notes shown by default) alongside Run Settings and Hit Detection, and the freed-up left column gained a Photos section (Add Photos… / Camera) matching the standalone Notes dialog's. The Node Stencil picker is now a Stencil: dropdown next to the Template picker instead of a separate list.
  • Calibration rows are now labelled Channel 1 (L): Hammer cal. / Channel 2 (R): Microphone cal. (or Accelerometer, for 📡 Modal Analysis) and swap position along with their labels when Swap channels is toggled, so the row on top always matches whichever input the hammer is actually wired to.
  • Moved LiveView to sit between the Template control and ▶ Start in the banner row, and ✨ Ask Claude next to Notes in the main toolbar. Increased the status row's font size for readability.
  • Moved the Undo / Clear / Start over buttons into their own row above the Hammer FFT mini plot (renamed from "↩ Undo Hit" / "🗑 Clear" / "↺ Start over," emoji dropped). Added a 🔍 Zoom Toolbar toggle to the main plot's toolbar that shows or hides Plotly's own built-in zoom/pan/box-select/autoscale/reset/camera controls.
  • Every disk write Acquire performs (hits, notes, photos, templates, stencils, run renames) now retries with backoff before treating a locked file as a gone Data Folder — fixes a bug where cloud-sync clients (Dropbox, OneDrive, Google Drive) briefly locking a file during their own sync could get misread as "the folder was removed," forcing an unnecessary re-pick after only a few measurements.

Documentation

  • Added Modal Analysis and Circle Fit sections to the User Guide, and two new Technical Reference sections covering the math behind each: complex-FRF phasor reconstruction and bicubic surface interpolation for mode-shape animation, and the full Kennedy–Pancu SDOF Nyquist circle-fitting method (receptance conversion, algebraic circle fit, natural frequency, hysteretic damping, modal constant sign convention, residual compensation, and per-node residue extraction).

v1.1.7

Stable 2026-07-26

Acquire

  • New standalone LiveView tool — the real-time hammer/mic monitor and live FRF estimate now also opens in its own tab (handy for a second monitor), reachable from Acquire's LiveView dialog or the main page. The original in-Acquire LiveView is unchanged.
  • Merged the separate Settings and Template dialogs into one Template & Settings modal: input device, template list, node stencil, and all run/plot settings together in one place. Its three columns can be dragged wider or narrower via the handles between them.
  • Clicking a template now applies it immediately (fields update right away) instead of requiring a separate preview-then-Apply step; an Undo button reverts an accidental click.
  • The dialog's primary exit button is now a single smart button: it reads Use Template normally, and switches to Update and Use Template the moment you edit any setting away from the applied template's values (falls back to Use Settings when no template is applied). This replaces the earlier separate "Use for this run only" / "Update Template" buttons.
  • Added Reset Default Templates to re-download the 3 built-in templates without touching custom ones.
  • Plot Settings now shows one combined X axis range and Y axis range row per plot instead of four separate min/max rows; Hit Detection fields now show their units directly in the label (e.g. "Time before hit (s)"); number fields no longer show spinner arrows; mouseover help was added throughout the dialog.
  • Selecting a device in the Template & Settings dialog now applies immediately instead of waiting for a commit button, so hitting Cancel afterward no longer discards an intentional device change. Clicking the Device: indicator in the status row also opens a quick device picker for the same purpose.
  • The hammer/mic time cutoff (the green line on the mini plots) can now be set as low as 0.001 s — it was previously floored at 0.01 s.
  • Fixed: changing a setting like the cutoff or threshold no longer redraws FRF traces for positions you already finished earlier in the run — only the position you're currently viewing is recomputed.
  • Session Notes now save to disk (notes.txt in the instrument's folder) instead of the browser only, and are shown in Explore. The Notes button moved next to the Template button. An empty notes file is now pre-filled with a fill-in-the-blanks template (date/time, location, experiment, researchers, instrument info, measurement info). Added a Delete Notes & Start Again button (with a confirmation prompt) and the ability to attach photos, which are saved to a photos folder inside the instrument's folder.
  • The built-in-microphone warning is now a plain OK alert instead of a yes/no confirm, and acquisition no longer starts after it's shown — previously choosing "Start anyway" would begin a run with an unsuitable mic.
  • The Instrument toolbar button now shows the instrument's own name; the Template button moved to the banner row.
  • Added a Build Stencil shortcut (opens Stencil Builder) in the Node Stencil section.
  • Fixed the default HV 24 Obie Rig template only measuring 12 positions (prefix "H") instead of the intended 24 (prefix "H,V", 12 H + 12 V) — it now matches the original LabVIEW template it was ported from.
  • Added an Agenda checklist above Run Settings in the right-hand info panel — a step-by-step reminder with checkboxes you tick off as you go. Resets automatically the next time you hit Start on a fresh run.
  • Agenda is now split into two labeled groups — Soundcard (powered, 48v (2 lights); selected in blue) and Software (data folder, name instrument, rename test, choose template, edit Notes, verify in LiveView, hit Run if needed, check hammer FFT, check coherence) — instead of one flat numbered list.
  • Fixed multi-prefix runs (e.g. prefix H,V): WAV/TRF filenames and the FRF plot legend were built from the raw prefix field text and a position count that never reset between groups, so the second group's files came out mislabeled (e.g. H,V13 instead of V01). Per-position files now use the correctly resolved label. Also fixed end-of-run averaging, which previously lumped every group into one AvR and never wrote an AvC at all — it now writes both an AvR and AvC per prefix group (e.g. H, V) plus one combined pair across all groups (e.g. HV) when there's more than one prefix.
  • Renamed the saved average files — <run> <group> AvR.avr / AvC.avc is now just <run> <group>.avr / .avc (e.g. test2_09 H.avr), since the extension already says which format it is.
  • Notes: added a 📸 Camera button next to Add Photos — opens a live webcam preview with a Snap button to capture and save a photo straight to the photos folder. Saved photos now show as thumbnails (click to open full-size) instead of a bare filename list.
  • Added a ✨ Ask Claude button above the Agenda checklist — opens a new Claude.ai chat in another tab with a question pre-filled (pointing Claude at ObieWebApp's documentation) so you just finish typing and send it.

Explore

  • Fixed the normalization dropdown not always resetting to "As measured" on reload — it was carrying over the Real/Complex average selection from the previous session.
  • New: hovering a dataset now shows that instrument's saved notes (written from Acquire) in a panel near the band table.
  • Fixed: the instrument notes panel stayed visible after clicking Clear All — it's now cleared along with the dataset list.
  • Added a 🖨 Print button (far right of the plot toolbar) — snapshots the current plot and opens it in a new page with an editable title and notes field, so you can label it before printing.
  • Added a ✨ Ask Claude button next to Print — opens a new Claude.ai chat with a question pre-filled, pointing Claude at ObieWebApp's documentation.

Site-wide

  • Fixed a 404 when navigating Explore → Acquire from the archived v1.1.6 snapshot (a leftover nested-version link from the promotion process).
  • Fixed archived version pages (e.g. picking "v1.1.6" from the Version dropdown) showing a frozen, out-of-date Beta section from whenever that snapshot was archived — confusing since it no longer matches the real current beta. Archived pages now show a banner explaining you're viewing a frozen stable release, and their Beta section is replaced with a single link back to the live site.