Hi, this is the first public BETA release of this software, a cookie cleaner (for Odyssey). The program should be pretty self explanatory I hope, but it might (probably) contain some unexpected bugs.
Please note, there are some issues left to fix like: - Day of the month in dates, so at the moment "ds:1" means 1 Jan, "ds:2" means 2 Jan and so on - Aborting during scanning not implemented yet
I hope the program works on different AOS4 configs (the settings should work too, you can change the path etc).
Edited by Marko on 2017/1/30 22:21:03 Edited by Marko on 2017/1/31 1:11:30 Edited by Marko on 2017/1/31 2:23:28 Edited by Marko on 2017/1/31 2:24:00 Edited by Marko on 2017/1/31 2:28:31 Edited by Marko on 2017/1/31 2:30:59 Edited by Marko on 2017/1/31 13:47:37 Edited by Marko on 2017/1/31 23:04:20 Edited by Marko on 2017/1/31 23:08:59 Edited by Marko on 2017/2/2 20:00:44 Edited by Marko on 2017/2/3 23:27:01 Edited by Marko on 2017/2/9 17:41:25 Edited by Marko on 2017/2/11 2:30:12
@Marko I ran a quick test and found some problems:
When I run Snoopy I see this: FAIL = CreateDir("SYS:Prefs/Env-Archive/Hollywood") [14801519uS] FAIL = Open("SYS:Prefs/Env-Archive/Hollywood/com.m4rko.cookiemonster",OLD) = [0x00000000]
The environment archive (ENVARC:) is assignable and I have ENVARC: assigned to another location; an absolute location for it should not be used. Instead the program should be using ENVARC: like this: CreateDir("ENVARC:Hollywood") Open("ENVARC:Hollywood/com.m4rko.cookiemonster",OLD) You should also probably check if the Hollywood directory already exists before creating it.
If I open the settings window and then select CANCEL, I get a requester that says this: Function p_initsettings() not found! File: CoolieMonster.hws (current line:396 - In function: p_eventfunc)
Your settings only allow a relative path to the cookie database. My Odyssey cookie database is located on another partition, so I had to make some changes so CookieMonster could find it.
EDIT: After I selected "Scan Cookies", I had to click "OK"on a requester for 30+ duplicate cookies. I couldn't find a way to abort so I had to spend several minutes clicking "OK" in requesters; very annoying. Maybe it would be better to create a list of duplicates and display them in a lister after the scan.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
When I run Snoopy I see this: FAIL = CreateDir("SYS:Prefs/Env-Archive/Hollywood") [14801519uS] FAIL = Open("SYS:Prefs/Env-Archive/Hollywood/com.m4rko.cookiemonster",OLD) = [0x00000000]
The environment archive (ENVARC:) is assignable and I have ENVARC: assigned to another location; an absolute location for it should not be used. Instead the program should be using ENVARC: like this: CreateDir("ENVARC:Hollywood") Open("ENVARC:Hollywood/com.m4rko.cookiemonster",OLD) You should also probably check if the Hollywood directory already exists before creating it.
I'm currently using the new functions in HW6 for saving and loading the settings, but seems they have some issues ("SYS:Prefs/Env-Archive/Hollywood" was created by HW itself internally). So I will write my own functions for loading and saving from the proper "ENVARC:" location as a workaround.
Quote:
If I open the settings window and then select CANCEL, I get a requester that says this: Function p_initsettings() not found! File: CoolieMonster.hws (current line:396 - In function: p_eventfunc)
Related to above, but I will add a warning message.
Quote:
Your settings only allow a relative path to the cookie database. My Odyssey cookie database is located on another partition, so I had to make some changes so CookieMonster could find it.
Hmm, maybe it's better with a direct path or a option for a direct path to the database. I will come up with something.
Quote:
EDIT: After I selected "Scan Cookies", I had to click "OK"on a requester for 30+ duplicate cookies. I couldn't find a way to abort so I had to spend several minutes clicking "OK" in requesters; very annoying. Maybe it would be better to create a list of duplicates and display them in a lister after the scan.
"list of duplicates" good suggestion, meanwhile I will add a Ignore-All/Skip-ALL option to requester.
Thank you for the report and inputs, much appropriated! :)
I got still plenty of work ahead for a proper release, so back to coding on next beta.
It would probably be useful if this could be expanded to be able to read/write other web browser cookie files. NetSurf and AWeb both have simple text files, and I think Timberwolf uses sqlite (certainly Firefox does, I can't find my TW profile), so shouldn't be too difficult to add any of those. iBrowse uses some sort of binary format which might require investigation.
After lots of hours after adding checks for plugins and stuff, fixing some bugs and refactoring the path part and settings tab so everything works again, etc etc...
The settings tab/page looks like this now: (Note: NetSurf's cookies not yet implemented, will do in future, but the GUI is now prepared for it.)
Still left to code the custom saving and loading of settings, before releasing another public beta.
Changes in the version 1.1.0 beta (link is in above post)
Should not be any need to bother with plugins and stuff, only unpack and run, scan for cookies...
Version 1.1.0 Beta: (Feb 2017) - Refactored GUI and paths on settings tab to absolute path to cookies file. - Prepared GUI in settings for a second cookies file. - Expanded Cookies and Ignore lists with Path and Protocol columns. - Added checks for MUIRoyale and SQLite3 that they really exists and are correct versions. - Added check for that MUI4 or better is installed. - Added version numbers found about needed plugins to About window. - Implemented custom saving and loading of settings in/from ENVARC: . - Fixed bug and added "Skip Warnings" option to requester about duplicate cookies, in case any are found during a scan. (However, there SHOULD NOT be any duplicates found, if everything is as they should.) - Fixed bug, "Cancelling settings resulted in program failure".
If anyone had time to test yet, does it work on other people systems (before releasing new version in case if need to fix something), or?