bennettpeter / android-MythTV-Leanfront

:tv: MythTV Android TV frontend
GNU General Public License v3.0
45 stars 9 forks source link

Not all directories showing in the videos (not recordings) section #62

Closed zachron closed 1 year ago

zachron commented 1 year ago

When i go into the videos section of the app, and then then have a couple directories in there, and if one of those directories has more then 10 directories under that, it will only show 10 of them. videos->directory1->directory2(this has more then 10 directories)

it shows it has more then 10 on the left side, but when you go into it, it only shows 10. you can search and find the missing files in the directory, but it does not show in the navigation

bennettpeter commented 1 year ago

To test this I created a directory structure under the videos directory on my test system. I created 14 directories under "videos/TV Shows/Drama", 1 of them is empty. Leanfront will not show empty directories, directories without videos, or directories that have not been scanned.

Leanfront shows all 13 directories that have videos in the Drama row with the count of 13 on the left.

Make sure to run "mythutil --scanvideos" on the backend and refresh leanfront using the refresh icon on the last row.

How many directories do you have? When it shows only 10 directories in the row, if you press enter on the row, it will drill down to show one row per directory. Does this show all the directories correctly?

zachron commented 1 year ago

Yes empty directories it does not count (i have a handful of those there too), on the left row it shows 12 (and they all have been scanned, and show up correctly in mythfrontend), but when i enter into it it will only show 10 items. As a test i moved one of the directories that was showing up out of that directory structure, re-scanned and it disappeared, and one of the missing ones appeared, but still only 10 items. All 12 items have videos in it that have been scanned, if i search (in the search bar) for the directories that are missing it find them, but other wise its not showing up.

bennettpeter commented 1 year ago

This is strange. The count in the header column is the size of the array of items to the right. I don't know how that can be wrong. I need to be able to recreate the problem.

Please let me know:

zachron commented 1 year ago

the android device is a TCL 65R646, running android 11 version v0-428-ged99c10 other lists do show more then 10 items it seems to be only this one directory which i agree is very wierd. so when on the main video row on the right, all 12 items show up to the right of the directory with the name and number on it. but if i press enter on that directory, then the row of directories only show 10 of them.

i hope that makes sense, if needed i can make a video of it, in case i am not explaining it very well.

bennettpeter commented 1 year ago

I think I understand now what is happening. Please can you get a list of your videos directory structure and attach it as a file or a pastebin. I suggest you do it this way:

cd <videos directory>
find . \( -type f -o -type d \)  -ls > /tmp/dir.txt

Also please identify which directory is the one having the problem.

zachron commented 1 year ago

attached is the requested information. it is the "newseason" directory that does not show the correct information.

dir.txt

bennettpeter commented 1 year ago

From the list, you should see these directories under newseason:

Burn.Notice How.I.Met.Your.Father Impractical.Jokers Kims.Convenience Poker.Face Psych Psych Scrubs Star.Trek Stranger.Things Veronica.Mars Willow

I will find out why you are only seeing 10 of them.

bennettpeter commented 1 year ago

I suspect that one of your videos is causing an error, and the program simply stops processing the list at that point.

I have created a debug version of leanfront that will skip the file that causes problems and continue with displaying the rest. You should see the full display with just one file missing.

Please install the debug version from https://dl.orangedox.com/pCBmBm "Debug Versions".

Whether or not this fixes the problem, please take a log. Start the log before you run leanfront, as follows on a linux machine. The android will need to have developer mode enabled.

adb connect adb logcat lfe:D *:S |& tee android.log

Run leanfront and navigate to the newseasons directory.

Once that is done, press ctrl-C to stop the log and send me the android.log file. This will hopefully allow me to see exactly what is causing the error with one video, so that I can fix it in the code.

Run adb disconnect after this.

zachron commented 1 year ago

done and done. i installed the debug version, and ran the log as requested. it is attached android.log

it did not fix the issue, i did see which one is missing in the list though, and it is the Veronica.Mars folder does not show up. anything else i can do to help with this let me know. and thanks for looking into this.

bennettpeter commented 1 year ago

I am afraid that log does not indicate any error.

One thing that occurred to me is the parental level. If you set a parental level it will not show any videos with a level less than was set. The level is set in leanfront settings->Program List Options. The default setting of 4 will show all videos.

If that does not solve it, I think the next step is to get me a copy of the sqlite database and settings from the android device

Get the acopy.sh script from the extras directory in github, here -> https://github.com/bennettpeter/android-MythTV-Leanfront/blob/master/extras/acopy.sh

Shut down leanfront. Run this:

acopy.sh -f <android-ip-address> --db --settings 

This will create a directory /var/tmp/acopy. If it prompts you to run vacuum, respond Y if you have sqlite3 installed, otherwise respond N.

zip or tar everything in /var/tmp/acopy and put it somewhere I can get it (e.g. google drive and share it).

If you prefer to use a different directory than /var/tmp/acopy you can specify --stage dirname on the acopy.sh command.

In the meantime you can carry on using the debug leanfront, or if you prefer you can install the production version again. To install the prior version you will need to use the -d parameter (downgrade).

adb install -r -d <apk-filename>
zachron commented 1 year ago

sorry took me a few days to get this done. the parental setting i had not messed with and appears to be set to the default of 4.

here is a copy of the database as requested. https://frickalou.com/leanfrontdump.tar.gz

let me know if there is anything else i can do to assist.

bennettpeter commented 1 year ago

I have the solution. I have posted a new apk (20230513-leanfront-release-v0-430-gdbf3aba.apk) in https://dl.orangedox.com/pCBmBm in the "Trial Versions". If it is OK I will move it to the main section in a few days.

Thank you for reporting this. The database you supplied was key to finding the problem.

The condition that triggered the bug that caused "Veronica.Mars" not to show: The last subdirectory of "Stranger.Things" is named "Season.4" and the only subdirectory of "Veronica.Mars" is also named "Season.4". The logic did not handle this situation.

zachron commented 1 year ago

Awesome. that has resolved the issue. and now everything is showing up correctly. Thank you.