Skip to content

v5.3 — The menus Edit never had, and a pass that reads every document

Choose a tag to compare

@agirish agirish released this 09 Sep 12:11
· 288 commits to main since this release

Edit gets its menus

  • Two new menus, Text and Markup, after Organize in the menu bar. Edit's whole menu-bar presence
    was New Text File… and Save; everything else it could do was a click or a right-click. Both menus
    grey out unless Edit is on screen with a document open, the way Compare's items follow a
    comparison. In Preview the Markup verbs and the two find items grey too, because the rendered page
    has no text to select in.
  • Text is about the document as a whole. Source, Preview and Split on ⌃⌘1, ⌃⌘2 and ⌃⌘3,
    ticked for the one showing and greyed for a file with nothing to preview; Find Next ⌘G and
    Use Selection for Find ⌘E, which the find bar had and nothing answered; the Wrap Lines and
    Check Spelling While Typing switches; and Autosave This File, the header's switch as a menu
    item — same setting, same tick.
  • Markup is the right-click menu's verb list, with keys. Bold ⌘B, Italic ⌘I,
    Strikethrough ⇧⌘X, Inline Code ⇧⌘K, Link… ⇧⌘L, then the headings, lists, quote,
    code block and rule with no keys — ⌘1 through ⌘4 are the workspaces, and nothing this app
    registers may use ⌥. The right-click menu now shows the same five keys, because they work.
  • ⌘I is Italic in the text and the Info inspector everywhere else. One key, two jobs, decided
    by where the caret is when you press it: in the document's own text it wraps the selection in
    asterisks; in the Go to field, the rename row, a pane's search box, the find bar's own field, or
    anywhere outside Edit, it shows or hides the inspector as it always has. The five Markup keys
    follow the same rule — they never edit the document from a field you are typing in.

Seeing what changed, before choosing which version wins

  • The alert about a file that changed under you gains "Show What Changed…". When a document
    moves on disk while it is open, autosave stops and an alert asks Save Anyway, Reload from Disk or
    Cancel — a question about a difference the person answering has never seen. The new button opens
    an in-window overlay that diffs what you have against what arrived, with the same three verbs at
    its foot, so the decision is made looking at it.
  • Both sides are selectable, because the common case is one changed line on each side, where
    "which version wins" is the wrong question and a merge by hand is the honest answer. Left is your
    buffer, right is the disk.
  • A file that is now too large, or no longer text, is refused with the reason rather than
    diffed, and a file that moved keeps its two-button alert — there is nothing at the path to read.
  • The header's amber "not saving — changed on disk" is a second door onto the same overlay.
    Cancel leaves autosave stopped, and without that door the only way back to the question was ⌘S.

Browse gets a status bar

  • A line at the foot of the pane, on by default. How many items are in the tree, what your
    selection comes to, how much of the tree is still in the cloud, and when the listing was read.
    It has been deferred since v4.2 on what it would say in Compare, where two panes want two
    answers and one strip can only give one — so it ships where that question does not arise. View
    ▸ Status Bar
    turns it off; there is no key for it.
  • It sheds from the right as the pane narrows, keeping the item count longest: the freshness
    goes first, then the cloud-only count, then the selection. VoiceOver is never shed — it reads
    every fact at every width, and it is the one place a stale listing is described in words rather
    than by colour.
  • The cloud-only count reads — until it is true. It is one lstat per file over a tree that
    can hold forty thousand of them, so it is counted in the background after the rows are already on
    screen, and the bar shows a dash rather than a number climbing towards the answer. Navigating,
    scanning or deleting starts it again, and the dash comes back with it.
  • "Scanned N ago" is about the listing you are looking at, not about a comparison. Coming back
    to a folder you were in ten minutes ago says ten minutes, not "just now" — the age belongs to the
    walk that read the disk, and it survives being served from memory.

