Abandoned Scripts

fronobulax

Developer
Staff member
Bale has left the game. OCD lingers on.

We forked UR, installed a version on SourceForge and changed the Scripts Menu so that people could get either version but were encouraged to use the new one. Is it time to do something similar with OCD.

I'm not a GIT user but my sense is that it is easier than SourceForge for community contributions, specifically supporting new contributors, and forking if people drop away.

So, should we fork OCD?
If so is there a volunteer to set it up at GitHub?
 

philmasterplus

Active member
Pro-fork here. Admittedly, I'd prefer a full port from ASH to JS, but I'm hesitant because our JS support may still have rough edges.

I could try setting up a GitHub repository, but it would be nice if someone with actual subversion-to-git migration experience handles it.

Also, do we have a GitHub organization that manages community-maintained repositories? The closest thing I've seen is the Loathing Associates Scripting Society, but I don't know it's an officially endorsed/blessed organization
 
Last edited:

fronobulax

Developer
Staff member
When did that happen? Is there a forum thread that describes changes made to the script other than the UR thread?
July 9, 2019. The UR thread should have something about it. My recollection is that we created a new SourceForge repository, gave commit access to active folks, copied what was in Bale's repository and then patched. If you use mafia's scripts menu, the new one is listed as UR and the old one is now OBR UR. Because the file names are the same, the safest way to change over is to uninstall the OBE version and then install UR. That said there hasn't been a lot of activity since no one is sharing their changes and most of the complaints were for things that haven't been otherwise fixed.
 

Malibu Stacey

Active member
Pro-fork here. Admittedly, I'd prefer a full port from ASH to JS, but I'm hesitant because our JS support may still have rough edges.

I could try setting up a GitHub repository, but it would be nice if someone with actual subversion-to-git migration experience handles it.

Also, do we have a GitHub organization that manages community-maintained repositories? The closest thing I've seen is the Loathing Associates Scripting Society, but I don't know it's an officially endorsed/blessed organization
I can try migrating it from SVN to the Loathing-Associates-Scripting-Society GitHub organisation and give access to anyone who wants to commit changes.
We already forked Bale's raidlog parser there as Rinn had some fixes he wanted to make available (I had also forked Ezandora's scripts which were broken when the my_path_id() function was added to KoLmafia as she had stopped updating all her publicly available stuff in October 2019 but she has since patched the affected scripts).
I've also been meaning to put up some other scripts I have been updating for my own use too (maybe I will have some free time during this Crimbo & New Year to do such things...).
 

philmasterplus

Active member
Nice! Do we get to preserve Subversion's commit history? If so, all would be golden.

Please put me on the contributors list when you're done.
 

fronobulax

Developer
Staff member
Is an emerging solution to replicate abandoned scripts to Loathing-Associates-Scripting-Society and then change the KoLmfia Scripts Menu accordingly? While getting from "here" to "there" can be messy I like the idea.

To continue brainstorming,

What will support for abandonware look like? In particular should threads at KoLmafia.us be updated to direct support requests to some other site or will LASS continue to read and reply at kolmafia,us? As someone with a natural tendency to over-engineer I can see a KoLmafia.us wiki page that lists the migrations to LASS with links to here and there.

UR was migrated to a new SVN home but the old version was still in the script menu marked as OBE. That doesn't seem to be sustainable if more scripts migrate. How do we manage the situation where there is an old and new repository for scripts with the same name and if a user has both the latest one to update will overwrite whatever was in the /scripts directory?
 

philmasterplus

Active member
If we have commit access to the old repo, we can add a "URL changed to <GitHub URL>, please reinstall to get updates" warning in the ASH script hosted in the old repo. Users will see the warning and hopefully reinstall using the new URL.

Unfortunately, there isn't a clean solution for old repos we don't have commit access to. We could ask a kolmafia.us forum moderator to change the link in the first post. I assume mods can do that, yes? It would be better than maintaining a separate wiki page.

We could have a grace period of ~3 months†, during which the old and new scripts coexist in the KoLmafia scripts menu. If the new script is still going strong after this period, it's probably safe to remove the old script from the menu altogether. (Maybe keep the old link for reference in the forum post)

(†number pulled out of my head, please criticize if it feels too long/short)
 

fronobulax

Developer
Staff member
My definition of "abandoned" includes the requirement that no one actively posting at KoLmafia.us has commit access to the script repository. There are several scripts that are no longer actively maintained or developed but could be updated in their current location by someone who is still active. EatDrink comes immediately to mind.
 
Last edited:

fronobulax

Developer
Staff member
My 0.02 is that forks should have new names, even if the original seems dead. It prevents all manner of confusion.
I'm torn between confusion and breaking other scripts and workflows, especially if the soon to be renamed script is a dependency.
 

philmasterplus

Active member
I'm torn between confusion and breaking other scripts and workflows, especially if the soon to be renamed script is a dependency.

This could become a problem if a heavily depended-upon library (e.g. Zlib, HTMLForm) is abandoned. Fortunately, such cases are rather rare, and most scripts seem to have a dependency graph of depth <= 1.
 

fronobulax

Developer
Staff member
This could become a problem if a heavily depended-upon library (e.g. Zlib, HTMLForm) is abandoned. Fortunately, such cases are rather rare, and most scripts seem to have a dependency graph of depth <= 1.

The public dependency is low but I, for example, have a number of unpublished scripts that import a published script.
 

Malibu Stacey

Active member
Nice! Do we get to preserve Subversion's commit history? If so, all would be golden.

Yep and it even attributed the commits to Bale as he has a GitHub account (which is where we forked the Raidlog parser from). It was an amazingly smooth process and I am very impressed at how little effort it required from me (literally just copy & paste the svn URL into the form & click the go button).

Is an emerging solution to replicate abandoned scripts to Loathing-Associates-Scripting-Society and then change the KoLmfia Scripts Menu accordingly? While getting from "here" to "there" can be messy I like the idea.

To continue brainstorming,

What will support for abandonware look like? In particular should threads at KoLmafia.us be updated to direct support requests to some other site or will LASS continue to read and reply at kolmafia,us? As someone with a natural tendency to over-engineer I can see a KoLmafia.us wiki page that lists the migrations to LASS with links to here and there.
LASS is people in the community here already like myself, @Rinn @gausie @soolar @taltamir @ikzann (and now @philmasterplus) etc. so I think replying to support requests here would be as before.
Using the example of the Raidlog Parser, I posted that we had created a fork with some fixes in that thread & I envisage that's how things will continue (from what I have seen, that's generally how these things happened in the past when someone in the community took over an abandoned script although sometimes there's a post saying a new fork is available in a new thread). That was a slightly different situation as Bale had already migrated it to his GitHub account so it was even simpler to fork than an SVN hosted script but I don't think we should over complicate the situation.
Also LASS is not a closed group, anyone who wants to contribute can submit PRs to anything hosted on the LASS GitHub without being formally invited to the team (although if you submit a PR I will generally invite you so you can merge your own PRs once they're approved and can help review other peoples PRs if you wish).

On the subject of the scripts menu, I leave that at the discretion of the KoLmafia development team. I think previously this has been handled by removing the no longer maintained version and adding a new entry with updated info (if required). At the very least when migrating from SVN -> GitHub there will be some changes needed to the install command even if nothing else changes.
 

Magus_Prime

Well-known member
I tried updating the script today and got the following when I ran the relay script I got an empty main frame in the relay browser and this in the gCLI:
Code:
Bad item value: "potion of temporary gr8tness" (OCD Inventory Control.ash, line 568)

That line should be:
Code:
            case $item[potion of temporary gr8ness]:

Reported it as an issue on GitHub.
 
Last edited:

philmasterplus

Active member
Edit: See issue 7 for detailed investigation. This should be resolved once PR #8 is merged.

The typo should be fixed in the as-of-yet unnamed fork.

We recently added a README and changed the install URL, which might have confused KoLmafia. Try deleting the script (double check if scripts/OCD Inventory Control.ash is really gone after this), then install using
Code:
svn checkout https://github.com/Loathing-Associates-Scripting-Society/OCD-Inventory-Control/trunk/release/
 
Last edited:

Magus_Prime

Well-known member
I don't know what happened, somehow I had both:
  • bale-ocd
  • Loathing-Associates-Scripting-Society-OCD-Inventory-Control-trunk-release
deleting both and then reinstalling from:
Code:
svn checkout https://github.com/Loathing-Associates-Scripting-Society/OCD-Inventory-Control/trunk/release/

Fixed the problem. Thanks for the quick response. It's good to know I'm not the only one playing KoL on Christmas morning. :)
 

fronobulax

Developer
Staff member
I don't know what happened, somehow I had both:
  • bale-ocd
  • Loathing-Associates-Scripting-Society-OCD-Inventory-Control-trunk-release
deleting both and then reinstalling from:
Code:
svn checkout https://github.com/Loathing-Associates-Scripting-Society/OCD-Inventory-Control/trunk/release/

Fixed the problem. Thanks for the quick response. It's good to know I'm not the only one playing KoL on Christmas morning. :)
That is exactly why we are having this discussion.

If scripts are rehosted, but not renamed, it is possible that a user will have both versions "installed" but only one of them is in the scripts directory.

There is at this point no automated way to recognize a rehomed script and delete the obsolete version or ask the user to do so.

Until we sort things out, if you know a script has been forked, rehomed, migrated, whatever, first delete the old one and then install the new one. If necessary, delete them both and reinstall the new one.
 

MCroft

Developer
Staff member
If scripts are rehosted, but not renamed, it is possible that a user will have both versions "installed" but only one of them is in the scripts directory.

There is at this point no automated way to recognize a rehomed script and delete the obsolete version or ask the user to do so.
That sounds like a problem we could solve.
we coulddo a consistency check on launch. Or have an “replaces <X>” keyword that then searches for the replaced version and notifies the user to clean up. Or whatever the correct behavior is.
 
Top