Closed anthonylavado closed 2 years ago
Perhaps this can only be answered after refining, but..
I have an LG C9, what can I do (and other people with the same or other tv's/web OS versions) to help with testing :)?
I can of course just load it onto my TV and use it, report bugs, but perhaps part of the refinement would be to make an excel document or something with a list with all features that should be tested and the testing results on each web os version?
@sander1095 Thanks for the offer! At this point, it's just making sure that playback (start and resume) works with our demo content. If that passes here, then LG should in theory have everything else satisfied from the test results they gave us before.
It's a bit funny because the app itself is a special wrapper for the web interface loaded off the server. Once this gets out to LG, we'll almost never have to update it, since updates to the Jellyfin server would bring the enhancements needed.
So far it's been going well. I'll let you know if I need anything extra though. The heavier testing work would probably be when we go to try and support older TVs.
Hey, I'm have an LG C8 (I think it's Webos 4.5?), running jellyfin-webos version 1.0.1 with nightly jellyfin server and resume doesn't work. The issue where the resume and restart button were both "selected" seems resolved, but pressing the resume button actually restarts. When using a desktop browser resume does work as expected. I'd be happy to assist in any way I can.
@anthonylavado
Do you have a link to the demo content?
Also, would it be an idea to make a special tag for bugs specific for this "push to store" goal and create a new issue for @samcon 's report? Not sure how you guys wanna handle this!
@Sander1095 There is a tag that I've used here, release critical
. That can be used.
The demo content is the same as on the public demo server, just on a private install. Sadly the demo server is not running 10.8 at the moment, but our private one at least will be updated soon.
The gist of the demo content is that it's deliberately easy to play. All media is H264 with either stereo AAC or MP3 audio, and in an MP4 container. Nothing should require transcoding, and all clips are about 5-10 minutes in length. While this may seem "rigged", it's because we just need the app to pass - everything else is fixed by independent server updates.
I've updated the list above. So far so good for webOS 6 and 10.8.0-alpha5. On to the next item.
I've revised the list of tasks in the first comment to include more detail about what's needed to bring this the rest of the way through.
Testing against webOS 5.x was successful, so that confirms at least webOS 5 and 6 for now. I have installed additional emulators for webOS 1 - 4, but testing for anything below 4 may be limited for the time being. We'd like to get the app out on the official store as soon as possible, and it has proven difficult to support older browsers in some cases (see the LG release list to see just how far back the browser version goes).
Hi guys. I have webOS 4.40-9 tv, can help with test if you need it and tell me what to do (new to git) :)
I want to do a PR to fix the whole server address remember edge case. I'll have more info tomorrow on a possible solution
Sorry for hijacking this thread: Is there a way to prevent webOS from uninstalling the manually installed dev version after a while?
Sorry for hijacking this thread: Is there a way to prevent webOS from uninstalling the manually installed dev version after a while?
@anthonylavado I tested this in the Webos 4.0.0 Emulator and it works great! I also did not see that issue where if you have connect automatically checked, then it wont let you change the server address. Anything else we need to verify before we deploy?
Hello, I am interested in using Jellyfin as my main media player. I just bought a new LG OLED tv but I am not at the point of rooting it or sideloading jellyfin yet, so I found this issue about publishing it to the LG store. I am interested in contributing to move this issue forward, and I will try to setup a dev environment. Are there any new updates on the current open issues? As @Fyb3roptik mentioned, is that issue already resolved?
Sorry for hijacking this thread: Is there a way to prevent webOS from uninstalling the manually installed dev version after a while?
Actually you no longer have the root the tv for this and nor do you have to install the Developer SDK just to install the app. I made a guide here This install method is permanent and works pretty well.
@dab2020 What is the url is should call regularly to make sure the install is permanent? the link in the guide is broken.
@brmdbr Take a look at this for more instructions: https://github.com/webosbrew/dev-manager-desktop . It contains intstructions on how you can set it up with IFTTT.
I tried it with IFTTT but it stopped working. I am pretty sure it was my fault, though. IFTTT is likely a lot easier to set up, but I like doing things myself. In any case, I use this script to make a cronjob run it every 4 hours. Your TV doesn't need to be on, as far as I know. :) If the TV is off, it will just use the cached sessiontoken. IDK if the session token changes.
#!/usr/bin/env bash
set -Eeuo pipefail
echo "----------`date`----------"
echo "Requesting SessionToken"
sessionToken=$( ssh -i /home/pi/.ssh/tv_webos -o ConnectTimeout=10 -o StrictHostKeyChecking=no -p 9922 prisoner@192.168.2.11 cat /var/luna/preferences/devmode_enabled ) || true
if [ -z "${sessionToken}" ]; then
echo "Connection to TV failed. We will use the cached version saved in /home/pi/Projects/webosdevmode/webos_devmode_token_tv.txt instead"
sessionToken=$(cat /home/pi/Projects/webosdevmode/webos_devmode_token_tv.txt)
else
echo "Call succesful: $sessionToken"
echo "saving session token in temporary file (/home/pi/Projects/webosdevmode/webos_devmode_token_tv.txt)"
echo ${sessionToken} > /home/pi/Projects/webosdevmode/webos_devmode_token_tv.txt
fi
if [ -z "${sessionToken}" ]; then
echo "Unable to get token" >&2
exit 1
fi
echo "Requesting LG servers to extend DevMode on the TV using sessionToken: ${sessionToken}.."
checkSession=$(curl -k --max-time 30 "https://developer.lge.com/secure/ResetDevModeSession.dev?sessionToken=${sessionToken}")
echo $checkSession
exit 0
Personally all I have is a cron entry doing a curl on the URL, like so
$ cat /etc/cron.hourly/lg
#!/bin/bash
curl -v https://developer.lge.com/secure/ResetDevModeSession.dev?sessionToken=the_token
Works for me. Obtained the session token from the dev-manager-desktop once.
@stoically that is super interesting and way easier than mine!
Does the session token never change? Would anyone know more about this?
What does a session mean in this context? The entire lifetime of the devmode of the tv being activated? I am a bit puzzled about why it would never expire or change.
Is this still alive? If so, what is the estimated publish date?
Is this still alive? If so, what is the estimated publish date?
As I understand, we need to wait for the release of server 10.8 (currently in beta 2), since it fixes several issues that blocked the publishing before.
Does the session token never change? Would anyone know more about this?
@sander1095 Every time the Developer mode is enabled a session starts. It is assigned a token that identifies it to the LG developer API. When the dev mode session expires so does the token. However if you keep extending the session, theoretically, you could keep the same token forever. It is not bound to specific hardware nor is it permanent, if you turn off the developer mode and turn it back on, the Token will change.
@sander1095, @dab2020 Yes, token does not change while dev mode is activated. I was struggled by finding session token itself, this comment on reddit was helpful. In my case on Manjaro i wasn't able to connect to the TV by ssh cause it uses older version and i needed to add Tv's ip to exceptions. Then you have session token, you can use anything to renew session period by sending GET request. I use JF app on TV few weeks already without troubles.
In my case on Manjaro i wasn't able to connect to the TV by ssh cause it uses older version and i needed to add Tv's ip to exceptions.
Wouldn't using the Dev Manger app make this a lot easier for novice users? No need to mess about with SSH. Just simply get the link to send a GET request to.
Wouldn't using the Dev Manger app make this a lot easier for novice users? No need to mess about with SSH.
Well... Now i know about it, thanks)
lol
will this ever be published?
will this ever be published?
Read the response to this very question a couple of comments up instead of spamming all of us who subscribed to this issue.
10.8 officially released! Cannot wait to see this bad boy out there
@Fyb3roptik What do you mean? I don't see it in the store...
10.8 Server was released
@Fyb3roptik oh the server
Can we get status update please? and what else is left, im sure we all want to help in anyway we can and get this out after a 3 years in the making.
They are working on the resume functionality: https://github.com/jellyfin/jellyfin-webos/issues/46 PR has been made but it's not optimal yet. 10.8 didn't fixed the issue.
Looks like 10.8.1 fixes it! WOOT!
Then what's now?
Then what's now?
The Jellyfiin team is most likely going to submit the app for review by LG, which is a process that can take weeks or even months.
With the release of 10.8 it was said that the app had already been submitted for review(iirc).That was weeks ago,so i suppose if it was submitted,we should have an answer pretty soon.
Can we all stop posting these questions and other irrelevant comments? This would be better suited for the subreddit/official forum.
Every time someone asks what the state is, 66 people get notified. Every time someone is happy that a new version is released, 66 people get notified. I know this comment will also notify 66 people, but I hope it's the final time.
All this noise clutters up the issue, making it more difficult for the devs to find potential issues or other information they might need. Perhaps even slowing down the release process.
They are working on it. Be patient.
You don't need to wait for this to be released to the store officially. It's pretty simple to run jellyfin in developer mode on your TV, links have been posted in this thread. And if you need help, post it on the subreddit, people (including me) will be happy to help you out.
@sander1095 I'm sorry that I have to say this - but you just did the very thing that you want others not to do. And so am I. Also it was said before in this very issue. It can't be solved by trying to teach people, it can only be solved by changing the tools we're using. And if I could, I would mark my comment as offtopic. I'm clearly having too much time.
Release available on the LG Content Store for those running webOS 6+ (models from 2021 and newer).
Closing this issue to create a new, limited one for error tracking and future fixes.
There is one small bug to fix for webOS 5.x, and then we can resubmit with that update. After, more fixes will likely follow. We'll try our best to get as far back as webOS 3.x, but I am less optimistic about webOS 2.x and 1.x. If we get to 3.x, that brings us as far back as TVs from 2016 (running Chromium 38 from 2014!). You can see what versions of the browser are included here: https://webostv.developer.lge.com/discover/specifications/web-engine/
Thanks for your patience all. I'll be posting a blog post and link on Reddit/Twitter/Chat soon.
This is to track submitting the app to the LG webOS Store.
Main Test Plan
Issues to Resolve
Issues to Look At
61
59
53
Final Notes
Overall Notes Server minimum resume duration needs to be lowered from the default 300s to something like 120s, since most demo clips are approximately 5 minutes long. Since the minimum resume watch time is 5% progress, this means that an average 5 min clip will be resumable after 15s watch time.
webOS 6 and 10.8.0-alpha5 Testing appears to be good so far. Tested against sample TV show and Movie content, both responded to start playback, resume, and start from beginning.
A possible UI issue in some cases where the hover state still isn't correct on the play button when going back from actively watching something. It corrects itself if you move the cursor left or right, or if you leave the item and re-enter it. Earlier issue of both buttons being highlighted blue is gone (resolved in jellyfin-web). Need to open an issue on the web repo for this to be fixed in 10.8. Example:![image](https://user-images.githubusercontent.com/596194/148977355-0f26b34b-6567-42b9-ad39-383bea246e66.png)
Play/Resume Button Issue
As mentioned above, I've created a corresponding issue in the web repository, and there is a draft PR to fix it. See: https://github.com/jellyfin/jellyfin-web/issues/3320 https://github.com/jellyfin/jellyfin-web/pull/3340
URL Validation at Server Entry
Testing completed, I am satisfied that this will work going forward. See: https://github.com/jellyfin/jellyfin-webos/pull/72
webOS 5 and 10.8.0-alpha5 Testing completed. All functions appear to be working, and I was able to resume content with no issues on the private test server. The visual issue from Jellyfin-web still remains, but that is unrelated to the app. It will appear to be fixed when the web interface is updated.
webOS 5 and 10.8.0-alpha5 Partial testing completed. Music played and stopped with no issue. Videos seem to playback and resume without issue. I just want to do another pass of this on webOS 4 before I "sign off" on it.
I should stress that the demo server has had specific setting adjustments to ensure that resume happens, which included shortening the minimum time to consider something resumable. All content has been encodes to ensure playback is as smooth as possible with no need to transcode.
Play/Resume Button Issue Resolved The relevant PR in Jellyfin-web has been approved and merged. This will be part of the next build of Jellyfin. When I next update our private demo server, this will then appear correctly for LG's tests. I'll see if there's any way I can selectively patch it in the meanwhile.
While I'll still need to do another pass on webOS 4, this gives me confidence that we'll be able to submit soon. Other issues as they come up (and as mentioned above) will likely not require a specific webOS client update, and can be resolved on the server side. The only exception would be a "reset connection" option, but that is also cleared by removing the app and re-installing it again.