The preview works in the tree too

  • Selecting a file in a tree pane opens a preview beside it, the same Quick Look preview the
    Finder-style columns have had. The switch is the one that was already there — the pane header's
    pill, ⇧⌘P, and Show Preview in the pane's right-click menu — so the preference travels with the
    surface rather than with the way it happens to be listing files: turn the preview on in columns,
    switch that pane to a tree, and it is still there.
  • The rows give up the room, and only ever room they have. The preview is pinned to the pane's
    trailing edge and the list reflows into what is left, so nothing is covered and nothing scrolls
    sideways. Drag the seam between them to resize it; the width is remembered and is the same width
    the columns use. A pane too narrow to hold a legible list beside a preview shows no preview at
    all, and gets it back when you widen the pane.
  • View ▸ Preview Column is now View ▸ Preview, because it is no longer a column in one of the
    two views. Same key, same tick.
  • A PDF in the preview shows a whole page, and scrolls through the document. It used to be
    scaled to fit the preview's width, so the wider you made the pane the more of the page fell
    below the fold — a letter page in a wide preview rendered about twice the height it had, and there
    was no way to reach the rest. It is now fitted so the whole page is visible whichever way the pane
    is shaped, and scrolling walks the pages. Other formats are unchanged: images already came out
    whole and text already scrolled.

