* Fix bug with checkbox widget and `list` field
The `list` field is stored as a list and frozen against modifications,
and getFieldList() returns it directly without creating a copy. So
before we modify it, we need to make a copy so we're not modifying a
frozen list. This bug doesn't manifest with custom fields, which are
stored as strings, only with the built-in `list` field.
* Fix checkboxes referencing non-existent tiddlers
This fixes the "tiddler is undefined" error when a checkbox's listField
property references a tiddler that doesn't (yet) exist.
* Better logic for checkbox listField handling
If the field contains an array, then it's almost certainly referenced
elsewhere and needs a defensive copy made. If it contained a string,
then it's safe to modify without making a defensive copy.
Since https://github.com/nodejs/node/issues/40537 users are more likely to encounter IPv6 connections.
IPv6 URLs require square brackets around raw addresses.
With this change VS Code correctly hyperlinks the message `Serving on http://[::1]:8080`
* Implement insertafter operator (like insertbefore)
Currently, the behavior of insertafter if the target is not found is to
append the inserted tiddler to the end of the list, like insertbefore
does. In the next commit, we'll add a suffix to customize what both
insertafter and insertbefore do when the target is not found.
* Add failing tests for insertafter suffixes
Also includes tests for insertbefore suffixes (start/end), since we'll
be implementing both of those at the same time.
* Add start/end suffixes for insertafter/before
The tests that exercise the start/end suffixes now pass.
* this commit should fix#6731. It trims field and tag whitespace
* this commit increases tag space visibility as mentioned in 002d47b4d9
* fix a missing HTML end tag
* fix $:/Manager select element max width
* Add `main` and `article` roles to stories and story.
* Support `role` and \aria-checked` in buttons, and integrate with sidebar tabs.
* Add `region` role to sidebar, and set caption as `aria-label`.
* Add accessibility roles and labels to static templates.
* Update test fixtures with new ARIA tab attributes.
* Fix for Bug #6618
This Commit fixes Bug #6618. It is a little bit more complicated than
using one tiddler to store the new value for a field. Because the
following can happen:
* The user types "not-a-date" into the field value of a simple text field.
* The user now selects a field name that uses a HTML5 date editor. The
Editor will show no date because the value cannot be parsed.
* The user saves the tiddler by clicking the checkmark.
Now the date-field contains the value "not-a-date" but the user was not
aware that this will be added. The edit control showed no date (because
the value was invalid) and the user assumed the field was empty and
won't be added to the tiddler.
To prevent this, every kind of field editor gets its own storage tiddler.
Its name is derived from the SHA256-hash of the name of the tiddler that
is returned by the Field Editor Cascade. That way every editor in the
cascade is only seeing its input. As long as the default setup (with one
default editor) is used, everything works like in 5.2.1.
This commit also fixes the bug that the after adding a field the
field-type input box was not focused again.
* Update Documentation for Field Editor Cascade
The fix for bug #6618 makes the handling of the tiddler backing the edit
operation much more complicated. See previous commit "Fix for Bug #6618"
for more details.