Tool Others F95Checker [WillyJL]

5.00 star(s) 21 Votes

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
sqlite3.OperationalError: near "DROP": syntax error
oh. oh god. what did i commit.
i sincerely i hope i didnt just break your database...
BEFORE YOU DO ANYTHING
do not open the tool for now. follow what i tell you to do.
open a terminal and run
./F95Checker -c 'import sqlite3; print(sqlite3.sqlite_version)'
REMEMBER THE -c !
 

Jarulf

Active Member
Aug 9, 2020
808
1,420
Too Late!
Actually, everything seems fine. I did run that command though, just to be sure. Thanks. :)
Maybe I should back up that database before I try more stuff. I mean, I recently got a new computer and backed up everything important on the old one, except I forgot ~./config/F95checker/
That was tedious...
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Too Late!
Actually, everything seems fine. I did run that command though, just to be sure. Thanks. :)
Maybe I should back up that database before I try more stuff. I mean, I recently got a new computer and backed up everything important on the old one, except I forgot /~.config/F95checker/
That was tedious...
kinda forgot to say it, but i needed to know what that command outputs...
 

Jarulf

Active Member
Aug 9, 2020
808
1,420
Oh, uhm, just so there aren't any misunderstandings here. If it matters, I ran the command with the stable version of the tool, not one of the betas.
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
just 3.31.1
i feared so. i made a change to the database schema recently to support changing column types, in order to implement what i explained before with the new finished checkboxes behavior. but i forgot that ALTER TABLE was added in sqlite quite late, for you in particular DROP COLUMN was added in 3.35. issue is, i make the linux builds on ubuntu 20.04 so that they will support older installs for the users aswell, but this means that it ships with sqlite 3.31.x... ill rewrite to support older sqlite in a few minutes.
however, you got lucky and only the DROP TABLE part failed. the migration of the values worked correctly, so it just means you have a temporary column stuck in the database that will do nothing lol. but i need to fix it because for tohers, the migration itself might fail, no tjust the cleanup like it did for you
 
  • Like
Reactions: Jarulf

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Oh, uhm, just so there aren't any misunderstandings here. If it matters, I ran the command with the stable version of the tool, not one of the betas.
STOP for the love of god stop
i am actively making changes to the database schema. i will always ensure backwards compatibility, but old tool versions will not understand new database schemas, and might mess it up and lead to data loss when the new version tries to migrate the old-but-new-but-old database
 

Jarulf

Active Member
Aug 9, 2020
808
1,420
STOP for the love of god stop
i am actively making changes to the database schema. i will always ensure backwards compatibility, but old tool versions will not understand new database schemas, and might mess it up and lead to data loss when the new version tries to migrate the old-but-new-but-old database
Lol, ok I am stopping. Not touching the thing, or the database or anything else until you say I can. :)
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
in other news, i revamped the grid and kanban cell style to look more like the latest updates page:
1705916945316.png
i think it looks quite neat :D
also a lot more space efficient than before, actually looks like a grid now
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Lol, ok I am stopping. Not touching the thing, or the database or anything else until you say I can. :)
i fixed it now, once the beta build is ready you should be able to use that one.
however, i suspect that by running the stable version, you messed up the schema:
- beta migrated "played" to "finished", but crashed on cleanup
- stable still used "played", saw it missing from the schema and recreated it
- beta will see "played" again and attempt to migrate it again, but fail since "finished" already exists
now that i think out loud about this... i could make it check lol

EDIT: scrap that, old me was smart and made it check that the destination rename column didnt already exist... you should be good then!
 
  • Like
Reactions: harem.king

Jarulf

Active Member
Aug 9, 2020
808
1,420
EDIT: scrap that, old me was smart and made it check that the destination rename column didnt already exist... you should be good then!
Great! Thank you.
F95checker is such a great tool to have, really makes managing the games so, so much easier. So, again thank you for making and sharing it.
 
  • Red Heart
Reactions: WillyJL

harem.king

Engaged Member
Aug 16, 2023
2,329
3,900
EDIT: scrap that, old me was smart and made it check that the destination rename column didnt already exist... you should be good then!
I just love encountering things like that in a program.
A little foresight goes a long way.
Not every safety check will come into play. but when it does... *chef kiss*
 
  • Yay, new update!
Reactions: WillyJL

Jarulf

