# 6.0.1

SUMMARY

This release includes numerous fixes intended to make Tinderbox more reliable. This release is recommended for all Tinderbox Six users.

VIEWS

Added “Badge…” to the item contextual menu. (897)

Roadmap is now available when right-clicking an item in maps or other views. (863)

The tooltip for table cells in roadmap and link browser is the path of the destination node for outbound links, the path of the source node for inbound links, and the url for web links. (895)

The outline icon now indicates the presence of links. If the note has inbound links, a small arrow is drawn to the left of the note. If the note has outbound links, a small arrow is drawn to the right of the note. The result may be too busy, or may prove a performance bottleneck. Comments welcome. (862)

Default and fallback fonts in several contexts changed from Lucida Grande to Helvetica Neue. (881)

Notes created by pressing [Return] in map view with a note currently selected are now placed next to, and vertically aligned with, the selected note. (793)

In maps, links outside the selected neighborhood are now more opaque and typically darker. (861)

In outline view, if no note is selected, down-arrow and up-arrow both select the first note in the view. (855)

When holding down the option key in map view or chart view, the cursor changes to the cross cursor when not hovering over an item to indicate that marquee selection is active. (811)

Separators with children no longer appear in map view (834), and children of separators no longer appear in chart view (835).

ATTRIBUTE LISTS AND KEY ATTRIBUTES

File attributes: the contextual menu for the folder now includes “Show In Finder.” (58)

File attributes now recognize “~” (tilde) as a shorthand for the user’s home folder. (866)

The File button in the key attributes table now has a contextual menu allowing you to open the file (if one has been chosen) or to select a file to open (832).

The Get Info attributes browser now has URL and file buttons.

MENUS

New menu item Stamps>Quickstamp with shortcut ⌘-2. (882)

Several menu commands are newly accessible when the text pane has the focus. These include View>Timeline, View>Roadmap,View>Expand, View>Collapse, View>ExpandAll, View>CollapseAll, View>New Tab, View>Use Columns, View>Use Checkboxes, View>Hide Key Attributes. (886,887)

Browse Links now sorts text links by their position in the text, making it easier to locate a specific link in a long list. (888)

Rearranged View menu to group views together and separate popovers. Roadmap gains a shortcut: ^⌥⌘-R. (850)

Format>Text>Show Ruler now changes to Hide Ruler when the ruler is shown. (838)

Edit>Document Settings now has a shortcut key ⌘-8 (836)

File>Update Now renamed Update Agents Now.

Reorganized File menu to place prototypes and templates together.

TEXT

Text formatting respects $Tabs. (841)

The trailing (typically right-hand) margin of the text is automatically set to match the available space, correcting difficulties that arose when pasting text with an explicit right margin. (883)

Option-click in a text link to set the insertion point without following the link. (885)

For greater clarity, View>Hide Key Attributes now toggles between “Hide Key Attributes” and “Show Key Attributes”.

ACTIONS

The runCommand() command has been extended to accept an optional third argument specifying the intended working directory.

runCommand(command,input,directory)

creates a shell and runs the designated command. The input, if any, is passed to the command’s standard input. If directory is specified, it sets the working directory. Otherwise, the working directory is the user’s home folder ~. (831)

EXPORT

HTML Preview: Edit>Select All (⌘-A) works as expected, as do other familiar editing commands. Copy should reliably copy the previewed HTML. (845,846)

HTML Inspector: the Export Folder button now selects the current export folder; previously its initial selection was unspecified.(848)

DETAILS

The limit of 200 notes/band is raised to 500 notes, for the benefit of Kandahar.

The value of $ID of some aliases was set to zero; it now correctly reflects the internal ID. (899)

Caption placeholder text was transiently visible. (900)

Inspectors now update values when switching to a different hypertext, even if you were editing a value in the previous hypertext.

Fixed a possible cause for reported conflicts with dictation software. (902)

If a note had a rule forcing a screen refresh, the edited text was reset when the rule was run. (893)

Occasional problems relating to PColor’s conversion of NSColor to the correct color space may not be understood, but should be resolved.

Fixed a crash when TextPaneListener called DocumentHasChanged from its work queue rather than the main thread. (874)

Fixed a crash in Exploder when omitting text from exploded notes, if there was in fact no text to omit. (878)

After importing OPML, notes might initially expand in outlines without their proper names, instead displaying “Label”. (877)

Resolved the “sticky map anomaly.” The crucial unspoken factor here was that the sticky map anomaly only occurs when the view pane is inactive, typically because the text pane is active. (876)

Corrected the Haight theme to use the intended linen background.

Corrected the Standard theme to use no background fill.

Tinderbox Six has been counting aliases of agents as agents in the Tinderbox Inspector’s count of agents. Aliases will no longer be included in this count.

Mysterious deletions: untitled notes created in map view were deleted when switching to outline view and then back to map view, even if those notes had descendants that should have prevented the automatic deletion. (890)

Link parking space autocompletion lists no longer include aliases. Aliases are less common link targets, and their presence makes it hard to know which of several identically-named notes is the intended link destination. (884)

Email feedback on help now identifies the source page correctly.

Avoided a hang when opening documents, caused by obsolete thread synchronization.

Cleaned up tracking of the item being dragged, improving performance slightly when dragging in map view and possibly addressing reports of intermittent failure to respond to map view clicks.

We now read OPML files and accept OPML file drops on the dock. OPML files open as Untitled. (204, 795)

Adornment actions were not triggered when notes were dragged onto adornments (869)

