Release 2.1.52

Changes (since 2.1.47)

  • Alert user if database closes and reload the page
  • Fix blank projects on iOS Chrome
  • Fix handful of small or rare errors reported in logs
  • Improve plot grid saving
  • Fix scroll position memory of page after reload
  • Fix navigation transitions to be smooth
  • Fix word export to look better in OS dark mode
  • Fix list indent issue with dancing text cursor
  • Fix typo in project rename
  • Fix sync occasionally hiding words in document or messing with plot grid
  • Improve sync database access with many projects

Description

There were a lot of little bug fixes for overall stability, but the big one is fixing an issue that caused words stored in a document to disappear and be inaccessible after a sync (though the data still existed within the project). This likely fixes plot grid issues we’ve seen in the past as well.

2 Likes

How do big fixes work? Is it like editing a novel?

When software is written, mistakes happen in the code, like grammar mistakes in your novel. You fix most spelling & grammar mistakes in a few editing passes, but there may still be one or two that were overlooked. Most people get past those without issue, but they may cause a few readers to stumble and have a hard time. Similarly with bugs (errors) in code, they cause a few issues and need to be addressed so that people can use your software without stumbling.

2 Likes

Oh, so can I ask what that’s like? It’s not like grammar where you can know what it sounds like.

Well, let me try an example.

// When a scene is added
if (!book.hasPlotGrid()) {
  updatePlotGrid();
}

This (fake) code here is trying to update the plot grid when a scene is added. The first line is a comment. The second line says “if a book does not have a plot grid”. The third line says “update the plot grid”.

The bug in this code is the exclamation mark. It means “not” and whoever wrote this code must have added it by mistake, because we want to update the grid when the book has one, rather than when it doesn’t have one. So now that we found the issue, we delete “!” and now it works correctly!

// When a scene is added
if (book.hasPlotGrid()) {
  updatePlotGrid();
}

That’s an example of what a bug might look like and how to fix it. The challenge can be finding the bug in the first place. In this case, the plot grid would never update, so it is easier to find and fix the issue. In other cases, the error might happen rarely and be very hard to find and fix when you aren’t sure what exactly is causing the rare problem.

So something as little as ! can completely break or change the way things work. And with around 50,000 lines of code that a project like Dabble has, there are bound to be issues here or there. And often fixes involve working around bugs in other software such as browsers. Dabble has fixes for bugs in Chrome, Firefox, Safari, etc. :slight_smile:

4 Likes

Lol, you’re literally interpreting a foreign language. I couldn’t.

Wait…do you have to tell it it means “not” or does it already know?

anxiety

I…Well, I have a newfound respect. I also know not to major in CS now XD. It would break my brain.

1 Like