Active Member
Aug 9, 2020
808
1,420
1091 I can't interact at all with the app, it basically just looks like a screenshot ;)
No issues with the stable version, so the database is probably not borked. I've made a copy of it now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.
 

Sober-man

Member
Apr 3, 2023
150
259
I have suggested this before, but I see that the thread come back to life, and to prevent the old message from getting lost, I will repost it:

Post 1
You don't have permission to view the spoiler content. Log in or register now.

Post 2
You don't have permission to view the spoiler content. Log in or register now.

WillyJL please tell if I should expect anything from what I've suggested. Or at least you'll think about it. Thanks in advance!
 
Last edited:

GrammerCop

Well-Known Member
Donor
Mar 15, 2020
1,739
1,719
im working on this right now. i have it setup where it will simply remember the game's installed version whenever you enable the played checkbox, inside a finished version variable. i dont want any complex logic like what installed has. i just want the played/finished checkbox to be a checkbox, and when you mark it as played it will remember the version you had installed at that time.

what i am split on is how to show this finished version. first of all, definitely dont want it to show if it is marked as played, like the installed box does, it doesnt show the installed version if it matches the current latest version. the question is where to show the finished/played version when it is not marked as played. one option would be to add it to the normal version text. if the game is outdated, show installed version and latest version. once it is installed and updated, show played vs current version. this has the possible issue of hiding the played version when the game updates, because you will see installed and current versions. but showing all 3 versions in the same text string is too much...

one option is to remove the installed version from the normal version text. leave the version text for the latest version. show the installed version when you hover over the installed checkboxes. same goes for played/finished version, show it when hovering over the played checkboxes. and by this i mean when these are not checked, so you get a hover popup for installed version when the game is not installed on latest version, and you get last played version hover popup when the played checkbox is unselected.

then theres also the naming problem. "played version" would sound associated with "last played", but last played is when you clicked play, not when you marked the game as finished playing. but the "played" checkbox indicates finishing playing, not having played it in any amount. so i am thinking of renaming "played" to "finished", so then we have "finished version" and "last played". i think this makes more sense for naming.

also ping FaceCrap GrammerCop GAB estrada777 for thoughts as "power users"

EDIT: actually would make more sense to again do something similar to the installed checkbox for the finished checkbox.
unselected when not finished ever. half selected when finished version doesnt match latest version, but it was finished in the past. full selected when finished version matches latest version.

i explained it better here
When an update comes out, I like that the installed and played checkboxes are changed. When I download, extract, etc., I check the installed box. When I get around to playing it, I check the played box.

I think it is a bit much to keep track of the last played version except perhaps as an additional display field. I also think it would lead to confusion down the road. For instance, when you check the played checkbox, which version did you play? And how to select that version? You would need an additional table to keep track of the versions.
 

Hunteraulo

Newbie
Jan 21, 2022
22
6
Hi, there,
I'm on build 1091.

I have a small problem with version detection.
F95Checker_IwvsHkMZns.png F95Checker_scqy5aMgUP.png librewolf_nDQKojH6jb.png
And I wanted to know also, if it's possible to try the extension, that I want to install it locally on Firefox, it tells me it's corrupted.
EDIT: I found it, I had to add browser_specific_settings to the manifest
 
Last edited:
  • Like
Reactions: WillyJL

ascsd

Newbie
Jul 26, 2021
73
53
updated to 10.3 beta 1091. got the following crash on first run, subsequent runs had no issue
You don't have permission to view the spoiler content. Log in or register now.
For some reason it reset my settings (just the ones underneath the refresh button), i tried changing some settings back but couldn't remember them all so i ran the previous version and that didnt have my old settings. Re-running the beta threw the same error again and reset my settings again. Theres 2 settings_temp tables in the db now


With the integrated browser, when opening a thread and the page fully loads, it just freezes then closes.
And the option to force "Software mode" is disabled when integrated browser is selected, yet enabled when any other browser is selected.


as for the last played/finished changes
to better explain what i mean, this is how i made it work

before
View attachment 3285461

theres an update
View attachment 3285465

installed the update
View attachment 3285467

finished the update
View attachment 3285468

version text will only show latest as per the forum, everywhere (grid, kanban...). installed and finished version shows only in these popups.
Absolutely love it! I can now keep track of what version i've downloaded and my finished version.

