Two requests from me:
- A setting to have notes expanded by default
- Note-expansion state of each project or task should be persistent across all views, and across app launches (notes should NEVER be collapsed unless I did so manually)
At a glance, it might seem like these two requests are at odds. If I want expansion state remembered, wouldn't "expand notes by default" conflict with the ones I've collapsed manually? The answer is no; I'm only asking for the *default note-expansion state* of a project or task to be "expanded".
Seems like this would be pretty trivial to implement. If each project or task is an entry in a .plist, simply have a key/value pair for note-expansion state. For new projects/tasks, do not include this key/value pair (or the value can be null). When the value is missing or null, fall back on the setting for whether notes should be expanded or collapsed by default. As soon as the user manually toggles the expansion state, it has a value (true or false), and no longer falls back on the overall setting.