Improve login recovery, add experimental native archive streaming, and add Docker build support#14
Improve login recovery, add experimental native archive streaming, and add Docker build support#14cheirekov wants to merge 4 commits intonirvana-7777:Omegafrom
Conversation
modified: pvr.eon/resources/language/resource.language.bg_BG/strings.po modified: pvr.eon/resources/language/resource.language.de_de/strings.po modified: pvr.eon/resources/language/resource.language.en_gb/strings.po modified: pvr.eon/resources/language/resource.language.en_us/strings.po modified: pvr.eon/resources/settings.xml modified: src/PVREon.cpp modified: src/PVREon.h modified: src/Settings.cpp modified: src/Settings.h modified: src/http/Curl.cpp modified: src/http/HttpClient.cpp new file: tools/debug/analyze-eon-har.sh new file: tools/docker/android-aarch64.Dockerfile new file: tools/docker/build-android-aarch64.sh new file: tools/docker/build-linux-amd64.sh new file: tools/docker/container-build-android-aarch64.sh new file: tools/docker/container-build-linux.sh new file: tools/docker/linux-amd64.Dockerfile
The root cause was not the password payload. Vivacom’s live broker brand list changed order, and the addon was still treating the provider setting as a raw array index. In current live data, Vivacom is brand index 2, but the addon setting for Vivacom is still 3, so the addon was resolving Nova’s forthnet API base instead of Vivacom’s. I patched PVREon.cpp (line 206) and PVREon.cpp (line 412) to resolve providers by stable brand identifier (vivacom) instead of current broker position. I also verified live auth against the real Vivacom base: device registration, password token exchange, v1/sp, and v1/households all succeed there, and fail on the wrongly resolved forthnet base.
|
Fixed the auth regression. |
|
Oh did not see this one before: Some tests are failing: |
Summary
This PR improves three main areas of the addon:
Login and channel loading fixes
Some installations could fail to load channels even with correct credentials because stored web device state became stale and the addon kept hitting
401errors on the EON API.This PR improves the auth flow so the addon can recover more reliably when previously saved device registration is no longer valid.
Result
Experimental native archive streaming
This PR adds an experimental native archive streaming mode for replay/archive playback.
The main goal is to improve archive playback from EPG items, because the standard inputstream-based path was limited by the way replay manifests are exposed by the backend.
What this improves
EPG -> Play programmefor already-started events now behaves as a growing replay windowNotes
Switchbehavior is intentionally left on the normal live playback pathBuild system / packaging
This PR adds Docker-based build support so the addon can be built reproducibly without requiring local system package installation.
Added build coverage
x86_64armv7aarch64aarch64armv7There is also support for Nexus-compatible packaging/building needed for some older Linux ARM devices.
Compatibility fixes
During testing on several Android and Linux devices, some extra compatibility fixes were needed:
inputstream.adaptiveminimum version from the target Kodi major versionstringstream-based code paths that caused runtime loading issues on Android ARMv7Testing
Tested on multiple real devices/boxes, including:
aarch64armv7Verified scenarios include:
Known limitations
Switchdoes not yet use the experimental archive/timeshift path