Add basic game detection + scan tools on import, Speed up thumbnails #379
Add basic game detection + scan tools on import, Speed up thumbnails #379ShaneIsrael merged 9 commits intoShaneIsrael:developfrom
Conversation
|
Hey, I'll definitely give this some heavy testing. Will probably put it into the develop branch later tonight as that's (sadly) the easiest way for me to test right now. May not get you any feedback though until tomorrow. Was also wondering if you could address this issue. I actually didn't even realize this in my tests because I was just excited to have this feature that I'll be using, but if the api key isn't provided could we default the games tab to hidden? Or it could be an additional toggle setting to enable/disable it so you don't have to lose your key. |
|
@dammitjeff Okay merging to the develop build. Should be able to find time either today or tomorrow to test. |
|
@dammitjeff So one issue so far, the games tab seems to be broken now. When I try to open a game category I am met with this error. |
|
Hmm, when you mean broken, do you get hit by a white screen by chance? Or does nothing end up loading? |
Is the v.fireshare url the one that you're running this dev page on? If so, it seems like all the other games seem to load their clips just fine, but arc raiders is the only one that's having that issue. I do see that you have arc clips public. Are they tagged correctly with the game Arc raiders by chance?
Noted. Yeah it hasn't failed, just longer libraries will take a bit longer, and the error gets a bit jumpy and errors out. I'll make sure to program in a solution for bigger libraries.
Correct yeah, if it's got nothing in there, it's gonna guess very poorly, that's the downside of this method. I could definitely program in to search the file path of the location of the videos first. The issue gets a bit more complicated when uploading from the site, as the way the app is programmed right now, it cannot read file paths of external folders. We can scan local file paths though, just needs some time. For now, a good solution is to use the edit button > select all your clips from that folder > link clips that way. |
|
Hmm. Maybe a setting where you can choose your preferred method? (Folder name and fallback to filename) or (Filename and fallback to folder name) |
|
We could def plan to add that in the future, consider this just version 1 of the game detection system. I think this will still help out a lotttt of people compared to having no system haha. Let me get a fix on that "Failed to scan videos for games" error for you |
|
Sure. I wonder if as a compromise for now if a file only has numbers/special characters in the name that it fallback to folder name? At least for me most of my files are just timestamp names with no title to them. |
Yeah I'll do my best unfortunately I've already tagged most of my library to a game so I won't be able to do a large dataset test but I can easily add a couple new game clips with timestamp only titles to test. |
|
@dammitjeff Not sure if this is part of this PR but I noticed that on the games tab the search videos field at the top doesn't seem to work.
|








• Added Caching headers, speeding up game tab and video thumbnail load times. Previously, the browser would keep thumbnails and game assets in cache, but would revalidate every single time you clicked on the Games or My Videos Tab. The browser is allowed to skip revalidation until the max‑age expires (I have it set to 7 days by default), so those 40 thumbnails don’t generate 40 network requests every time.
• Added basic primitive fuzzy search for video files using RapidFuzz. When importing a new video, the server will clean the filename, attempt to match it against your existing database, and suggest an existing game. If it cannot find an existing game, it will search SteamgridDB as a fallback. Hitting confirm will create a new game and auto link for you. Also created new

GameDetectionCard.jscard to keep things tidy, or in case we must refer to it in the future.This does require installing new Python deps (rapidfuzz added to requirements.txt), so re-pull the latest image if it doesn't work.
• Added


Start Manual Scan for Missing Gamesbutton in Settings. Since this system currently only works for new uploads, figured we could use a button to manually search all videos that do not have a game attached.Gotta stress this needs some bug testing. I assume this will require some UI tweaks, but also looking for edge cases or bugs in the way it handles strings file names that it can't recognize. I based this heavily off of the Nvidia shadowplay structure of naming games, but it should be able to fuzzy search most file names. It's not going to be able to detect it perfectly every time, but if we get like 90% of obvious searches correct, I'll be happy haha.
Full disclosure, Claude was used to develop segments of this code, but was closely reviewed by a real human.