Skip to content

Several bug fixes for Seed reTerminal - #80

Merged
cryptomilk merged 5 commits into
mainfrom
asn-wip
Jul 13, 2026
Merged

Several bug fixes for Seed reTerminal#80
cryptomilk merged 5 commits into
mainfrom
asn-wip

Conversation

@cryptomilk

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

Frontend Test Results

110 tests  ±0   110 ✅ ±0   0s ⏱️ ±0s
  4 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit 863577a. ± Comparison against base commit 581a040.

♻️ This comment has been updated with latest results.

cryptomilk and others added 4 commits July 13, 2026 07:18
The number of shading levels affects widget rendering (stroke
widths, icon styles, grid visibility) regardless of whether e-ink
optimization is enabled, so the field name should not imply it's
tied to grayscale-only or optimization-only behavior. Renaming it
now, ahead of moving it out of the Advanced section, also makes
room for a future color-display equivalent.

Adds a 1.2 -> 1.3 config entry migration to rename the stored
option key on existing installations.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
display_levels affects widget rendering (stroke widths, icon styles,
grid visibility) regardless of e-ink optimization, so it no longer
belongs inside the Advanced section. It's now a top-level field on
the Display Settings form.

The remaining Advanced fields (dither algorithm, measured palette,
exposure, saturation) only affect optimize_for_eink(), which
early-returns when optimize is off, so that section is now hidden
until "E-ink optimization" is checked. Toggling optimize on requires
saving once and reopening Display Settings for the section to
appear, since HA config flow schemas are static per form render.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…tant

The display_settings options step fell back to the global
DEFAULT_DISPLAY_LEVELS (16) when no value was stored yet, ignoring
the device's own preset (e.g. reterminal_e1002 supports 256 levels,
trmnl_og only 2). Resolve the preset first and use its
display_levels as the fallback default so a fresh entry pre-selects
a value the device can actually reproduce.
OpenDisplay firmware reports the panel's native buffer as landscape
(1872x1404), not portrait. The old preset caused a spurious 90°
rotation on the default landscape orientation, producing a portrait
PNG that OpenDisplay's own fit logic then mangled trying to place
back into its actual landscape buffer.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Python Test Results

1 051 tests  +11   1 051 ✅ +11   24s ⏱️ ±0s
    1 suites ± 0       0 💤 ± 0 
    1 files   ± 0       0 ❌ ± 0 

Results for commit 863577a. ± Comparison against base commit 581a040.

This pull request removes 4 and adds 15 tests. Note that renamed tests count towards both.
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_has_advanced_section
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_rejects_invalid_grayscale_levels
tests.test_config_flow.TestMigrateEntry ‑ test_migration_skipped_when_already_at_minor_version_2
tests.test_websocket.TestWsRenderWidget ‑ test_config_includes_grayscale_levels
tests.test_config_flow.TestEinkDashboardConfigFlow ‑ test_reterminal_e1003_landscape_creates_entry
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_defaults_to_device_preset_levels
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_has_advanced_section_when_optimize_on
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_has_top_level_display_levels
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_hides_advanced_section_when_off
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_prefers_stored_levels_over_preset
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_preserves_advanced_when_optimize_off
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_rejects_invalid_display_levels
tests.test_config_flow.TestEinkDashboardOptionsFlow ‑ test_display_settings_saves_optimize_toggle_on
tests.test_config_flow.TestMigrateEntry ‑ test_migration_fixes_reterminal_e1003_landscape_rotation
…

@cryptomilk
cryptomilk merged commit 53185c1 into main Jul 13, 2026
10 checks passed
@gaam846

gaam846 commented Aug 6, 2026

Copy link
Copy Markdown

Hi, I have a question. It is possible to test it? I don’t know how to handle it. Can you give a how to use it?

@cryptomilk

Copy link
Copy Markdown
Owner Author

Somewhere on your HA box you have a custom_components directory and there is an eink_dashboard directory.

If you clone this repo and run ./scripts/build_dist.sh --tarball it will create a eink_dashboard-0.6.0.tar.gz. Copy that to your HA box and unpack it. Replace the custom_components/eink_dashboard directory with the one you unpacked.

@gaam846

gaam846 commented Aug 6, 2026

Copy link
Copy Markdown

Thanks a lot.
I am not able to working with your explanation and

I am afraid to crash my actually configuration.

I think it is better for me to wait for update maybe a pre release.

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.

2 participants