Documents that make heavy use of computed values such as $DisplayName, especially for sorting, ran into a variety of hangs and crashes tied ultimately to the caching mechanism. The fetcher returns a pointer to a Value object; for a computed object, the fetcher caches this object and deletes it on the next fetch so it doesn’t leak. In the past, the sort comparator cloned the first Value to compare it to the second Value, since the second fetch deletes the cached value. But now, with multiple threads, we need to clone both values right away, lest another thread call the fetcher again and delete the second value. (858, 871, 872)

Throttled agents significantly to reduce computational load in typical documents. Please advise if your agents are updating too slowly.

Double-clicking on a locked adornment created two notes with identical positions. (870)

Leading and trailing spaces are now ignored in registration code processing. (860)

Select All ( ⌘-A ) now selects the HTML Preview text when the HTML Preview pane is visible.

Fixed a hang, evident in aTbRef, caused by rebuilding the index simultaneously inside and outside the indexing queue.

Fixed exorbitant CPU use caused by launching thousands of tiny asynchronous tasks to deal with the Value recycling queue. The underlying problem isn’t that values need to be recycled, but rather that some computer attributes weren’t properly synchronizing in their ValueFor methods, making it possible for two threads to simultaneously dispose of the same value.

In outlines, Create Agent was wrongly disabled when the selected note is an agent. (859)

Remove some obsolete outlet references in nibs; these cause problems in Yosemite.

Rename the instance variable “shadow” to “shadowHelper”, as this causes a name collision in Yosemite (and perhaps elsewhere).

Modified map dragging to reduce jitters when resizing the boundaries of the map.

When creating a new note in the outline by pressing [Return], the view scrolls if necessary to ensure the note is visible.

Possible fix for the sticky map view problem (which has not yet been reproduced) (852)

$HTMLExportTemplate is no longer a preference attribute and no longer a file attribute; instead, it’s a string attribute.

Agents can no longer be created inside agents. (808)

In map view, the view bounds is now updated correctly after a moving multiple notes. (827)

Tinderbox would crash if, while editing an outline column, you clicked the ⨂ button to close columns. (843)

Revised indexing again in order to avoid occasional crashes, and to simplify the code by replacing locks with a serial queue.

Modified sorting so all sorting is done on the same queue – currently the main queue. Occasionally, the user interface and the agent thread would try to sort the same container simultaneously, with bad results.

In the key attributes table and in Get Info:Attributes, a pulldown menu is available when editing strings, lists and sets. Making a choice from this menu now cancels the current editing session; previously, the current editing session overrode any choice from the menu. (849)

We now include the Tinderbox 5 Help manual as an aid to new Tinderbox users who otherwise would lack documentation.

Pasting certain phrases in Chinese into a map or outline caused a crash because the title-choosing method returned invalid UTF8. (822)

Improved typing performance by avoiding sort updates in response to changed in text. This should also alleviate a crash arising from conflict between updating sort order on both the agent and the main thread.

Resolved a very tricky crash in a document where an agent changed the $Container of reference notes. Dragging a Bookends reference into the document correctly created a reference note and its item view; the agent would then run but the reference view was not correctly removed from the map. It turned out that the newly-created note was still marked as being dragged, so it was never recycled.

While editing note title in place, double-clicks failed to select the clicked-on word. (830)

Some backstage team members were inadvertently omitted from the About box.

Switching from outline view to another view, and then back to outline, turned off Show Columns even if Show Columns had been on. (839)

Adding a built-in prototype relied on the container’s OnAdd action to set $IsPrototype. We now explicitly set IsPrototype in case the user omitted or changed the action. (842)

If $OutlineBackgroundColor is set, separators could overpaint part of the border that lies beneath the text control. (824)

Expand widgets for separators which have children now observe the correct left margin. (829)

Corrected Chart view layout problems; the layout policy was using the wrong font size. (728,791,840)

In outline columns, requesting 2 decimal places always gives two decimal places, even if the value is an integer. Previously, we did not display trailing zeroes. (825)

$Text.replace("\n",";")

did not work as expected because Tinderbox retained some obsolete code for dealing with old-style Macintosh line endings in text.

Clarified the registration status message when the upgrade period will soon expire.

Added some material to Help.

Links to and from aliases were sometimes not created when the document was loaded. Alias resolution is asynchronous, and in some situations the alias resolution was not yet complete when links were being loaded. We now ensure that all aliases have been resolved first.

Fixed a hang in attribute browser when view numeric attributes and choosing reverse sort order. (800)

Pasting a multiple selection, all of which have prototypes, sometimes failed to set some prototypes because the paste triggered an asynchronous index rebuild that interfered with locating the prototype. Instead, we now rebuild synchronously (804)

Tab drawing failed cryptically when trying to truncate long tab labels that which (a) don’t fit the allotted space, (b) contain multi-byte characters, and (c) have the misfortune, when the multi-byte sequence is improperly truncated, to yield invalid UTF8. (806)

Simplenote synchronization crashed in a complex document (syncing 600 notes, 50,000 words) when seeking the second authorization token, because the second pass deleted the existing importer and created a new importer while tasks from the first importer were still pending. (814)

Backdrop watermark should now be updated as soon as the registration code is entered. (810)

If a map has more than fifty links, drag-scrolling the map results in consistently misplaced links. Complex maps suppress animation, which forces periodic redraws; absent those redraws, we need to ensure a redraw after adding a new item view as it scrolls onto the screen. (816)

If a file has an XML error and cannot be parsed, Tinderbox reports the unparseable line to assist trouble-shooting. (802)

Clicking on the autocomplete menu of the Get Info action pane no longer dismisses the popover (818)

Plots could crash if Tinderbox attempted to plot zero or 1 points. (819)

TextPaneListener could crash, though very infrequently, trying to copy the text pane’s textStorage when the main queue was redrawing the pane. (820)

Various corrections and improvements to Help.