Skip to content

Improve printer monitoring and development workflow#14

Merged
mrmees merged 7 commits into
mainfrom
dev
Jul 11, 2026
Merged

Improve printer monitoring and development workflow#14
mrmees merged 7 commits into
mainfrom
dev

Conversation

@mrmees

@mrmees mrmees commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • improve temperature monitoring defaults, graph scaling, and webcam opt-in behavior
  • add side-by-side debug packaging and a generated registry-backed command reference
  • improve extrusion accessibility and completed-print totals
  • stabilize print progress by preferring M73, falling back to file position, and quarantining stale prior-job values

Why

This batches the current dev work for a clean merge back to main. The final review found that a stale M73 value could reappear after the new-print settle window and become pinned by the monotonic clamp; the reducer now discards that stale source and permits the corrective file-position update.

The command-reference wording was also narrowed to accurately describe its scope as the registry-backed printer-control surface rather than every auxiliary HTTP request.

Validation

  • ./gradlew :app:testDebugUnitTest :app:lintDebug :app:assembleDebug --no-daemon
  • command-reference drift test
  • regression coverage for same-frame and staggered stale-M73 updates
  • git diff --check

mrmees and others added 7 commits July 6, 2026 12:34
…dden sensors

The temperature graph Y-range was computed over ALL traces, so a trace hidden
from the graph still stretched the axis. Compute the range from visible traces
only, and rescale immediately when visibility toggles (even while frozen).

Also tint the list-row icon of a hidden-but-listed sensor with the muted token
so it reads as "no matching line on the graph."

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESS2d4gMTKnGyVUxAcDYyd
…ault

On a printer's first visit, select every temperature_sensor so the monitoring
page shows all thermometers out of the box. Idempotent per-profile sentinel;
existing selections preserved; correlated to the live session's capabilities
(sessionConfig) so a profile switch can't seed printer B with printer A's caps.

Webcam now defaults OFF (app-global) until the rotation/stability issues are
fixed; the App Settings toggle initial value matches so a fresh install never
flashes it on.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESS2d4gMTKnGyVUxAcDYyd
…rence

Debug builds now install as works.mees.jiib.dev ("jiib dev") alongside the
signed live app, so the dev branch can be tested between releases without
uninstalling. Separate applicationId => separate app data.

Add docs/commands/COMMANDS.md: a human-readable reference of the 86 commands
jiib actually sends, generated from CommandRegistry.all joined to catalog.json
(NOT the drift-prone registered flag) and drift-guarded by
CommandReferenceDocDriftTest. Forward jiib.* system properties to the test
worker so the doc can be regenerated. Linked from the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESS2d4gMTKnGyVUxAcDYyd
The two Focus-dock command buttons were icon-only (label=""), violating the
"<=2 buttons get a label" rule; they now render icon+label.

In OutlinedControl's icon+label branch, mark the glyph decorative
(clearAndSetSemantics) so TalkBack reads only the visible label, not the raw
Material Symbols ligature name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESS2d4gMTKnGyVUxAcDYyd
The Complete home Focus reused the active-print data block, so it kept showing
the live current-Z / current-layer, which are meaningless once the toolhead
parks. Show the total object height and total layer count instead (they never
change during a print), via total-only formatters gated on an isComplete flag.
Active Printing/Paused is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESS2d4gMTKnGyVUxAcDYyd
…notonic

Progress mixed virtual_sdcard (file position) and display_status (slicer M73)
with last-writer-wins per frame, so partial Moonraker diffs flipped the ring
between two disagreeing values (the jank). Persist each source separately,
prefer the M73 estimate with file-position fallback, and clamp monotonically
within a print so it never ticks backward. Reset at print start, and guard the
start window against a stale prior-job M73 (reconnect / back-to-back queue).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESS2d4gMTKnGyVUxAcDYyd
@mrmees mrmees merged commit dbdb4ef into main Jul 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant