Squiffy Updates?

Is there anyone with access to the github repos and npm packages for Squiffy?

I assume The Pixie has access to them now, as last time I asked that was being worked on. But if not, should we create a community edition?
I can easily make a new repository and npm package if I need to, but being able to have the official versions updated would of course be much better.

IFforClassroom and mrangel have been great, but going through the forums for updates is quite frankly a pain. I don't expect most users to do so.
There's other issues too, like the online scratchpad no longer working and all the problems with the Squiffy Editor.

We have enough for a proper new version of Squiffy.
mrangel's updates add some very nice features when added to the .template.jsand my local copy of the Squiffy command line version I've updated to recent packages and node versions to get rid of all the security warnings.
And I have added support to the compiler for including css files using @import, among other things.

Can I get some opinions from regulars and/or admins on this?

If we can get the official versions updated, or agree to support a community version that's a bit more organized than scattered forum posts, I'd also be more than willing to make some extra changes, like some proper mod support for importing libraries of new functions into Squiffy mostly easily, or adding in proper list support, or letting the Squiffy if statements support and and or.

I've asked The Pixie about this. They don't yet have access to make official changes to Squiffy. I can't find the page now, but somewhere, Alex Warren said he hoped Squiffy would end up as community property with different versions and variations to suit different individuals and projects.

However, I personally strongly prefer if things were done as you suggest.

In the meantime, any new fixes or modifications you come up with are welcome here. Dropping the online persona, I'll die if you don't post them here.


I think I'll make a repo for my changes, and include the very helpfully put together unofficial 5.1.4 version of the template you posted. That way I can link to a download of it all.

Do you use the command line version or the editor?

Another thing that might help, since the editor is so out of date, is adding an extension to Visual Studio Code for Squiffy, with syntax highlighting and compiling support if you point it at where your Squiffy install is. That's a later project though which may require a bit more effort (I've never made a vscode extension)

Okay, I made a repo that has some changes to make it a bit more up-to-date at https://github.com/CrisisSDK/squiffy
The important ones are using the squiffy.template.js you helpfully provided with mrangel's changes, and support for using @import custom.css to add another stylesheet. (don't use style.css as a name for a custom stylesheet, as squiffy already has one of those and it might break things. I'm tempted to change it to be a squiffy.template.css which becomes squiffy.css so users can call their custom css that can override it style.css)

There's no releases yet, and it's not yet attached to a npm package in the npm repository. So, to download it, you click on the green "Code" button and choose "Download Zip".
Extract it wherever you want to keep Squiffy, or overwrite your existing Squiffy install (where the compiler.js is). The README.md file already had instructions for getting it working.
Making things nicer for ordinary users is on the todo list, I guess.

If (when?) the official repository is back to being a thing, I'll do a pull request for it.

In the meantime, any other changes that you think should be made?

I guess updating the Squiffy Editor might be one, but I'd have to actually look at the Squiffy Editor to see what it's like first. Alternatively making a vscode extension for Squiffy could work well, but that's likely less friendly for the average user than having it's own editor.

...But I'm also hesitant to do any work on the editor if the one on the site can't be updated.
If I do update it, as well as putting things to be using current versions of packages and Electron, I'd want to have it a bit more of a responsive design so it's potentially usable on mobile or tablets.

Haha... πŸ˜…πŸ‘‰πŸ‘ˆ... I'm really not a programmer. At all. I've never touched anything on github that wasn't packaged and ready for klutzes to use. And no I don't use the command line.

However, I will do my best to take a stab at it this weekend.

I do genuinely appreciate you effort at this!

I think I do have access to Squiffy repos - I can certainly see them and see the alerts there. However, I do not know how that connects to the online systems. It may be the updating GitHub will update Squiffy itself - and it might not.

I also have no clue about how Squiffy works. I have never created a Squiffy game, let along looked into its inner workings, so I am really not the best person to be doing this! That said, I do not know who is.

Manowar is still around in a very limited capacity, and does get the server going when it fails, but no more than that.

It is not an ideal situation, but I do not know how to fix it.

I've been away for a bit, but now I'm back...

Good to hear that you seem to have access to the repo. I'll put a pull request through sometime within a week.

My biggest concern though is who has access to the NPM packages? Squiffy relies on those to build properly. Hopefully the github repo automatically does stuff for that, but I don't know how to check if it does or not.

I understand a lot more about the Squiffy editor now than I did when I started this thread, but without the npm packages being able to be updated I don't think it's worth trying to fix at this point, unfortunately...

Hello... just sticking my head in here to see how things are going.

Looks like manowar is the owner of the Squiffy npm packages. If you can get hold of him then he should be able to transfer ownership.

As far as I remember, the compiler that the online Squiffy editor uses should update itself as soon as the master branch of the Squiffy GitHub repo is updated. It could probably be rewritten now to be entirely client-side, after all it's just taking in some text and outputting some text.

Not sure what other issues there are as I haven't been checking here much lately, but let me know if there's anything I can do to help.

It's great to see you see still checking in, Alex!

If The Pixie can get access to update the NPM packages, then that will be great. And if just putting them into the main repo is enough to update the compile the online Squiffy editor uses, then that's great. The changes mrangel has made are useful for everyone.

Although, having it running locally in the browser like it does in the electron build will probably be better overall, but again, need to make sure we can update the NPM packages for that.

And the squiffy editor is so out of date updating it to current versions of everything is... impractical. I know because I tried. It'll be easier to rewrite it from scratch at this point.

I might even end up doing that rewrite. I know there's been complaints about the editor no longer working on MacOS, as well as people wanting it to be more mobile friendly.
I'd also like to see if can get the include stuff working when running the editor locally, but that'll depend on how Electron treats things, as well as different operating systems... Something to look at I guess.
(The other option is to make an addon for Visual Studio Code. But I think that'd be less useful for most people that want to use Squiffy.)

Not sure if The Pixie is happy to take on ownership - perhaps the NPM packages and repos could be transferred to you instead if you wanted to take it on, as it seems like you've been most active with it recently? If we can get manowar to transfer them at all that is. If not then maybe a community fork (like the one I can see you've already created in NPM, squiffy-community) is the way forward. A fork of the editor could pick up the fork of the compiler.

When you say the Squiffy Editor is out of the date, is that mostly the Electron version? That should be upgradable - I've done it in the past (though maybe not quite such a jump).

I believe the editor is stuck on an old version for MacOS as manowar didn't have the Mac and or/ Apple developer account required to build the latest version. I have both so could try this, if I can get it to build in the first place that is.

A VSCode addon sounds like a cool idea, and potentially more useful to some people than a stand-alone editor application.

I could take on the NPM packages... I didn't want to suggest myself because I tend to only check in here around once or twice a year, only hanging around for a few weeks. But then, I also don't have any responsibilities on this site at the moment that I have to think about at all, so...

For the Squiffy editor being out of date, yes the Electron is out of date by a lot... but there's good guides on how to fix that on the net, and so it isn't actually the main problem. I have actually already done most of that work...

More importantly there are some packages it relies on that seem to have serious security issues, or no longer work with the latest versions of Electron, and are no longer maintained.
Some features of jquery it uses no longer exist, and I didn't find any suggestions on a way forward for those. Personally I'm not a fan of jquery, and I'm tempted to remove it from the editor.
Not from actual Squiffy though - that would be foolish as it's something the users of Squiffy rely on. Also, updating Squiffy's jquery to the latest was a simple matter, and keeping it up to date is no trouble. So no problems there with Squiffy itself.

Having the editor on the website updated to modern standards and using a responsive design for people on tablets/phones I think will be a very important step for people wanting to get into Squiffy.

The online Squiffy scratchpad is also broken, but I don't know anything about where that lives. I think the scratchpad just needs to be updated to latest jquery and probably look at a local site version rather than using a cross-site request.

I think I will look into making a vscode addon - I for one am more likely to use that than the local editor.
I already use vscode for pretty much everything πŸ˜€

Do you have a fork on GitHub where you've started upgrading the Squiffy Editor packages that I could take a look at?

The scratchpad lives in the Squiffy docs, which are served via GitHub Pages from the gh-pages branch of the Squiffy repo.

The scratchpad code itself is here, and I can see from the browser console the issue is that the docs.textadventures.co.uk site is now served via HTTPS, but it's still pulling in jQuery via a non-secure HTTP call. That should be a simple enough fix, someone could submit a Pull Request for it, not sure if The Pixie has permissions to merge PRs though or if we'd be relying on manowar to do it. Again maybe a community fork is needed here if we can't get the current maintainer(s) to respond.

I do like the idea of a VSCode addon a lot - installing addons in VSCode is pretty straightforward, and not having to maintain (and code sign) a separate app for the Squiffy Editor sounds like it will make things much simpler, plus the code editor itself would be vastly more sophisticated.

I don't have a fork on GitHub for the editor - it wasn't clear I could get it working with everything up to date and it was my first time doing anything with the editor code.
I don't have the code I changed with me right now, I'll get back there in a couple days.

The scratchpad should be able to be fixed pretty easily yes; I think I'll do a pull request for it when I'm back at my home dev environment. Thank you for showing me where it lives!

Alex Warren is the reason I know any Javascript at all. He's the best computer teacher I ever had, and I've never even met him.

I have had barely any interaction with Alex, but everything I've seen has been worthy of respect. Of course, I already knew Javascript...

@IFforClassroom, would you be fine with using Visual Studio Code instead of the Squiffy Editor? Pressing "run" would probably open it in a web browser rather than having it in a side view like the Squiffy editor, but it might be possible to have the side-by-side thing. I don't actually know much about how easy it is to do things in vscode extensions yet...

@Alex, concerning the gh-pages branch, does that automatically update the docs when it's updated? If it does, then that would be nice. As mentioned, just adding the required "s" when referencing jQuery to /_layouts/index.html and /_layouts/index_es.html would be enough to fix the scratchpad.
And if it's automatically updated and The Pixie can merge PRs then we can also update the documentation with whatever new features we will add to Squiffy.

I took a quick look at squiffy-editor and while the packages are old (plenty of warnings come up), it still builds fine (at least on my Intel-based Mac - on my M1 it doesn't as there isn't an ARM64 build of that version of the Electron package). So it doesn't look like anything is broken as such, it's just out of date - is that right?

Re: the gh-pages branch, yes once something is pushed to this branch then GitHub Pages will update the site automatically (takes a couple of minutes), so there's nothing else that needs to happen, you just need to get a PR merged.

It builds fine IF you only use mrangel's simplest "@set random" function. If you put his superior one in, then you can only compile to the browser. "Build" breaks it.

Several other of his inventions do the same. Also at least one of bluevoss's ingenious hacks causes a very long list of false warnings the more you use it.

I think I'd be fine switching to another code editor. It's nice to have the side window build option for quick checks, but I can live without it. Would visual studios give us better debugging info? I always end up having to keep two versions of any game just in case I get a bug that's hard to find.

I think most of those issues with the current editor would be fixed with the latest version of Electron. Assuming things can be updated on the site, I think I might do that. I've already done most of the work I think, but I don't use the editor myself.
There's a few minor visual glitches with it that wouldn't be allowed through at all at my job, but it seems to work fine.

Using vscode it would rely on the command-line version of Squiffy, which has a few extra features it supports, including being able to spread your code across multiple files.
I'm not sure if the debugging info would be better or not - potentially it could be a lot better, but that relies on me knowing what I'm doing when making the extension, and I haven't started any work on that yet.

@The Pixie:
I've sent a pull request to the squiffy repo. Hopefully you can accept it, and we can see what happens.

Thanks for doing all this, CrisisSDK.

I have accepted the merge request. I have never used Sqiffy, so you guys need to let me know the outcome. Does anything else need to be done?

Hi The Pixie,

If anything permanent gets changed, then

  1. "Squiffy 5.1.3" should be retitled on https://textadventures.co.uk/squiffy
  2. The Documentation should be updated on http://docs.textadventures.co.uk/squiffy/



The Squiffy link there can't be changed yet; we need to update the editor and then have it built first.
And to update the editor, it would be much better to have the squiffy npm package updated, which I think only manowar can do currently.

Since I'm the one messing with Squiffy code currently, I guess I could take responsibility for keeping npm packages up to date, as long as I'm given access to it.

Concerning the documentation, once we have things "working" and updated properly I think I'll be able to make updates to the documentation and then The Pixie can just accept another pull request.

And speaking of documentation, if you have anything you think should be added to the docs, feel free to make suggestions.

This topic is now closed. Topics are closed after 60 days of inactivity.