Build log
Fixed Tenoa refusing to start when another sync app already held port 22000, such as Syncthing or a NAS client. Tenoa now picks a free port on its own and says so in the startup log. The library view also recovers by itself once the local services are back.
Fixed the Mac library turning to blank images when a save arrived from an iPhone or iPad while the grid was open. It now recovers on its own, with no manual refresh.
Fixed images that could stick on Image unavailable and never recover, and pictures from iPhone and iPad saves that never appeared in the Mac library. Added Cmd+R to refresh on Mac.
Fixed Safari not recognizing Tenoa Capture after install. The extension now shows up, enables, and adds Save to Tenoa to the toolbar as soon as the notarized app opens.
Fixed a large-library bug where the background refresh could empty the index mid-rebuild and get thumbnails stuck regenerating. Verified clean on a 16,867-item library: nothing dropped, nothing pending.
Saved pages now keep a picture of what you were looking at, not just the text. A page Tenoa doesn't recognise saves as that picture instead of a bare link.
Fixed sync on a fresh install, which starts itself now the first time you open the app. Files you open from an item open in the app you'd expect.
Added a first-run setup that reads what your Mac can handle, points you at a local model it will actually run, and takes a key from an AI service you already pay for if you'd rather use that. Running no AI at all stays a real choice.
Sent the first build to friends and family. Signed Mac app, iPhone and iPad through TestFlight.
Fixed rendering of saved pages, which were showing raw markup instead of text. Made graph links visible. Added an excluded-sites list for the save button.
Added syncing between Mac and iPad. Checksums matched both directions in under 3 seconds.
Locked the mark and wordmark.
Named it Tenoa, from the Latin teneo (I hold).
Imported 101 items from Recall and 118 from mymind into plain files. Cancelled both subscriptions.