Walking the columns, and clicks that land

  • ⌘↓ opens the selected folder into a new column, ⌘↑ closes the rightmost one. Both are in the
    Go menu beside Back and Forward, as Open Selected Folder and Enclosing Folder. They move
    the column stack, which costs nothing and leaves every difference badge valid — not the
    comparison scope, which would reload the tree and re-run the scan. Both are dead in Tree view,
    which draws no columns.
  • ⌘↑ is not a second spelling of ⌘[. ⌘[ pops the same stack and then keeps going, stepping the
    comparison scope back through the pane's focus history. ⌘↑ stops at the root column and greys.
    Finder draws the same line between Back and Enclosing Folder.
  • ⌘↑ and ⌘↓ are also the field editor's move-to-start and move-to-end, so both hand the key
    back to the caret when you are typing — in a pane's search box, a rename row, the ⌘K field or an
    open document. ⌘↓ also refuses a row that is not in the deepest open column, since silently
    closing three columns is not what anybody pressing it is asking for.
  • ⌘-click and ⇧-click multi-select in Columns works now. Roughly one click in ten registered,
    on rows all over the list, with the main thread idle — a tap gesture on the row claimed the
    mouse-down and then, far more often than not, never completed, so the click never reached the
    table and the table selected nothing. Measured live rather than argued from the source: with the
    gesture on, 28 clicks produced 3 selections; with it off, 6 produced 6. Plain clicks always looked
    fine because they had a second committer, which is what made this read as a modifier-key problem
    for so long.
  • The cost, decided rather than assumed: ⌘-double-click no longer opens a folder in a new tab.
    It stays on the row's context menu and on ⌘T.

Three menu items that were missing

  • View ▸ Text Size ▸ Bigger ⌘+ / Smaller ⌘− / Default Size ⌘0. The whole app's type, from the
    keyboard. They step the same stops the Text size slider in Settings ▸ Readability has and nothing
    between or beyond them, so the keyboard cannot reach a size Settings cannot; at either end the
    item greys.
  • File ▸ Download, for one selected file whose content is still in the cloud. The row's
    right-click menu had it and the File menu, which carries the rest of the row's verbs, did not. It
    asks iCloud to fetch the file exactly as the row does, and the cloud badge clears when the content
    lands; for other providers Reveal in Finder remains the way, as before.
  • Window ▸ Sync History was already there — SwiftUI lists every window automatically — and the
    audit that proposed adding it had read the source rather than the menu. Left as it is: the only
    way to move it beside Activity Log removes the main window's own entry from that menu, which is
    measured and pinned.

⌘K takes you to a path in another source

  • A typed path in a source the pane is not showing is delivered now, not refused. ⌘K's Go to
    Folder has accepted /… and ~/… paths since v4.1, and a path inside a different configured
    source answered “In Dropbox — switch source first” — a row that named the fix and then made you do
    it. It reads “Open in Dropbox”, and ↩ points the pane at that source and lands it on the
    folder. Only the pane ⌘K was aimed at moves; in Compare the one beside it keeps its source, its
    tree and its place.
  • The other three refusals are still refusals, and each says something different: “Not in any
    source” is about your configuration rather than about the folder, “Backup SSD is not mounted” is a
    source that cannot be shown at all, and “No folder at that path” is the only one claiming nothing
    is there.
  • A path in another source is not checked until you press ↩, so typing one never waits on a
    sleeping drive. If the folder has gone since, the pane stays where it is rather than switching
    source and landing somewhere else, and the Activity Log says so.

Print a document, or write it as a PDF

  • ⌘P prints what Preview shows. File ▸ Print… renders the open Markdown document the way the
    Preview mode does — the same headings, the same type, the same accent on links and quote bars —
    and hands the pages to the standard print panel. It prints the rendered document whichever mode
    you are looking at, because printing a Markdown file means the document rather than its markup.
  • File ▸ Export as PDF… writes those same pages to a file. It opens on the folder the rail is
    reading, with the document's own name and .pdf in place of its extension, and the file is
    written the way every other file this app writes is — staged, flushed and swapped, never half
    written over a good copy.
  • A plain text file prints as text, wrapped to the page in the editor's own monospaced face. It
    has no rendered form, so there is nothing else it could honestly be.
  • It prints what is on screen, unsaved typing included. The version on disk and the version you
    are looking at differ exactly when you have not saved yet, and printing the older one is the kind
    of wrong answer you would only find out about after it came out of the printer.
  • Page breaks land between blocks. A heading, a paragraph, a list item or a table that would
    straddle a break moves down to the next page instead of being cut in half; only a block taller
    than a whole page is ever divided. The text on the page is text, so a printed-to-PDF document is
    still searchable and selectable.

The difference picture is of the pages it compared

  • A de-skewed pair's highlight is drawn from the aligned pages now, not the originals. v5.2
    taught the pixel difference to correct a skew before comparing, but the picture on screen was
    still of the two pages as they are — so the correction moved the outlines and wrote the caption
    while the glow went on showing every line doubled, and the reader could see no sign the alignment
    had happened. On a 0.5° skew the unchanged paragraphs now fall back to a faint ghost and the one
    that was rewritten stays bright. It is less work rather than more: one pass over the aligned pair
    instead of two, which takes a little over 40% off the comparison and ~25 MB off what it allocates.
  • The glow is still not clean, and the caption still says "best effort". Correcting a skew
    rotates one page and leaves the other alone, and resampling moves every anti-aliased edge — so a
    corrected pair still lights more than the words that changed. Measured on a page with one
    paragraph rewritten: the honest answer is one region, and even a perfect correction reports
    eight.

The ⌘/ reference grows sideways

  • Three columns instead of two. Seven rows arrived at once and the two-column window was already
    as tall as a 13" display allows, so the reference is wider and shorter rather than taller — a
    reference you scroll is a reference you stop reading. Every chord above has its row.

Where your sources start

  • iCloud is rooted at iCloud Drive itself, what Finder shows under that name, and it lands on
    Documents when the container has one. Its root used to be ~/Documents — the one folder the
    Documents favorite also names — so the favorite claimed the provider, the Locations section had no
    iCloud row at all, and the breadcrumb's first crumb had nothing above Documents to go to. A Mac
    with Desktop & Documents syncing switched off opens at whatever the container does have.
  • Desktop and Documents still read "in iCloud", and a click still navigates there. macOS keeps
    the real folders in your home directory and leaves two hidden links to them in the container, so
    the app now carries a table of which name means which folder and composes every path through it.
  • The startup disk is back in Locations, above any card and above the Trash. It had been a
    default favorite since late August on the argument that both it and home are places you navigate
    to from a standing start — an argument that fits home and never fitted the disk, which is the
    widest scope and the least often wanted. Existing installs are moved once, so a disk you put back
    into Favorites afterwards stays there.
  • A cloud source can open the vendor's own settings. The row's context menu and the account's
    editor in Settings ▸ Sources carry Open iCloud Settings, which opens its System Settings pane,
    and Open Google Drive, which brings up the app where its settings gear lives. The label names
    what the door does rather than promising a settings window.
  • OneDrive and Dropbox get nothing there, deliberately. Their preferences live behind their
    menu-bar status items, and every programmatic route was measured on a live machine and rejected:
    activation shows no window, their URL schemes either spawn an error window or are inert, and
    neither app answers scripting beyond the standard suite. A web fallback was built and turned down
    — the direction is native preferences or nothing, so those rows offer nothing at all rather than
    a disabled item.

Organize's landing page is one set of cards

  • Every check on the page is now the same shape. The screen had grown five card designs — a
    tinted card for a lens with findings, a grey one for a scan that has not run, a third for a
    report, a fourth for the document survey, and, for Storage before it has ever been analyzed, no
    card at all. They disagreed about the surface, the corner, where a button goes and what a button
    looks like. One anatomy now: a glyph, a heading and a line under it, whatever the check has to
    show, and its small print under a rule.
  • Storage gets a card before its first analysis. It used to be a line of grey text at the foot
    of the page with an Analyze button on it — a lens with a real answer to give, dressed as a
    footnote about something that had already happened.
  • The buttons line up, and they look like buttons. Each card's main verb is the rightmost
    control on it, so they run down one edge of the page; the second verb sits beside it. Nothing on
    the page is a bare coloured word any more — Refresh in particular was a link on one card, a
    button on another, and buried under a finding's examples on a third, and the new-year reminder's
    Set up… was a link sitting in the middle of its own sentence.
  • Renames' card says the same thing in the same place. Its breakdown was two lines under the
    card in the monospaced font meant for filenames; it now reads "Names worth changing — 12 names
    that won't store cleanly · 58 to name or reshuffle · 1,134 to pad."
    — the same words the
    Renames lens's own header uses, so the two summaries of one backlog cannot disagree. The generic
    "to sync, to convention, to order" stays where there is nothing to count, which is the only place
    it beats a real number.
  • Restructure's card says what its backlog is made of, instead of showing you three of it.
    It listed three findings off the front of an unsorted list, which on a real tree meant three
    lines from one node_modules folder, each repeating sixty characters of the same path — telling
    you only that the list was not empty, which the count beside it had already said. It reads
    "31 Shape · 14 Loose folder · 8 Dead weight" now, in the same words the lens tags each
    finding with, and the kinds you can actually fix come first. To File and Duplicates keep their
    three lines: a filename and where it would go, or a filename and how many copies, are short,
    different from each other, and worth reading.
  • The new-year reminder moved onto Restructure's card. It was a headless row of its own,
    wedged between the tiles at the top and the card it was talking about — and the folder it names
    is one of the findings that card is counting, so it belongs on it. It sits inside that card with
    its own Set up… and its own ×, and the page is one rung shorter.
  • The inbox shortcut is a card. It used to be a row you clicked anywhere on, with a chevron for
    a hint — the only control on the page that gave no sign of where its hit area was. It has a
    button now, like everything else. It is not a check either, so it carries no small print.
  • A card with findings is no longer a coloured slab. What says there is something here is the
    tinted glyph and the count beside it, which is what the lens rail already uses — one card in six
    reading as a different app was carrying a signal that was already being carried twice.
  • The three tiles at the top are the same height, and Restructure's Refresh now says what it
    costs, under the same rule the scan cards use.
  • Renames summarises in the blurb too, in the same move. Its breakdown was two lines under the
    card in the monospaced face the slot's usual tenants want — Invoice.pdf → Finance, clip.mp4 — 2 copies — where a fixed pitch is what lets you read a machine-generated name a character at a
    time. A run of prose set that way is just prose in the wrong font. The breakdown replaces the
    generic "to sync, to convention, to order" rather than joining it, since that phrase is the same
    list unfilled; the generic wording survives only where there is nothing yet to count.

The sidebar's Recents stops repeating the rest of the column

  • A recent you do not want is removable. Right-click any row under Recents and choose Remove
    from Recents
    . It asks nothing and takes the row off the column immediately; the folder itself is
    untouched. Going back to that folder writes the row again, which is the bargain — Recents is a
    record of where you have been, and Favorites, one item up the same menu, is the list that keeps a
    folder for good.
  • A folder the column already lists is not listed twice. Visiting somewhere that is already a
    Favorites place or a Locations row — your Documents folder, an account's own top level, a disk —
    no longer writes a Recents row underneath it. The landing folder each source opens at was already
    being left out for this reason; the rest of the column is now too.
  • It reaches spellings a path comparison would miss. iCloud Drive's Desktop and Documents are
    links into its container, so the Favorites place and the recent under the iCloud root are one
    folder written two ways. They are matched as one.
  • The eight rows are eight rows you can see. The cap used to be applied before two of the
    section's filters ran, so a recent in a source you had since removed spent one of the eight and
    was then dropped — leaving the section a row short for no reason on screen. It is applied last
    now, and counts only what is drawn.
  • A source badge names a source with something on it. The badge appears on every row once two
    sources contribute, and "contributes" is read off the rows now rather than off what was
    remembered: an account whose every recent is one of the folders above no longer puts a badge down
    the whole column.

Reading every document, once

  • Organize offers to read page one of every document in your tree, once, in the background.
    What To File and Restructure know has come from filenames plus whatever had been read incidentally;
    this is the pass that reads the tree itself, so their suggestions can use what a file says rather
    than only what it is called. The card states the cost before the benefit: about 3 h, pausable,
    and only new documents are read next time.
  • It counts before it opens anything. The offer promises the number and delivers it once a walk
    has really happened, rather than quoting one of the cheap numbers to hand — the profile's own file
    count is every file, which overstates the reading by about 7%, and overstating the work in the one
    sentence somebody decides on is worse than not stating it.
  • Pause is never cancel, and the card says what it is waiting for. It stands aside for a scan
    you started, for a sleeping display — where iCloud stops handing files over, so the count freezes
    whatever the survey wants — for a Mac running hot, and for Low Power Mode, in that order, naming
    the one that is actually stopping it and adding "Resumes on its own." Your own Pause outranks all
    of them: a card explaining the weather under a button you just pressed is the app talking over you.
  • Progress survives a quit, and a resume states the remainder rather than the original ask.
    How many are still to read is a far easier second decision than three hours, and it is what makes
    an interrupted survey worth resuming rather than a bar stuck part-way for ever.
  • The completion names what it could not open — the Word, PowerPoint and Excel documents in the
    tree — because a summary reporting only what it managed reads as complete when it was not.
  • It carries no badge and stays out of the checks-run fraction. A badge means something to act
    on, and reading is not that. Where a tree has already been read the card is not offered at all,
    because Refresh is both correct and a click, and offering three hours beside it would be offering
    the worse of two answers.

The People list

  • The roster is a list. One line per person: initials, name, relationship, and at the trailing
    edge the one fact worth reading across the whole list at once, how many folders and documents are
    theirs. Everything the row used to say — the matched forms, the areas, the documents kept out of
    other people's folders, the amber caveat — and every button moves behind a disclosure, the shape
    the Sources tab gives its providers. Nothing is gone; it is a click further away, and every action
    is on the row's context menu too. A caution glyph stays on the shut row for the one state that can
    change an outcome, so the row worth opening is visible without opening any.
  • The page is sections, so each thing on it is one thing: People, Names found in your documents,
    Across your tree, and Try a filename. Seven people at three lines of evidence each, then the
    overview, the tester, two buttons, a source note and a six-line caption used to arrive as one
    unbroken column.
  • The order is relationship, not display name — yourself, then spouse, children, parents,
    siblings, then everyone else, alphabetically within each tier so two children do not swap places
    between launches. Sorting by name put the daughter first and the owner of the Mac fifth, which is
    the wrong way round for a list whose job is answering whose document this is.
  • And the order is yours to set. Move Up and Move Down sit in the opened row and its context
    menu, and once you have moved anything, Use Default Order appears under the list to give the rule
    back. A refused move changes nothing, so a click that did nothing cannot quietly convert the
    default arrangement into a custom one.
  • An opened row leads somewhere. Show Their Files hands the person to the same gather ⌘K's
    People rows reach, with the sheet closed first so the answer lands on a pane you can see, and Show
    Folder lists their folders grouped by area, each one revealing that folder in Finder.
  • Look for Names actually reads your documents now. The button was offered whenever a filing
    profile was loaded, which is every launch, but the root it handed the scanner exists only after a
    To File scan has run in the same session — so it bailed on nothing at all: no read, no log line,
    not even the "No new names" line. It worked the day it shipped and had been silent for four
    weeks. It reads the profile's own tree now, which is the tree the survey walked.

Coming back to a workspace keeps what you had set

  • Leaving a workspace used to reset it. Each one is mounted inside its own arm of the window's
    layout, so switching away tore the whole thing down and coming back rebuilt it from its defaults.
    What made this read as arbitrary rather than as a reset is how much already survived: you returned
    to the same page, the same lens, the same scope, with only the narrowing silently gone.
  • Edit brings the caret back to where you left it. Returning built a new text view and assigned
    the whole string into it, which leaves the insertion point after the last character while the
    scroll view is independently still at the top — so it read as "it went back to the top of the
    file" while the caret was in fact sitting invisibly at the bottom of it.
  • Browse keeps the folders you had open. The Tree's expanded set belonged to the view, so every
    folder you had opened closed itself on the way to Compare and back. Opening one folder, then its
    child, then its child looked like it worked, because arriving re-opens the one descending path it
    can name; two sibling folders is the case that showed it. A folder opened on one side is now open
    in that side's other workspaces, which is what a reader already expects of one tree.
  • Organize keeps how you had the results narrowed — the match filter, the query you parked, the
    search field, the sections you unfolded, what you have freed this session, and the flags that let
    an empty list say "all filed" rather than "nothing was ever loose".
  • Compare keeps the differences table's filter, search, sort and folds, with the two guards its
    rebuild used to provide kept deliberately. A fold remembered from an earlier comparison would hide
    differences you have never seen, so folds carry the scan they describe and are dropped on arrival
    whenever the comparison has moved on. And a "failed" filter left standing after the failures are
    gone would filter a table with nothing failed in it down to nothing, with no visible way back to a
    full one, so it is resolved on arrival too.
  • Duplicate thumbnails come back drawn. The tiles were rebuilt with nothing and could not ask
    the cache without waiting a frame, so a picture already decoded and still in memory showed one
    frame of the generic file-type icon on the way back. They can read it directly now. Nothing is
    re-requested, and the cap that withholds previews on a large group still applies.

Help now says what happens to your documents

  • A new article, Reading your documents. Some of what Organize knows comes from opening your
    files rather than reading their names — To File reads a short piece of a loose file, Update folder
    memory reads the first page of what has changed, and Duplicates reads a document's text to tell
    real copies apart. Nothing said what that meant. The article says what can be opened, how much of
    each file is read, what is kept afterwards — ordinary words as themselves, anything with a digit
    in it only in scrambled form — and where all of it lives, so it can be deleted.
  • And it says, plainly, that none of it is sent anywhere. No upload, no account, no sign-in, no
    key: the reading opens no network connection at all. SyncCloud has no server of its own, collects
    no usage statistics and sends no crash reports. Nothing about your files reaches anyone.
  • It names the one exception itself, rather than leaving it to be found: Refine with Claude does
    reach Anthropic's API, with a key you supply and that stays in your Keychain, and only when you
    press Refine. Everything else on the page works the same on a Mac with no key and no internet.
  • Organize's overview says when your documents were last read, and offers Refresh. Until now
    nothing on that screen said the reading had ever happened — the date lived on Restructure's card
    and the refresh was an item inside a dropdown in To File. It is a receipt beside Storage's now:
    what was learned, when, and one control. Refresh reads only what has changed since.
  • "Update folder memory" is now just Refresh. The old name said what the app stores rather than
    what the button is for. The menu item inside To File keeps its object — "Refresh what’s learned" —
    because a bare verb in a menu names nothing.
  • Settings ▸ Intelligence points at it. "Read file contents on-device" is the one switch in
    Settings whose whole subject is privacy and had the least to read beside it; it now carries a
    question mark that opens the article.

Fixes

  • The Activity Log's day headers named the wrong day. Each section's boundary was computed in
    the current time zone while the header that renders it went through a formatter still holding
    whichever zone the window first drew in — so entries stamped 1 June, bucketed at midnight locally,
    were drawn under "Sunday, May 31". Today and Yesterday were always right, which left the wrong
    answer only on sections two days old and older, exactly where there is nothing else to check it
    against.
  • Every date column in the app now reads in the zone you are actually in. A formatter whose zone
    is never set captures the system zone the first time it formats and keeps it for the life of the
    process, and these are built once each because they run per row and per render — so a window left
    open across a Date & Time change or a flight went on reading in the old zone for the rest of the
    session, an hour or five and a half out, with nothing saying so. Three columns were fixed one at a
    time, a hand audit found eight more, and a scan keyed on the constructor rather than on what the
    copies happen to be named turned up the two that audit had missed — sixteen copies across twelve
    files, now one shared type. The scan is what catches the next one. ~/sync-cloud.log follows the
    machine too: it already spans zones, because it outlives the session that wrote its earlier lines.
  • A folder of PDFs no longer reads as an empty one. Standing in a folder of scans, Edit's rail
    said "No text files in this folder. The + button makes one." — word for word what it says about a
    folder with nothing in it at all, so a folder you had just filled looked like one the app had
    lost. It lists text files only, which is right; what was missing was any way to tell the two cases
    apart. It now says how many files it passed over. A folder it could not read has no count and does
    not get one invented.
  • A launch no longer warns about a source that is present. Restoring a pane onto Google Drive,
    Dropbox or OneDrive logged "Skipped a refresh: … is not among the enabled sources yet" every time,
    which read as a race discovery kept losing. It was not a race: the list the app seeds itself with
    before discovery finishes carried iCloud and your folder sources and no cloud account of any kind,
    so the warning was guaranteed rather than timing-dependent. The accounts discovery last saw are
    kept across a quit and offered to that seed. A pane pinned to an account that has since been
    signed out still warns, which is the case the line exists for.