A slight nitpick is that I usually have my games sort desc by "Finished" so I can keep the unfinished games at the top.
Now the unfinished games are split in the list where the old ones that have not been updated since upgrading to this new system are completely unchecked and at the top of the list, and the half-checked ones are at the bottom of the list with the finished in the middle of them. Tried to filter by finished and it only shows unchecked and invert shows half & full checked which doesn't help
Not a big deal, it'll eventually get sorted out over time (hopefully not too long or i might just go through and edit the db directly), just a minor inconvenience

Also I went through and clicked downloaded for all the games i have downloaded but since i didnt have them marked as played i lost the last version :cry:
 
Last edited:

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
sqlite3.OperationalError: no such column: software_webview
updated to 10.3 beta 1091. got the following crash on first run, subsequent runs had no issue
You don't have permission to view the spoiler content. Log in or register now.
For some reason it reset my settings (just the ones underneath the refresh button), i tried changing some settings back but couldn't remember them all so i ran the previous version and that didnt have my old settings. Re-running the beta threw the same error again and reset my settings again. Theres 2 settings_temp tables in the db now
i really should have taken a nap before editing the database schema...
ill get it fixed soon. as for the settings reset, its because to update the schema it renames the table, makes a new empty one, and copies data from old to new one. it failed at copying, so the new one works but is empty. also means that the old one is in there as ascsd saw. to fix it, delete the new "settings" table, then rename the correct "settings_temp_*" one with data back to "settings". this will prompt a migrate once again, so do it on the next build i will push with the bug fixed.
actually had mine lose the settings too but kinda only half noticed, then brushed it off lmfao

EDIT: just fixed the issue in code, and got back my settings.
if you want a hand:
Python:
import sqlite3
con = sqlite3.connect("db.sqlite3")
cur = con.cursor()
cur.execute("ALTER TABLE settings RENAME TO settings_new")
cur.execute("SELECT name FROM sqlite_master WHERE type='table'").fetchall()
# find the correct settings_temp_*
cur.execute("ALTER TABLE settings_temp_123 RENAME TO settings")
con.commit()
con.close()
exit()
 
Last edited:
  • Like
Reactions: Jarulf

FaceCrap

Active Member
Oct 1, 2020
885
619
...
so i am thinking of renaming "played" to "finished", so then we have "finished version" and "last played". i think this makes more sense for naming.
...
Quick response, I did exactly that in the X version I'm playing with. The date column is still named [Last ]Played (actually I shortened it to just "Played" for column width reasons) but the checkbox is labeled "Finished" in the Info popup and the date still "Last Played".

As for the version thing... that's gonna be a complicated thing... especially if you want to show that in the list view...
I actually am already doing something similar as ascsd since I can't remember when. I leave both the "Installed" and "Last Played" checkboxes untouched (since ticking "Installed" will reset the true last played version to the current update version).
Which means the downloaded/installed checkbox is always showing the semi-checked state, until I actually download AND started playing the latest update.

I think introducing a third version field is overkill and more confusing. It's just a matter of using it as intended to get the desired result. As long as you don't tick the "Last Played" (or soon to be named "Finished") checkbox (which gets cleared when the checker detects an update), the "Installed" version will always be the true last played version.
I mean, if like jeff100 said, the current version goes from 0.17.6 -> 0.17.8, and 0.17.6 is the last played version... why on earth would you then muck with the checkboxes? Leave them as-is and when the next major update comes around, the listview AND the info popup will still show the last played (better said, currently installed) version as 0.17.6. If you start using the checkboxes following your own interpretation instead of the intended use, yeah that's where things don't follow logic anymore. No amount of fiddling with adding another version field is going to help there. I mean, the "Played" checkbox is intended for actually played versions, if you skip an update and still check it even if you didn't play the update... that's making things only harder for yourself to keep track.

Summarized, the version you last downloaded is logically speaking the last version you played. It doesn't make sense to download an update and not play it. Neither does it make sense to tick the "Played" ("Finished") checkbox if you didn't play that update)
If you leave the checkboxes alone and in the state the checker puts them when an update is detected, the "Installed" or "Last Played" version in the listview (with the cloud icon in front) is the true "Last Played" version. Right up until you actually download a new version and fully check the Installed checkbox.
 
Last edited:
5.00 star(s) 21 Votes