Skip to content

Tags: DanWBR/NINA.Polaris

Tags

v0.96.11

Toggle v0.96.11's commit message
fix(android): the app froze on every launch, jmDNS ran on the main th…

…read

capacitor-zeroconf posts watch/unwatch/close to the main looper:

    getBridge().executeOnMainThread(() -> implementation.watchService(...))

watchService() builds the JmDNS instance, takes the WiFi multicast lock and
opens sockets; close() tears it down. That is hundreds of ms to seconds of
blocking work on the UI thread, a few seconds after launch, every launch,
with or without tabs open. iOS is unaffected: its half of the plugin uses
Bonjour, which is async.

Not awaiting the promise in JS does not help, the block is inside the plugin.
android-postadd.sh now rewrites those calls to Bridge.execute(), which posts
to the background taskHandler. None of the three methods touches the view
hierarchy. Idempotent, and it runs before cap sync in CI.

v0.96.10

Toggle v0.96.10's commit message
Live stacking, filter names and the Android app

- MetricsOnly relayed nothing, so the LIVE image froze on the frame from
  before the stack started and the WASM client had no pixels to accumulate
- changing the live-stack compute mode in the UI did not take effect until
  the next client connect or rig switch
- a WASM client that goes silent no longer leaves nobody stacking: the
  server takes the accumulation back
- filter names were lost on a page reload (the restore fired once, before
  the rig list had loaded)
- incoming frames are processed one at a time instead of piling up on the
  main thread
- Android: discovery awaited ZeroConf.close() on the launch path and froze
  the app on relaunch; discovery now stops when it is no longer needed

v0.96.9

Toggle v0.96.9's commit message
fix(focus): the manual focus loop idled 2 s between frames

PREVIEW and FOCUS use the same 2 s default exposure, but FOCUS added a 2 s
pause on top, so its cycle was twice as long and operators focused in
PREVIEW instead.

- default the interval to 0: capture back-to-back, like the PREVIEW loop
- honour 0 (the scheduler had a 500 ms floor) by chaining on $nextTick
- allow 0 in the input, which had min="1", and say what it does

v0.96.8

Toggle v0.96.8's commit message
AUTORUN reset keeps the items; frame recentres on panel changes

- POST /api/sequence/reset zeroes the progress without touching the items
- AUTORUN Reset now calls it; a new Clear button removes every item
- pan/zoom remembers which fit produced the transform and rebuilds it from
  a ResizeObserver on .preview-area, so LIVE / PREVIEW / VIDEO stay framed
  when the sidebar is dragged, collapsed or hidden
- tap-to-hide releases the sidebar's reserved margin so the frame uses the
  whole pane
- locales: 4 new strings, and "Autorun cleared" no longer says "disabled"

v0.96.7

Toggle v0.96.7's commit message
feat: offer the Polaris denoise model and document it

- add denoise polaris-1.0 with its fp16, int16 and int8 builds, now published
- AI denoise page entry covers all three models and notes that only the Polaris one has int16 and int8, so GraXpert v3 cannot run on the Hexagon NPU at all

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.96.6

Toggle v0.96.6's commit message
feat: name power-box channels per rig and split readings from controls

- SwitchChannel gains a stable Key (PROPERTY.ELEMENT over INDI, #index over ASCOM/Alpaca) that survives reconnects, unlike the positional id
- per-rig SwitchChannelNames map, overlaid by the API as displayName
- PUT /api/switch/names to store them
- power box panel renders read-only channels as a separate Readings block instead of interleaving sensors with outlets
- rename mode in the panel; new strings translated in pt-BR, es, fr and de

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.96.5

Toggle v0.96.5's commit message
fix: relay preview frames without blocking the capture handler

- RelayImageAsync fans the raw frame out fire-and-forget instead of awaiting the per-client WebSocket drain
- capture cadence is no longer gated by the browser download speed; a slow client skips frames via the existing SendLock backpressure
- LatestImage cache + LZ4 still run synchronously, so /api/image/latest and GetLatestJpeg are unchanged
- detached send uses CancellationToken.None so a disposed caller CTS cannot fault an in-flight send

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.96.4

Toggle v0.96.4's commit message
docs: update the Orange Pi 4 Pro benchmark to 180 (Polaris 0.96.3)

Was 156/147 on Polaris ~0.90; the newer build's faster capture/encode
path lifts it to 180, no thermal throttling. Refresh the reference table,
the website row, and the assistant knowledge mirror.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.96.3

Toggle v0.96.3's commit message
site: Orange Pi Zero 3 image size (4.79 GB)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.96.2

Toggle v0.96.2's commit message
fix: write the camera OFFSET to saved FITS/XISF when the driver omits it

EnrichMetadata already back-fills GAIN, camera name and BayerPattern from
the connected rig when the per-frame metadata came in empty, but had no
twin for OFFSET, so save paths that do not stamp it (flat wizard,
live-stack auto-save, client-saved stacks, native SDK adapters) wrote no
OFFSET card. Fill m.Camera.Offset from the rig's DefaultOffset (what was
actually applied) when it is 0; the writers still emit OFFSET only when
non-zero, matching GAIN.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>