Skip to content

Wraparound list navigation + fix installer download on OpenPLi 9.2 - #58

Merged
pQu4k3r merged 2 commits into
mainfrom
develop
Aug 20, 2026
Merged

Wraparound list navigation + fix installer download on OpenPLi 9.2#58
pQu4k3r merged 2 commits into
mainfrom
develop

Conversation

@pQu4k3r

@pQu4k3r pQu4k3r commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Wraparound Up/Down navigation on the country list and channel list: neither screen bound "up"/"down" in its ActionMap, so movement at the list boundaries was left entirely to the native eListbox widget's default behavior - which varies by Enigma2 image/build (confirmed: wraps by default on one user's OpenATV box, doesn't on another user's box running a different image). Both screens now explicitly handle it, wrapping (idx +/- 1) % len(list) via moveToIndex() - the same pattern already used elsewhere in this file by the search-results screen. This makes the behavior deterministic and identical on every image.

  • installer.sh: try curl before wget for the download step. A user reported the installer failing on OpenPLi 9.2 (Python 3) with wget: error getting response: Connection reset by peer, while it works fine on OpenATV. That exact phrasing is BusyBox wget's own error message - a reset specifically while getting a response (DNS/TCP already succeeded) against a server like GitHub that requires modern TLS + SNI is the classic symptom of BusyBox wget's limited HTTPS support on some embedded builds. The installer now tries curl first (installing it best-effort if missing), falling back to the original wget call only if curl is unavailable or fails. OpenATV's already-working path is untouched.

Neither MainVavoo (country list) nor vavoo (channel list) bound "up"/
"down" in their ActionMap, so arrow-key movement at the list boundaries
was left entirely to the native eListbox widget's default behavior -
which varies by Enigma2 image/build (confirmed: wraps on one user's
OpenATV box, doesn't on another user's box running a different image).

Both classes now explicitly handle it via moveUp()/moveDown(), reading
the current index off the widget and moving to
(idx +/- 1) % len(self.cat_list) - same pattern already proven in this
file by VavooSearch's own hand-rolled navigation. This makes the
behavior deterministic and identical on every image instead of
depending on whatever a given box's native default happens to be.
User report: works on OpenATV, fails on OpenPLi 9.2 (Python 3) with
"wget: error getting response: Connection reset by peer" - that exact
phrasing is BusyBox wget's own error message, and a reset specifically
while "getting response" (DNS/TCP already succeeded) against a server
like GitHub's that requires modern TLS + SNI is the classic symptom of
BusyBox wget's limited HTTPS support on some embedded builds.
--no-check-certificate (already present) only skips certificate
verification - it doesn't affect protocol/SNI negotiation, so it
doesn't help here.

curl generally has much more robust TLS support even on minimal
embedded images, and is the standard workaround for this class of
issue. installer.sh now best-effort installs curl alongside the
existing (fatal-if-it-fails) wget install, and the download step tries
curl first, falling back to the original wget call if curl is
unavailable or fails - only printing "Failed to download vavoo
package!" if both attempts fail. No change to the download URL or
target path, and OpenATV's already-working wget path is untouched as
the fallback.
@pQu4k3r
pQu4k3r merged commit 35a0394 into main Aug 20, 2026
7 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