<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>listless, branch HEAD</title>
<subtitle>A simple list app for Apple platforms
</subtitle>
<entry>
<id>d9f8925d9d6b06bcec7b5bf5d72f17e5fe12e28c</id>
<published>2026-04-21T16:32:09Z</published>
<updated>2026-04-21T16:32:09Z</updated>
<title type="text">Add additional performance logging</title>
<link rel="alternate" type="text/html" href="commit/d9f8925d9d6b06bcec7b5bf5d72f17e5fe12e28c.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit d9f8925d9d6b06bcec7b5bf5d72f17e5fe12e28c
parent 93e9e1d404c4294e263c4c662af02cbc4f2e65cb
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 22 Apr 2026 01:32:09 +0900

Add additional performance logging

</content>
</entry>
<entry>
<id>93e9e1d404c4294e263c4c662af02cbc4f2e65cb</id>
<published>2026-04-21T16:29:31Z</published>
<updated>2026-04-21T16:29:31Z</updated>
<title type="text">Support copying all performance metrics</title>
<link rel="alternate" type="text/html" href="commit/93e9e1d404c4294e263c4c662af02cbc4f2e65cb.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 93e9e1d404c4294e263c4c662af02cbc4f2e65cb
parent ffae96dd58cf720164c4468a8c98225675cb782c
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 22 Apr 2026 01:29:31 +0900

Support copying all performance metrics

</content>
</entry>
<entry>
<id>ffae96dd58cf720164c4468a8c98225675cb782c</id>
<published>2026-04-21T15:40:43Z</published>
<updated>2026-04-21T15:40:43Z</updated>
<title type="text">Add keyboard priming</title>
<link rel="alternate" type="text/html" href="commit/ffae96dd58cf720164c4468a8c98225675cb782c.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit ffae96dd58cf720164c4468a8c98225675cb782c
parent 9710be2af08ea4fe161a4d71be872922e118b76c
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 22 Apr 2026 00:40:43 +0900

Add keyboard priming

The iOS version occasionally exhibits animation hitches in the initial
pull-to-create gesture. Prior measurements suggest that this is due to
the keyboard start-up time. This commit attempts to prime the keyboard
during launch so that these costs are not visible to the user.

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>9710be2af08ea4fe161a4d71be872922e118b76c</id>
<published>2026-04-21T15:21:13Z</published>
<updated>2026-04-21T15:21:13Z</updated>
<title type="text">Add further performance logging</title>
<link rel="alternate" type="text/html" href="commit/9710be2af08ea4fe161a4d71be872922e118b76c.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 9710be2af08ea4fe161a4d71be872922e118b76c
parent cdabb255639aa9fe539cfedef586273318354820
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 22 Apr 2026 00:21:13 +0900

Add further performance logging

</content>
</entry>
<entry>
<id>cdabb255639aa9fe539cfedef586273318354820</id>
<published>2026-04-21T14:52:11Z</published>
<updated>2026-04-21T15:00:58Z</updated>
<title type="text">Add performance logging</title>
<link rel="alternate" type="text/html" href="commit/cdabb255639aa9fe539cfedef586273318354820.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit cdabb255639aa9fe539cfedef586273318354820
parent 18c4f2203f1c888ad2861a9d00366075d271f90d
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 21 Apr 2026 23:52:11 +0900

Add performance logging

</content>
</entry>
<entry>
<id>18c4f2203f1c888ad2861a9d00366075d271f90d</id>
<published>2026-04-21T15:00:26Z</published>
<updated>2026-04-21T15:00:58Z</updated>
<title type="text">Bump version number</title>
<link rel="alternate" type="text/html" href="commit/18c4f2203f1c888ad2861a9d00366075d271f90d.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 18c4f2203f1c888ad2861a9d00366075d271f90d
parent cc8395d6b44a3892dac41117fefcd8517430cdc8
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 22 Apr 2026 00:00:26 +0900

Bump version number

</content>
</entry>
<entry>
<id>cc8395d6b44a3892dac41117fefcd8517430cdc8</id>
<published>2026-04-20T12:11:04Z</published>
<updated>2026-04-20T12:19:49Z</updated>
<title type="text">Fix macOS version opening during synchronisation</title>
<link rel="alternate" type="text/html" href="commit/cc8395d6b44a3892dac41117fefcd8517430cdc8.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit cc8395d6b44a3892dac41117fefcd8517430cdc8
parent a15d7e7dc7ce08c50ea686ec041ebdd00586efc1
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 20 Apr 2026 21:11:04 +0900

Fix macOS version opening during synchronisation

</content>
</entry>
<entry>
<id>a15d7e7dc7ce08c50ea686ec041ebdd00586efc1</id>
<published>2026-04-20T12:19:36Z</published>
<updated>2026-04-20T12:19:49Z</updated>
<title type="text">Bump version number</title>
<link rel="alternate" type="text/html" href="commit/a15d7e7dc7ce08c50ea686ec041ebdd00586efc1.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit a15d7e7dc7ce08c50ea686ec041ebdd00586efc1
parent 021665e05c640a7f7b50729629a7d877799874e3
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 20 Apr 2026 21:19:36 +0900

Bump version number

</content>
</entry>
<entry>
<id>021665e05c640a7f7b50729629a7d877799874e3</id>
<published>2026-04-19T00:55:20Z</published>
<updated>2026-04-19T00:55:20Z</updated>
<title type="text">Show window when launched via XCTest</title>
<link rel="alternate" type="text/html" href="commit/021665e05c640a7f7b50729629a7d877799874e3.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 021665e05c640a7f7b50729629a7d877799874e3
parent b2d5784e70bc1fb759d47a80e05c7314b453f4c4
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sun, 19 Apr 2026 09:55:20 +0900

Show window when launched via XCTest

</content>
</entry>
<entry>
<id>b2d5784e70bc1fb759d47a80e05c7314b453f4c4</id>
<published>2026-04-19T00:23:28Z</published>
<updated>2026-04-19T00:23:28Z</updated>
<title type="text">Ensure that app becomes foregrounded when launched</title>
<link rel="alternate" type="text/html" href="commit/b2d5784e70bc1fb759d47a80e05c7314b453f4c4.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit b2d5784e70bc1fb759d47a80e05c7314b453f4c4
parent 578be3c28aa16d0b69444ce30ab08ef437a1228e
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sun, 19 Apr 2026 09:23:28 +0900

Ensure that app becomes foregrounded when launched

</content>
</entry>
<entry>
<id>578be3c28aa16d0b69444ce30ab08ef437a1228e</id>
<published>2026-04-18T23:43:13Z</published>
<updated>2026-04-18T23:43:13Z</updated>
<title type="text">Set default launch policy to `.accessory` in macOS version</title>
<link rel="alternate" type="text/html" href="commit/578be3c28aa16d0b69444ce30ab08ef437a1228e.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 578be3c28aa16d0b69444ce30ab08ef437a1228e
parent 853143d75c5a54671f5ca588a72dc872b8597835
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sun, 19 Apr 2026 08:43:13 +0900

Set default launch policy to `.accessory` in macOS version

This commit is a further step in preventing Listless from launching upon
receipt of a CloudKit sync notification. Continued investigation has
suggested that the problem is that the app is always lauching with an
activation policy of `.regular`. It seems that the better approach is to
launch by default as `.accessory` and only promote to `.regular` when
there is evidence of explicit user intent to launch the app.

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>853143d75c5a54671f5ca588a72dc872b8597835</id>
<published>2026-04-18T13:05:11Z</published>
<updated>2026-04-18T13:05:11Z</updated>
<title type="text">Remove push notification entitlement in macOS version</title>
<link rel="alternate" type="text/html" href="commit/853143d75c5a54671f5ca588a72dc872b8597835.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 853143d75c5a54671f5ca588a72dc872b8597835
parent e06b70a7d0991b38ec48f512205deaa2977e18d7
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 18 Apr 2026 22:05:11 +0900

Remove push notification entitlement in macOS version

</content>
</entry>
<entry>
<id>e06b70a7d0991b38ec48f512205deaa2977e18d7</id>
<published>2026-04-18T09:51:03Z</published>
<updated>2026-04-18T09:51:03Z</updated>
<title type="text">Remove remote notification registration on macOS</title>
<link rel="alternate" type="text/html" href="commit/e06b70a7d0991b38ec48f512205deaa2977e18d7.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit e06b70a7d0991b38ec48f512205deaa2977e18d7
parent 3b84343d8354578deb962acdb4906e234fbd1731
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 18 Apr 2026 18:51:03 +0900

Remove remote notification registration on macOS

</content>
</entry>
<entry>
<id>3b84343d8354578deb962acdb4906e234fbd1731</id>
<published>2026-04-18T04:55:35Z</published>
<updated>2026-04-18T04:57:42Z</updated>
<title type="text">Add instrumentation code to Mac app launching</title>
<link rel="alternate" type="text/html" href="commit/3b84343d8354578deb962acdb4906e234fbd1731.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 3b84343d8354578deb962acdb4906e234fbd1731
parent 2053123e3315c29cf527688f6934b5d1f0761104
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 18 Apr 2026 13:55:35 +0900

Add instrumentation code to Mac app launching

</content>
</entry>
<entry>
<id>2053123e3315c29cf527688f6934b5d1f0761104</id>
<published>2026-04-18T04:57:25Z</published>
<updated>2026-04-18T04:57:41Z</updated>
<title type="text">Bump version number</title>
<link rel="alternate" type="text/html" href="commit/2053123e3315c29cf527688f6934b5d1f0761104.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 2053123e3315c29cf527688f6934b5d1f0761104
parent 509e82ff4e5729f2fef2cfcd2da0422e0c0632a4
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 18 Apr 2026 13:57:25 +0900

Bump version number

</content>
</entry>
<entry>
<id>509e82ff4e5729f2fef2cfcd2da0422e0c0632a4</id>
<published>2026-04-17T22:26:44Z</published>
<updated>2026-04-17T22:26:44Z</updated>
<title type="text">Add further keyboard shortcuts</title>
<link rel="alternate" type="text/html" href="commit/509e82ff4e5729f2fef2cfcd2da0422e0c0632a4.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 509e82ff4e5729f2fef2cfcd2da0422e0c0632a4
parent f3c807105ab2dba85d4e532e0b22a4a9be870adc
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 18 Apr 2026 07:26:44 +0900

Add further keyboard shortcuts

On Magic Keyboards for iPads, there are no Page-Up/Page-Down/Home/End
keys. This commit adds alernative keys to support those input methods.

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>f3c807105ab2dba85d4e532e0b22a4a9be870adc</id>
<published>2026-04-17T21:22:49Z</published>
<updated>2026-04-17T21:22:49Z</updated>
<title type="text">Bump version number</title>
<link rel="alternate" type="text/html" href="commit/f3c807105ab2dba85d4e532e0b22a4a9be870adc.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit f3c807105ab2dba85d4e532e0b22a4a9be870adc
parent 89f160402415dfa0447ad9d229424c03ce39e184
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 18 Apr 2026 06:22:49 +0900

Bump version number

</content>
</entry>
<entry>
<id>89f160402415dfa0447ad9d229424c03ce39e184</id>
<published>2026-04-17T21:19:09Z</published>
<updated>2026-04-17T21:19:09Z</updated>
<title type="text">Add additional keyboard shortcuts</title>
<link rel="alternate" type="text/html" href="commit/89f160402415dfa0447ad9d229424c03ce39e184.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 89f160402415dfa0447ad9d229424c03ce39e184
parent ae7e996e35301e0daf31ec67608f9968f4867bfb
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 18 Apr 2026 06:19:09 +0900

Add additional keyboard shortcuts

This commit adds support for Home/End/Page-Up/Page-Down. It does this
using the existing keyboard shortcut mechanism.

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>ae7e996e35301e0daf31ec67608f9968f4867bfb</id>
<published>2026-04-11T14:30:02Z</published>
<updated>2026-04-11T14:30:02Z</updated>
<title type="text">Remove help menu</title>
<link rel="alternate" type="text/html" href="commit/ae7e996e35301e0daf31ec67608f9968f4867bfb.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit ae7e996e35301e0daf31ec67608f9968f4867bfb
parent fe6dca8a2e39d5af0e8b0a91d915b922cbd42980
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 11 Apr 2026 23:30:02 +0900

Remove help menu

</content>
</entry>
<entry>
<id>fe6dca8a2e39d5af0e8b0a91d915b922cbd42980</id>
<published>2026-04-04T05:10:09Z</published>
<updated>2026-04-04T23:52:59Z</updated>
<title type="text">Support background syncing using push notifications</title>
<link rel="alternate" type="text/html" href="commit/fe6dca8a2e39d5af0e8b0a91d915b922cbd42980.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit fe6dca8a2e39d5af0e8b0a91d915b922cbd42980
parent 0956d98718d42cd2338c775028a21629a0ba0769
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat,  4 Apr 2026 14:10:09 +0900

Support background syncing using push notifications

Prior to this commit, iCloud syncing would only happen while the app was
open and had focus. This commit uses CloudKit silent pushes. However, it
is noted that this API is broken in the 26.4 versions of Apple&#39;s OSs and
so this will not change behaviour for users on those versions.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>0956d98718d42cd2338c775028a21629a0ba0769</id>
<published>2026-04-04T23:52:17Z</published>
<updated>2026-04-04T23:52:59Z</updated>
<title type="text">Bump version number</title>
<link rel="alternate" type="text/html" href="commit/0956d98718d42cd2338c775028a21629a0ba0769.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0956d98718d42cd2338c775028a21629a0ba0769
parent 910cc135757a7a6684d018e9e048d324a7807ac1
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sun,  5 Apr 2026 08:52:17 +0900

Bump version number

</content>
</entry>
<entry>
<id>910cc135757a7a6684d018e9e048d324a7807ac1</id>
<published>2026-04-02T15:57:32Z</published>
<updated>2026-04-02T15:57:32Z</updated>
<title type="text">Move macOS wallpaper</title>
<link rel="alternate" type="text/html" href="commit/910cc135757a7a6684d018e9e048d324a7807ac1.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 910cc135757a7a6684d018e9e048d324a7807ac1
parent 577bbfaf924dc233025c203a3c106a9cf36dac07
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri,  3 Apr 2026 00:57:32 +0900

Move macOS wallpaper

</content>
</entry>
<entry>
<id>577bbfaf924dc233025c203a3c106a9cf36dac07</id>
<published>2026-04-02T15:45:31Z</published>
<updated>2026-04-02T15:45:31Z</updated>
<title type="text">Add automated screenshot mechanism for other platforms</title>
<link rel="alternate" type="text/html" href="commit/577bbfaf924dc233025c203a3c106a9cf36dac07.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 577bbfaf924dc233025c203a3c106a9cf36dac07
parent cc62a31d019dc3a62ffcb4a215cdc562a68ee8ee
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri,  3 Apr 2026 00:45:31 +0900

Add automated screenshot mechanism for other platforms

This commit adds scripts for creating screenshots for other Apple
platforms.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>cc62a31d019dc3a62ffcb4a215cdc562a68ee8ee</id>
<published>2026-04-02T04:37:27Z</published>
<updated>2026-04-02T04:37:27Z</updated>
<title type="text">Automate production of iPhone screenshots</title>
<link rel="alternate" type="text/html" href="commit/cc62a31d019dc3a62ffcb4a215cdc562a68ee8ee.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit cc62a31d019dc3a62ffcb4a215cdc562a68ee8ee
parent eb0e9aa4055ea0e307ee1394df69e44016567580
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu,  2 Apr 2026 13:37:27 +0900

Automate production of iPhone screenshots

This commit adds files necessary to create iPhone screenshots. This is
probably horribly overengineered given how infrequently the production
of screenshots is likely to be.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>eb0e9aa4055ea0e307ee1394df69e44016567580</id>
<published>2026-04-01T15:48:42Z</published>
<updated>2026-04-01T15:48:51Z</updated>
<title type="text">Improve unit test coverage</title>
<link rel="alternate" type="text/html" href="commit/eb0e9aa4055ea0e307ee1394df69e44016567580.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit eb0e9aa4055ea0e307ee1394df69e44016567580
parent 2b430a79bfcbfdad1c5a65da3fd805f1bde8d065
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu,  2 Apr 2026 00:48:42 +0900

Improve unit test coverage

This commit adds additional unit tests. One minor bug was discovered
relating to how selection could be impacted by rows being deleted.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>2b430a79bfcbfdad1c5a65da3fd805f1bde8d065</id>
<published>2026-04-01T15:48:09Z</published>
<updated>2026-04-01T15:48:09Z</updated>
<title type="text">Add script to run unit tests</title>
<link rel="alternate" type="text/html" href="commit/2b430a79bfcbfdad1c5a65da3fd805f1bde8d065.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 2b430a79bfcbfdad1c5a65da3fd805f1bde8d065
parent 5a3459f10ab105a5b80592d59070f76ead13e24d
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu,  2 Apr 2026 00:48:09 +0900

Add script to run unit tests

</content>
</entry>
<entry>
<id>5a3459f10ab105a5b80592d59070f76ead13e24d</id>
<published>2026-04-01T14:55:42Z</published>
<updated>2026-04-01T14:55:42Z</updated>
<title type="text">Update AGENTS.md to account for recent changes</title>
<link rel="alternate" type="text/html" href="commit/5a3459f10ab105a5b80592d59070f76ead13e24d.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 5a3459f10ab105a5b80592d59070f76ead13e24d
parent 1c747f5cf8e2a14218deb788e9087c8267a85ac3
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed,  1 Apr 2026 23:55:42 +0900

Update AGENTS.md to account for recent changes

</content>
</entry>
<entry>
<id>1c747f5cf8e2a14218deb788e9087c8267a85ac3</id>
<published>2026-04-01T10:09:59Z</published>
<updated>2026-04-01T10:09:59Z</updated>
<title type="text">Try alternative fix for animation bug</title>
<link rel="alternate" type="text/html" href="commit/1c747f5cf8e2a14218deb788e9087c8267a85ac3.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 1c747f5cf8e2a14218deb788e9087c8267a85ac3
parent cfeed7a5f1aa2c64e5b8382009d5ab76eb3c9f6f
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed,  1 Apr 2026 19:09:59 +0900

Try alternative fix for animation bug

The previous commit&#39;s fix didn&#39;t work. This approach takes advantage of
the `completion` argument to the `.withAnimation` modifier to reset the
status of a view so that if it is recycled by SwiftUI, it&#39;s back in its
reset state.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>cfeed7a5f1aa2c64e5b8382009d5ab76eb3c9f6f</id>
<published>2026-04-01T06:49:59Z</published>
<updated>2026-04-01T06:49:59Z</updated>
<title type="text">Implement more robust reset after undoing</title>
<link rel="alternate" type="text/html" href="commit/cfeed7a5f1aa2c64e5b8382009d5ab76eb3c9f6f.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit cfeed7a5f1aa2c64e5b8382009d5ab76eb3c9f6f
parent 073bb63d24395b47ba5e4230506ef4c7fb766c8e
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed,  1 Apr 2026 15:49:59 +0900

Implement more robust reset after undoing

Prior to this commit, it is possible to trigger an animation bug where a
swipe-to-delete animation is &#39;preserved&#39; after a user presses undo. This
change addresses this using a state value that all rows observe (which
is a little inelegant but has a simpler implementation).

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>073bb63d24395b47ba5e4230506ef4c7fb766c8e</id>
<published>2026-04-01T06:25:45Z</published>
<updated>2026-04-01T06:25:45Z</updated>
<title type="text">Fix swipe-to-delete bug in the iOS version</title>
<link rel="alternate" type="text/html" href="commit/073bb63d24395b47ba5e4230506ef4c7fb766c8e.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 073bb63d24395b47ba5e4230506ef4c7fb766c8e
parent 463dfb7e30f741b194661aa5e6d4147cc64cefcb
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed,  1 Apr 2026 15:25:45 +0900

Fix swipe-to-delete bug in the iOS version

</content>
</entry>
<entry>
<id>463dfb7e30f741b194661aa5e6d4147cc64cefcb</id>
<published>2026-03-31T09:12:49Z</published>
<updated>2026-03-31T09:12:49Z</updated>
<title type="text">Disable pull-to-create gesture while editing a row</title>
<link rel="alternate" type="text/html" href="commit/463dfb7e30f741b194661aa5e6d4147cc64cefcb.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 463dfb7e30f741b194661aa5e6d4147cc64cefcb
parent 81980ccc5bf8a912344dbe7330a505953af98231
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 18:12:49 +0900

Disable pull-to-create gesture while editing a row

This addresses an issue raised during the beta testing where it was
possible to use the pull-to-create gesture while a row was being added.
This can be disruptive and is presumably not something a user would
intend to do.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>81980ccc5bf8a912344dbe7330a505953af98231</id>
<published>2026-03-31T09:02:46Z</published>
<updated>2026-03-31T09:02:46Z</updated>
<title type="text">Hide indicator row in iOS if focused row exists</title>
<link rel="alternate" type="text/html" href="commit/81980ccc5bf8a912344dbe7330a505953af98231.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 81980ccc5bf8a912344dbe7330a505953af98231
parent bf3417bc4230022ea752146a397e687a28c07ab4
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 18:02:46 +0900

Hide indicator row in iOS if focused row exists

</content>
</entry>
<entry>
<id>bf3417bc4230022ea752146a397e687a28c07ab4</id>
<published>2026-03-31T08:16:40Z</published>
<updated>2026-03-31T08:16:40Z</updated>
<title type="text">Correct mistakes in tutorial directions</title>
<link rel="alternate" type="text/html" href="commit/bf3417bc4230022ea752146a397e687a28c07ab4.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit bf3417bc4230022ea752146a397e687a28c07ab4
parent a94d7b77613728bb9b4a77ef5c1c89434812abf6
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 17:16:40 +0900

Correct mistakes in tutorial directions

</content>
</entry>
<entry>
<id>a94d7b77613728bb9b4a77ef5c1c89434812abf6</id>
<published>2026-03-31T07:52:30Z</published>
<updated>2026-03-31T07:52:47Z</updated>
<title type="text">Update scripts to work without login keychain being unlocked</title>
<link rel="alternate" type="text/html" href="commit/a94d7b77613728bb9b4a77ef5c1c89434812abf6.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit a94d7b77613728bb9b4a77ef5c1c89434812abf6
parent 2b98cca2466f4b78e34f8d7535615809db558b45
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 16:52:30 +0900

Update scripts to work without login keychain being unlocked

</content>
</entry>
<entry>
<id>2b98cca2466f4b78e34f8d7535615809db558b45</id>
<published>2026-03-31T05:52:53Z</published>
<updated>2026-03-31T05:52:53Z</updated>
<title type="text">Introduce ItemValue snapshot type to prevent Core Data crashes</title>
<link rel="alternate" type="text/html" href="commit/2b98cca2466f4b78e34f8d7535615809db558b45.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 2b98cca2466f4b78e34f8d7535615809db558b45
parent f9f00df839ad3190df2c5cec036f77658307701b
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 14:52:53 +0900

Introduce ItemValue snapshot type to prevent Core Data crashes

Before this commit, accessing @NSManaged properties on an invalidated
NSManagedObject (e.g. after a CloudKit sync delete on another device) crashes
because the ObjC-to-Swift bridge force-unwraps nil. This affected any ForEach
body that held a reference to an ItemEntity during a render cycle.

This commit adds an ItemValue struct that snapshots the view-relevant fields of
ItemEntity. The computed properties in ItemListView+Logic.swift now return
an array of ItemValue structs and all view code (iOS, macOS, watchOS) operates
on this value type instead of NSManagedObject. ItemEntity.id is also changed
from @NSManaged to a safe computed property using `primitiveValue(forKey:)` as a
belt-and-suspenders guard.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>f9f00df839ad3190df2c5cec036f77658307701b</id>
<published>2026-03-31T01:09:41Z</published>
<updated>2026-03-31T01:23:26Z</updated>
<title type="text">Move tutorial into a separate view to avoid crashes</title>
<link rel="alternate" type="text/html" href="commit/f9f00df839ad3190df2c5cec036f77658307701b.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit f9f00df839ad3190df2c5cec036f77658307701b
parent ac3ad1528bdbd984114498e03d53f5a0ae012087
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 10:09:41 +0900

Move tutorial into a separate view to avoid crashes

The tutorial&#39;s PersistenceController was a local variable in a computed
property, so it was deallocated during the SwiftUI transition when the tutorial
was dismissed. The @FetchRequest could then crash accessing the dead context.

This commit extracts the tutorial into a TutorialListView struct that owns its
PersistenceController via @State, tying its lifetime to the view&#39;s. A single
static NSManagedObjectModel is also shared across all containers so the
tutorial and main PersistenceControllers don&#39;t register competing
NSEntityDescriptions for TaskItem.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>ac3ad1528bdbd984114498e03d53f5a0ae012087</id>
<published>2026-03-30T18:41:16Z</published>
<updated>2026-03-30T18:41:16Z</updated>
<title type="text">Remove superfluous animation on swipe-to-complete gesture</title>
<link rel="alternate" type="text/html" href="commit/ac3ad1528bdbd984114498e03d53f5a0ae012087.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit ac3ad1528bdbd984114498e03d53f5a0ae012087
parent e9d7e19b69dcf1744ab328cec7b30d9d5ce31f55
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 03:41:16 +0900

Remove superfluous animation on swipe-to-complete gesture

</content>
</entry>
<entry>
<id>e9d7e19b69dcf1744ab328cec7b30d9d5ce31f55</id>
<published>2026-03-30T18:09:45Z</published>
<updated>2026-03-30T18:09:45Z</updated>
<title type="text">Add slight delay to iOS UI test</title>
<link rel="alternate" type="text/html" href="commit/e9d7e19b69dcf1744ab328cec7b30d9d5ce31f55.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit e9d7e19b69dcf1744ab328cec7b30d9d5ce31f55
parent 0fe7724146bf1c0b88d19f859e5013e74a946f6c
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 03:09:45 +0900

Add slight delay to iOS UI test

</content>
</entry>
<entry>
<id>0fe7724146bf1c0b88d19f859e5013e74a946f6c</id>
<published>2026-03-30T16:23:32Z</published>
<updated>2026-03-30T16:23:32Z</updated>
<title type="text">Improve draft row adds and removes</title>
<link rel="alternate" type="text/html" href="commit/0fe7724146bf1c0b88d19f859e5013e74a946f6c.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0fe7724146bf1c0b88d19f859e5013e74a946f6c
parent 0f2bb8036689bb67561b40f272818eb5fdfea0ed
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 01:23:32 +0900

Improve draft row adds and removes

This commit adds more transitions for the draft row that appears in the
iOS version when the user &#39;creates&#39; a row (be that using the
pull-to-create gesture or the tap-to-create gesture).

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>0f2bb8036689bb67561b40f272818eb5fdfea0ed</id>
<published>2026-03-30T15:08:51Z</published>
<updated>2026-03-30T15:08:51Z</updated>
<title type="text">Scroll pull-to-create hint on drags</title>
<link rel="alternate" type="text/html" href="commit/0f2bb8036689bb67561b40f272818eb5fdfea0ed.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0f2bb8036689bb67561b40f272818eb5fdfea0ed
parent 44d599c856657e1c351b15162442c4ea543e0139
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 31 Mar 2026 00:08:51 +0900

Scroll pull-to-create hint on drags

</content>
</entry>
<entry>
<id>44d599c856657e1c351b15162442c4ea543e0139</id>
<published>2026-03-30T10:47:31Z</published>
<updated>2026-03-30T10:47:31Z</updated>
<title type="text">Fix conflict between tutorial and UI tests in iOS version</title>
<link rel="alternate" type="text/html" href="commit/44d599c856657e1c351b15162442c4ea543e0139.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 44d599c856657e1c351b15162442c4ea543e0139
parent ba6a57c47cfcfb75a350c0f741b8b30f73f1e87d
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 30 Mar 2026 19:47:31 +0900

Fix conflict between tutorial and UI tests in iOS version

</content>
</entry>
<entry>
<id>ba6a57c47cfcfb75a350c0f741b8b30f73f1e87d</id>
<published>2026-03-30T02:44:51Z</published>
<updated>2026-03-30T02:44:51Z</updated>
<title type="text">Add tutorial to iOS version</title>
<link rel="alternate" type="text/html" href="commit/ba6a57c47cfcfb75a350c0f741b8b30f73f1e87d.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit ba6a57c47cfcfb75a350c0f741b8b30f73f1e87d
parent 6f0ae01f4b7c096600de1be606a3a11513518a99
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 30 Mar 2026 11:44:51 +0900

Add tutorial to iOS version

This commit adds a tutorial when running the iOS version for the first
time. A &#39;Finish&#39; button is provided so that the user can quickly dismiss
this if unnecessary.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>6f0ae01f4b7c096600de1be606a3a11513518a99</id>
<published>2026-03-27T04:36:11Z</published>
<updated>2026-03-27T04:36:11Z</updated>
<title type="text">Update scripts to use development key from temporary keychain</title>
<link rel="alternate" type="text/html" href="commit/6f0ae01f4b7c096600de1be606a3a11513518a99.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 6f0ae01f4b7c096600de1be606a3a11513518a99
parent a940a5509db9407091a71ff3529ee816a5b21154
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri, 27 Mar 2026 13:36:11 +0900

Update scripts to use development key from temporary keychain

</content>
</entry>
<entry>
<id>a940a5509db9407091a71ff3529ee816a5b21154</id>
<published>2026-03-27T04:22:34Z</published>
<updated>2026-03-27T04:22:34Z</updated>
<title type="text">Improve scrolling during row reordering</title>
<link rel="alternate" type="text/html" href="commit/a940a5509db9407091a71ff3529ee816a5b21154.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit a940a5509db9407091a71ff3529ee816a5b21154
parent 5ac94bb9029e2c1e8e4e6e936eec2894ff4417ec
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri, 27 Mar 2026 13:22:34 +0900

Improve scrolling during row reordering

</content>
</entry>
<entry>
<id>5ac94bb9029e2c1e8e4e6e936eec2894ff4417ec</id>
<published>2026-03-27T04:19:03Z</published>
<updated>2026-03-27T04:19:03Z</updated>
<title type="text">Update AGENTS.md with minimum targets</title>
<link rel="alternate" type="text/html" href="commit/5ac94bb9029e2c1e8e4e6e936eec2894ff4417ec.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 5ac94bb9029e2c1e8e4e6e936eec2894ff4417ec
parent bfec85198a31448a88381e3a4228679cf7033bca
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri, 27 Mar 2026 13:19:03 +0900

Update AGENTS.md with minimum targets

</content>
</entry>
<entry>
<id>bfec85198a31448a88381e3a4228679cf7033bca</id>
<published>2026-03-26T10:20:30Z</published>
<updated>2026-03-26T10:20:30Z</updated>
<title type="text">Rename list name key used in iCloud key-value store</title>
<link rel="alternate" type="text/html" href="commit/bfec85198a31448a88381e3a4228679cf7033bca.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit bfec85198a31448a88381e3a4228679cf7033bca
parent 290c374647d13a74d09cbcb61942bcf2722b99e1
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 26 Mar 2026 19:20:30 +0900

Rename list name key used in iCloud key-value store

</content>
</entry>
<entry>
<id>290c374647d13a74d09cbcb61942bcf2722b99e1</id>
<published>2026-03-26T10:04:40Z</published>
<updated>2026-03-26T10:04:40Z</updated>
<title type="text">Sync theme across platforms</title>
<link rel="alternate" type="text/html" href="commit/290c374647d13a74d09cbcb61942bcf2722b99e1.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 290c374647d13a74d09cbcb61942bcf2722b99e1
parent d75fd2e1405a12158d541fdc156c429fd3539372
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 26 Mar 2026 19:04:40 +0900

Sync theme across platforms

This commit syncs the theme used across platforms. This is most
important for the Apple Watch which does not have a way to independently
adjust the theme.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>d75fd2e1405a12158d541fdc156c429fd3539372</id>
<published>2026-03-26T09:33:15Z</published>
<updated>2026-03-26T09:33:15Z</updated>
<title type="text">Update AGENTS.md regarding overflow menu and focus guard</title>
<link rel="alternate" type="text/html" href="commit/d75fd2e1405a12158d541fdc156c429fd3539372.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit d75fd2e1405a12158d541fdc156c429fd3539372
parent 163a0fb0e12dba17c58e7636e2a48cf46c7f27d3
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 26 Mar 2026 18:33:15 +0900

Update AGENTS.md regarding overflow menu and focus guard

</content>
</entry>
<entry>
<id>163a0fb0e12dba17c58e7636e2a48cf46c7f27d3</id>
<published>2026-03-26T05:52:44Z</published>
<updated>2026-03-26T05:52:44Z</updated>
<title type="text">Improve scope of focus guard</title>
<link rel="alternate" type="text/html" href="commit/163a0fb0e12dba17c58e7636e2a48cf46c7f27d3.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 163a0fb0e12dba17c58e7636e2a48cf46c7f27d3
parent 4ad0c6d7f6bec95f8a13fbb93843b01daf285f40
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 26 Mar 2026 14:52:44 +0900

Improve scope of focus guard

</content>
</entry>
<entry>
<id>4ad0c6d7f6bec95f8a13fbb93843b01daf285f40</id>
<published>2026-03-26T05:23:52Z</published>
<updated>2026-03-26T05:23:52Z</updated>
<title type="text">Add workaround for Liquid Glass bug on menu</title>
<link rel="alternate" type="text/html" href="commit/4ad0c6d7f6bec95f8a13fbb93843b01daf285f40.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 4ad0c6d7f6bec95f8a13fbb93843b01daf285f40
parent 0c3ef7e9f32bb61528525de8f6b148db30bcc0bf
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 26 Mar 2026 14:23:52 +0900

Add workaround for Liquid Glass bug on menu

</content>
</entry>
<entry>
<id>0c3ef7e9f32bb61528525de8f6b148db30bcc0bf</id>
<published>2026-03-25T22:44:17Z</published>
<updated>2026-03-25T22:44:17Z</updated>
<title type="text">Avoid shadow display bug in Liquid Glass</title>
<link rel="alternate" type="text/html" href="commit/0c3ef7e9f32bb61528525de8f6b148db30bcc0bf.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0c3ef7e9f32bb61528525de8f6b148db30bcc0bf
parent 3018f8245a5ba574d55df4e918abc7aca98cdad7
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 26 Mar 2026 07:44:17 +0900

Avoid shadow display bug in Liquid Glass

</content>
</entry>
<entry>
<id>3018f8245a5ba574d55df4e918abc7aca98cdad7</id>
<published>2026-03-25T21:42:50Z</published>
<updated>2026-03-25T21:42:50Z</updated>
<title type="text">Use overflow menu</title>
<link rel="alternate" type="text/html" href="commit/3018f8245a5ba574d55df4e918abc7aca98cdad7.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 3018f8245a5ba574d55df4e918abc7aca98cdad7
parent 09301221000ff103601c578b10b7c1c3088e9d64
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 26 Mar 2026 06:42:50 +0900

Use overflow menu

Although it was a design goal for the iOS version to use gestures as
much as possible (rather than affordances like buttons), I think this
can be taken too far. A compromise had already been reached where a
settings button was present to allow the user to customise the list.
This commit replaces that with an overflow menu that allows a user to
rename the list, delete all items and access settings.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>09301221000ff103601c578b10b7c1c3088e9d64</id>
<published>2026-03-25T07:33:15Z</published>
<updated>2026-03-25T07:33:15Z</updated>
<title type="text">Use &#39;item&#39; instead of &#39;task&#39; in codebase</title>
<link rel="alternate" type="text/html" href="commit/09301221000ff103601c578b10b7c1c3088e9d64.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 09301221000ff103601c578b10b7c1c3088e9d64
parent 1c46eb5e2e6ae720bcd912cb8494baccb4b2e21b
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 25 Mar 2026 16:33:15 +0900

Use &#39;item&#39; instead of &#39;task&#39; in codebase

</content>
</entry>
<entry>
<id>1c46eb5e2e6ae720bcd912cb8494baccb4b2e21b</id>
<published>2026-03-25T03:11:06Z</published>
<updated>2026-03-25T03:11:06Z</updated>
<title type="text">Add comment about Tasks and DispatchQueues</title>
<link rel="alternate" type="text/html" href="commit/1c46eb5e2e6ae720bcd912cb8494baccb4b2e21b.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 1c46eb5e2e6ae720bcd912cb8494baccb4b2e21b
parent 610831532487525b52e83df84425d13989210dd2
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 25 Mar 2026 12:11:06 +0900

Add comment about Tasks and DispatchQueues

</content>
</entry>
<entry>
<id>610831532487525b52e83df84425d13989210dd2</id>
<published>2026-03-25T02:55:23Z</published>
<updated>2026-03-25T02:55:23Z</updated>
<title type="text">Add guard to prevent double deletion</title>
<link rel="alternate" type="text/html" href="commit/610831532487525b52e83df84425d13989210dd2.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 610831532487525b52e83df84425d13989210dd2
parent e403e24c46d0a2a1b9aaf33d0924997e7d188452
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 25 Mar 2026 11:55:23 +0900

Add guard to prevent double deletion

</content>
</entry>
<entry>
<id>e403e24c46d0a2a1b9aaf33d0924997e7d188452</id>
<published>2026-03-24T23:57:29Z</published>
<updated>2026-03-24T23:57:29Z</updated>
<title type="text">Avoid using UIKit-based views outside of an editing context</title>
<link rel="alternate" type="text/html" href="commit/e403e24c46d0a2a1b9aaf33d0924997e7d188452.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit e403e24c46d0a2a1b9aaf33d0924997e7d188452
parent 8e45b34ce855229a0aa043883b6dfd684fbfed24
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 25 Mar 2026 08:57:29 +0900

Avoid using UIKit-based views outside of an editing context

In a further attempt to improve scrolling performance, this commit
avoids using explicit UIKit-based outside of an editing context. This
required tweaks to UI tests given the different views now in use.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>8e45b34ce855229a0aa043883b6dfd684fbfed24</id>
<published>2026-03-24T21:21:43Z</published>
<updated>2026-03-24T21:21:43Z</updated>
<title type="text">Tweak FPS overlay to show target frame speed</title>
<link rel="alternate" type="text/html" href="commit/8e45b34ce855229a0aa043883b6dfd684fbfed24.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 8e45b34ce855229a0aa043883b6dfd684fbfed24
parent 164fada66965680562b546afcfc6b1f38749ae00
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 25 Mar 2026 06:21:43 +0900

Tweak FPS overlay to show target frame speed

</content>
</entry>
<entry>
<id>164fada66965680562b546afcfc6b1f38749ae00</id>
<published>2026-03-24T20:43:48Z</published>
<updated>2026-03-24T20:43:48Z</updated>
<title type="text">Enable 120 fps in Info.plist</title>
<link rel="alternate" type="text/html" href="commit/164fada66965680562b546afcfc6b1f38749ae00.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 164fada66965680562b546afcfc6b1f38749ae00
parent abd818d66267e51ca03cc80c419393c9c53502d9
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 25 Mar 2026 05:43:48 +0900

Enable 120 fps in Info.plist

</content>
</entry>
<entry>
<id>abd818d66267e51ca03cc80c419393c9c53502d9</id>
<published>2026-03-24T09:47:33Z</published>
<updated>2026-03-24T09:47:33Z</updated>
<title type="text">Add debugging section to Settings screen</title>
<link rel="alternate" type="text/html" href="commit/abd818d66267e51ca03cc80c419393c9c53502d9.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit abd818d66267e51ca03cc80c419393c9c53502d9
parent 0b99e0cba36854bb58c08989aceabbb105e3e29c
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 18:47:33 +0900

Add debugging section to Settings screen

</content>
</entry>
<entry>
<id>0b99e0cba36854bb58c08989aceabbb105e3e29c</id>
<published>2026-03-24T09:36:18Z</published>
<updated>2026-03-24T09:36:18Z</updated>
<title type="text">Tweak FPS overlay to measure higher frame rates</title>
<link rel="alternate" type="text/html" href="commit/0b99e0cba36854bb58c08989aceabbb105e3e29c.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0b99e0cba36854bb58c08989aceabbb105e3e29c
parent 04d7e6464d849c87405ac771f569d86f923f2159
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 18:36:18 +0900

Tweak FPS overlay to measure higher frame rates

</content>
</entry>
<entry>
<id>04d7e6464d849c87405ac771f569d86f923f2159</id>
<published>2026-03-24T08:59:00Z</published>
<updated>2026-03-24T09:26:23Z</updated>
<title type="text">Improve scrolling performance in iOS version</title>
<link rel="alternate" type="text/html" href="commit/04d7e6464d849c87405ac771f569d86f923f2159.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 04d7e6464d849c87405ac771f569d86f923f2159
parent 594a00c2a65f44275fcf4860fcb5ed21ba51400a
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 17:59:00 +0900

Improve scrolling performance in iOS version

During beta testing, the scrolling performance is not smooth enough.
This commit reworks some of the layout logic to improve performance as
well as adding an FPS overlay for use on real devices.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>594a00c2a65f44275fcf4860fcb5ed21ba51400a</id>
<published>2026-03-24T05:38:32Z</published>
<updated>2026-03-24T05:38:32Z</updated>
<title type="text">Tweak how uncomplete and selection work</title>
<link rel="alternate" type="text/html" href="commit/594a00c2a65f44275fcf4860fcb5ed21ba51400a.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 594a00c2a65f44275fcf4860fcb5ed21ba51400a
parent c990a8dc3d4cf9106d428bcc8f42b847f6bbdbc9
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 14:38:32 +0900

Tweak how uncomplete and selection work

</content>
</entry>
<entry>
<id>c990a8dc3d4cf9106d428bcc8f42b847f6bbdbc9</id>
<published>2026-03-24T05:26:07Z</published>
<updated>2026-03-24T05:26:07Z</updated>
<title type="text">Support tap to uncomplete on item bodies in iOS version</title>
<link rel="alternate" type="text/html" href="commit/c990a8dc3d4cf9106d428bcc8f42b847f6bbdbc9.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit c990a8dc3d4cf9106d428bcc8f42b847f6bbdbc9
parent 59905f028de91c4e3360a615cf448f9b8ccf217d
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 14:26:07 +0900

Support tap to uncomplete on item bodies in iOS version

</content>
</entry>
<entry>
<id>59905f028de91c4e3360a615cf448f9b8ccf217d</id>
<published>2026-03-24T05:25:38Z</published>
<updated>2026-03-24T05:25:38Z</updated>
<title type="text">Update AGENTS.md regarding default iOS version</title>
<link rel="alternate" type="text/html" href="commit/59905f028de91c4e3360a615cf448f9b8ccf217d.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 59905f028de91c4e3360a615cf448f9b8ccf217d
parent 67c86dc50aafbf568dc77bdc20b4c4b27811d63f
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 14:25:38 +0900

Update AGENTS.md regarding default iOS version

</content>
</entry>
<entry>
<id>67c86dc50aafbf568dc77bdc20b4c4b27811d63f</id>
<published>2026-03-24T05:06:47Z</published>
<updated>2026-03-24T05:06:47Z</updated>
<title type="text">Fix drag reordering issues</title>
<link rel="alternate" type="text/html" href="commit/67c86dc50aafbf568dc77bdc20b4c4b27811d63f.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 67c86dc50aafbf568dc77bdc20b4c4b27811d63f
parent 555e16a8931fdd0f1db5ff436154685c55bd176d
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 14:06:47 +0900

Fix drag reordering issues

This commit fixes the visual ordering as rows are dragged &#39;over&#39; other
rows. It also fixes a bug where the lift animation would not display.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>555e16a8931fdd0f1db5ff436154685c55bd176d</id>
<published>2026-03-24T05:06:31Z</published>
<updated>2026-03-24T05:06:31Z</updated>
<title type="text">Make iOS 26 the default OS for iOS testing</title>
<link rel="alternate" type="text/html" href="commit/555e16a8931fdd0f1db5ff436154685c55bd176d.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 555e16a8931fdd0f1db5ff436154685c55bd176d
parent 0b2b30d91c99171e2d62bdc79af3e6a136e9f955
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 14:06:31 +0900

Make iOS 26 the default OS for iOS testing

</content>
</entry>
<entry>
<id>0b2b30d91c99171e2d62bdc79af3e6a136e9f955</id>
<published>2026-03-24T04:50:04Z</published>
<updated>2026-03-24T04:50:04Z</updated>
<title type="text">Remove print debugging statements</title>
<link rel="alternate" type="text/html" href="commit/0b2b30d91c99171e2d62bdc79af3e6a136e9f955.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0b2b30d91c99171e2d62bdc79af3e6a136e9f955
parent ccf49be9fff08c5725da4f726deb5315a86c2efc
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 13:50:04 +0900

Remove print debugging statements

</content>
</entry>
<entry>
<id>ccf49be9fff08c5725da4f726deb5315a86c2efc</id>
<published>2026-03-24T02:52:23Z</published>
<updated>2026-03-24T02:52:23Z</updated>
<title type="text">Update README and AGENTS.md</title>
<link rel="alternate" type="text/html" href="commit/ccf49be9fff08c5725da4f726deb5315a86c2efc.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit ccf49be9fff08c5725da4f726deb5315a86c2efc
parent 83823ca5baa3293c7bf55ac5c6f7e3cfb26ee76f
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 11:52:23 +0900

Update README and AGENTS.md

</content>
</entry>
<entry>
<id>83823ca5baa3293c7bf55ac5c6f7e3cfb26ee76f</id>
<published>2026-03-24T02:42:10Z</published>
<updated>2026-03-24T02:42:10Z</updated>
<title type="text">Adopt (sort of) Liquid Glass in iOS version</title>
<link rel="alternate" type="text/html" href="commit/83823ca5baa3293c7bf55ac5c6f7e3cfb26ee76f.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 83823ca5baa3293c7bf55ac5c6f7e3cfb26ee76f
parent 0c68c501e535ec775053ab9f80ab3af32e52514c
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 11:42:10 +0900

Adopt (sort of) Liquid Glass in iOS version

</content>
</entry>
<entry>
<id>0c68c501e535ec775053ab9f80ab3af32e52514c</id>
<published>2026-03-23T23:25:04Z</published>
<updated>2026-03-24T01:06:53Z</updated>
<title type="text">Embrace rubber banding in iOS version</title>
<link rel="alternate" type="text/html" href="commit/0c68c501e535ec775053ab9f80ab3af32e52514c.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0c68c501e535ec775053ab9f80ab3af32e52514c
parent 50738d801bebeb6ae1d62da12489f8cb1c2ee671
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 08:25:04 +0900

Embrace rubber banding in iOS version

It&#39;s not possible with SwiftUI to adjust the rubber banding physics. The
way that Listless did it prior to this commit was invariably causing
visual hitches because adjustments were always a frame behind. This
commit stops fighting the overscroll caused by system&#39;s rubber banding.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>50738d801bebeb6ae1d62da12489f8cb1c2ee671</id>
<published>2026-03-23T19:38:49Z</published>
<updated>2026-03-23T19:38:49Z</updated>
<title type="text">Tweak haptic feedback in iOS version</title>
<link rel="alternate" type="text/html" href="commit/50738d801bebeb6ae1d62da12489f8cb1c2ee671.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 50738d801bebeb6ae1d62da12489f8cb1c2ee671
parent edfd371e7063944c5f2725428ab88bddbd6bca1f
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 04:38:49 +0900

Tweak haptic feedback in iOS version

</content>
</entry>
<entry>
<id>edfd371e7063944c5f2725428ab88bddbd6bca1f</id>
<published>2026-03-23T19:20:20Z</published>
<updated>2026-03-23T19:20:20Z</updated>
<title type="text">Make further fixes to pull-to-create animation</title>
<link rel="alternate" type="text/html" href="commit/edfd371e7063944c5f2725428ab88bddbd6bca1f.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit edfd371e7063944c5f2725428ab88bddbd6bca1f
parent 5c894793c625f5caaa608ae3db3162c9b676e953
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 04:20:20 +0900

Make further fixes to pull-to-create animation

</content>
</entry>
<entry>
<id>5c894793c625f5caaa608ae3db3162c9b676e953</id>
<published>2026-03-23T18:35:02Z</published>
<updated>2026-03-23T18:35:02Z</updated>
<title type="text">Put `.id` modifier at the end of modifiers</title>
<link rel="alternate" type="text/html" href="commit/5c894793c625f5caaa608ae3db3162c9b676e953.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 5c894793c625f5caaa608ae3db3162c9b676e953
parent 80814055da8566a51a54d632bde7253a0959ab95
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 24 Mar 2026 03:35:02 +0900

Put `.id` modifier at the end of modifiers

</content>
</entry>
<entry>
<id>80814055da8566a51a54d632bde7253a0959ab95</id>
<published>2026-03-23T12:24:38Z</published>
<updated>2026-03-23T18:25:17Z</updated>
<title type="text">Make additional fixes for pull-to-create animation</title>
<link rel="alternate" type="text/html" href="commit/80814055da8566a51a54d632bde7253a0959ab95.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 80814055da8566a51a54d632bde7253a0959ab95
parent 169d0e78f11c809764421878723a3b5380e522de
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 23 Mar 2026 21:24:38 +0900

Make additional fixes for pull-to-create animation

</content>
</entry>
<entry>
<id>169d0e78f11c809764421878723a3b5380e522de</id>
<published>2026-03-23T07:04:16Z</published>
<updated>2026-03-23T07:04:16Z</updated>
<title type="text">Fix pull-to-create animation</title>
<link rel="alternate" type="text/html" href="commit/169d0e78f11c809764421878723a3b5380e522de.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 169d0e78f11c809764421878723a3b5380e522de
parent e542c7f27df71ce7393f12739caf6f5b050a7563
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 23 Mar 2026 16:04:16 +0900

Fix pull-to-create animation

A previous commit attempted to make the pull-to-create animation
smoother by fixing the structure of the view hierarchy. After using the
app on my phone, it became evident that this new structure was broken.
When submitting a new item from a draft row located at the top of the
list, the new list would jump down. This commit restructures the view
hierarchy in a way that eliminates this bug.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>e542c7f27df71ce7393f12739caf6f5b050a7563</id>
<published>2026-03-23T05:29:22Z</published>
<updated>2026-03-23T05:29:22Z</updated>
<title type="text">Tweak stroke on selected items</title>
<link rel="alternate" type="text/html" href="commit/e542c7f27df71ce7393f12739caf6f5b050a7563.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit e542c7f27df71ce7393f12739caf6f5b050a7563
parent c0ba27a6c84495a6e940226aa7e391c0b4d1418b
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 23 Mar 2026 14:29:22 +0900

Tweak stroke on selected items

Prior to this commit, selected items got a border that used the
`.stroke` modifier. This puts the border on the &#39;outside&#39; of the row.
This in turn slightly changes the position of the row. The
`.strokeBorder` modifier instead draws an inner stroke which is what
this commit switches to instead.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>c0ba27a6c84495a6e940226aa7e391c0b4d1418b</id>
<published>2026-03-23T05:04:11Z</published>
<updated>2026-03-23T05:04:11Z</updated>
<title type="text">Tweak haptic feedback</title>
<link rel="alternate" type="text/html" href="commit/c0ba27a6c84495a6e940226aa7e391c0b4d1418b.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit c0ba27a6c84495a6e940226aa7e391c0b4d1418b
parent 5802333d96c38ea85344dc6c68d76b1824f6b8de
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 23 Mar 2026 14:04:11 +0900

Tweak haptic feedback

This commit changes the haptic feedback that is provided when a user
created a new draft. This creates haptic feedback whenever that occurs.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>5802333d96c38ea85344dc6c68d76b1824f6b8de</id>
<published>2026-03-22T23:29:36Z</published>
<updated>2026-03-23T02:17:44Z</updated>
<title type="text">Improve animation of pull-to-create insertion</title>
<link rel="alternate" type="text/html" href="commit/5802333d96c38ea85344dc6c68d76b1824f6b8de.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 5802333d96c38ea85344dc6c68d76b1824f6b8de
parent 9380c94322191d9f818c541c60c719616e9d8356
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Mon, 23 Mar 2026 08:29:36 +0900

Improve animation of pull-to-create insertion

Previous to this commit, the animation for the pull-to-create gesture
was jerky. This is an attempt to smooth that out.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>9380c94322191d9f818c541c60c719616e9d8356</id>
<published>2026-03-22T01:52:47Z</published>
<updated>2026-03-22T01:52:47Z</updated>
<title type="text">Support themes on macOS version</title>
<link rel="alternate" type="text/html" href="commit/9380c94322191d9f818c541c60c719616e9d8356.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 9380c94322191d9f818c541c60c719616e9d8356
parent b988b41f1334626252b1c366355685c6bd16c3d8
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sun, 22 Mar 2026 10:52:47 +0900

Support themes on macOS version

This commit brings themes to the macOS version. It also renames the
original theme to Pilbara.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>b988b41f1334626252b1c366355685c6bd16c3d8</id>
<published>2026-03-20T21:09:02Z</published>
<updated>2026-03-20T21:09:02Z</updated>
<title type="text">Improve gestures in iOS version</title>
<link rel="alternate" type="text/html" href="commit/b988b41f1334626252b1c366355685c6bd16c3d8.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit b988b41f1334626252b1c366355685c6bd16c3d8
parent 30f6bcb307a09d3c09303a59ac3e1720a35fa6f2
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 21 Mar 2026 06:09:02 +0900

Improve gestures in iOS version

This commit improves certain gestures in the iOS version, namely
creation gestures now cause the instructional &#39;pull to create&#39; message
to hide and a cycle that occurred during drag reordering has been
eliminated. The elimination required the use of a coordinator and is a
bit ugly.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>30f6bcb307a09d3c09303a59ac3e1720a35fa6f2</id>
<published>2026-03-20T19:24:27Z</published>
<updated>2026-03-20T19:24:27Z</updated>
<title type="text">Hide create instruction once row added</title>
<link rel="alternate" type="text/html" href="commit/30f6bcb307a09d3c09303a59ac3e1720a35fa6f2.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 30f6bcb307a09d3c09303a59ac3e1720a35fa6f2
parent 5c9073586b8f3a29a7f24975e18b8f50ad6e32a2
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 21 Mar 2026 04:24:27 +0900

Hide create instruction once row added

</content>
</entry>
<entry>
<id>5c9073586b8f3a29a7f24975e18b8f50ad6e32a2</id>
<published>2026-03-20T18:25:46Z</published>
<updated>2026-03-20T18:25:46Z</updated>
<title type="text">Update AGENTS.md to bring into sync</title>
<link rel="alternate" type="text/html" href="commit/5c9073586b8f3a29a7f24975e18b8f50ad6e32a2.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 5c9073586b8f3a29a7f24975e18b8f50ad6e32a2
parent f7d7a94f5cf39024ae4f5f77e04d5b2d8a5440f3
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 21 Mar 2026 03:25:46 +0900

Update AGENTS.md to bring into sync

</content>
</entry>
<entry>
<id>f7d7a94f5cf39024ae4f5f77e04d5b2d8a5440f3</id>
<published>2026-03-20T18:22:16Z</published>
<updated>2026-03-20T18:22:16Z</updated>
<title type="text">Align pull-to-clear and pull-to-create gestures</title>
<link rel="alternate" type="text/html" href="commit/f7d7a94f5cf39024ae4f5f77e04d5b2d8a5440f3.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit f7d7a94f5cf39024ae4f5f77e04d5b2d8a5440f3
parent c345c5b50d3817879cf0d6bd0248ad2bd3cfc607
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Sat, 21 Mar 2026 03:22:16 +0900

Align pull-to-clear and pull-to-create gestures

Prior to this commit, the pull-to-clear gesture had been implemented
differently to the visually similar pull-to-create gesture. This commit
aligns them. This has the benefit of preventing a pull-to-clear action
registering while swiping on a row.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>c345c5b50d3817879cf0d6bd0248ad2bd3cfc607</id>
<published>2026-03-20T11:31:33Z</published>
<updated>2026-03-20T11:31:33Z</updated>
<title type="text">Prevent simultaneous scrolling and swiping in iOS version</title>
<link rel="alternate" type="text/html" href="commit/c345c5b50d3817879cf0d6bd0248ad2bd3cfc607.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit c345c5b50d3817879cf0d6bd0248ad2bd3cfc607
parent 03fc0ea2ba94d05daca8b79e54100f70b8602fb1
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri, 20 Mar 2026 20:31:33 +0900

Prevent simultaneous scrolling and swiping in iOS version

Since the hacky workaround being used to support swipe gestures on rows
requires Listless to simultaneously recognise both horizontal swiping
and vertical scrolling, it was possible prior to this commit to be
swiping on a row while also creating a new row with the pull-to-create
gesture. This commit prevents that so that once scrolling begins,
swiping cannot happen and vice versa.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>03fc0ea2ba94d05daca8b79e54100f70b8602fb1</id>
<published>2026-03-20T08:48:04Z</published>
<updated>2026-03-20T08:48:04Z</updated>
<title type="text">Make scroll/swipe heuristic more robust</title>
<link rel="alternate" type="text/html" href="commit/03fc0ea2ba94d05daca8b79e54100f70b8602fb1.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 03fc0ea2ba94d05daca8b79e54100f70b8602fb1
parent 22a8bebf4768a804fd312c5459db4607435997d3
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri, 20 Mar 2026 17:48:04 +0900

Make scroll/swipe heuristic more robust

This is an attempt to make the decision about whether to recognise a
horizontal swipe gesture when a scroll gesture has begun more robust.
Previously, the heuristic merely looked at whether the scroll phase was
`.idle` or not. This checks the direction of the gesture.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>22a8bebf4768a804fd312c5459db4607435997d3</id>
<published>2026-03-20T03:56:54Z</published>
<updated>2026-03-20T03:56:54Z</updated>
<title type="text">Factor views builders and modifiers in iOS version</title>
<link rel="alternate" type="text/html" href="commit/22a8bebf4768a804fd312c5459db4607435997d3.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 22a8bebf4768a804fd312c5459db4607435997d3
parent e675e13bb78191e69153cc1c3d06112ee831f818
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri, 20 Mar 2026 12:56:54 +0900

Factor views builders and modifiers in iOS version

This commit is an attempt to factor out some of the duplicative code in
the iOS version into view builders and modifiers.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>e675e13bb78191e69153cc1c3d06112ee831f818</id>
<published>2026-03-19T22:07:32Z</published>
<updated>2026-03-19T22:07:32Z</updated>
<title type="text">Document multi-select rules</title>
<link rel="alternate" type="text/html" href="commit/e675e13bb78191e69153cc1c3d06112ee831f818.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit e675e13bb78191e69153cc1c3d06112ee831f818
parent f2e04bfab4caed167b734f75b70efad61c49d42c
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Fri, 20 Mar 2026 07:07:32 +0900

Document multi-select rules

This commit adds a document that contains some of the analysis that
Claude did as we were investigating how to support multi-select in the
macOS version. This probably won&#39;t be a necessary but just in case, this
commit adds it to the repository for future reference.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>f2e04bfab4caed167b734f75b70efad61c49d42c</id>
<published>2026-03-19T13:37:04Z</published>
<updated>2026-03-19T13:37:04Z</updated>
<title type="text">Add Collaroy colour theme</title>
<link rel="alternate" type="text/html" href="commit/f2e04bfab4caed167b734f75b70efad61c49d42c.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit f2e04bfab4caed167b734f75b70efad61c49d42c
parent 05fdfc90b8b38bc08a37461bed6244674839228e
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 19 Mar 2026 22:37:04 +0900

Add Collaroy colour theme

</content>
</entry>
<entry>
<id>05fdfc90b8b38bc08a37461bed6244674839228e</id>
<published>2026-03-19T05:27:04Z</published>
<updated>2026-03-19T05:27:04Z</updated>
<title type="text">Gate haptic feedback when draft row is already open</title>
<link rel="alternate" type="text/html" href="commit/05fdfc90b8b38bc08a37461bed6244674839228e.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 05fdfc90b8b38bc08a37461bed6244674839228e
parent 0e884f18dc9658f7a246d6e2171e22000c58f6ce
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 19 Mar 2026 14:27:04 +0900

Gate haptic feedback when draft row is already open

</content>
</entry>
<entry>
<id>0e884f18dc9658f7a246d6e2171e22000c58f6ce</id>
<published>2026-03-19T05:15:35Z</published>
<updated>2026-03-19T05:15:35Z</updated>
<title type="text">Update iOS UI test script to accept a version number</title>
<link rel="alternate" type="text/html" href="commit/0e884f18dc9658f7a246d6e2171e22000c58f6ce.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 0e884f18dc9658f7a246d6e2171e22000c58f6ce
parent f1425934d86438534c62db902d319be1f39ed1c6
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 19 Mar 2026 14:15:35 +0900

Update iOS UI test script to accept a version number

</content>
</entry>
<entry>
<id>f1425934d86438534c62db902d319be1f39ed1c6</id>
<published>2026-03-19T05:13:54Z</published>
<updated>2026-03-19T05:13:54Z</updated>
<title type="text">Update accent colour after draw row appears</title>
<link rel="alternate" type="text/html" href="commit/f1425934d86438534c62db902d319be1f39ed1c6.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit f1425934d86438534c62db902d319be1f39ed1c6
parent 1223f5a5baf3b80cf48328dd8a8b1eef30f70361
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 19 Mar 2026 14:13:54 +0900

Update accent colour after draw row appears

Since the draft row is not part of the actual collection of items in the
database, it did not cause the accent colours of the existing rows to
change when it appeared. This commit changes that.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>1223f5a5baf3b80cf48328dd8a8b1eef30f70361</id>
<published>2026-03-19T04:41:23Z</published>
<updated>2026-03-19T04:41:23Z</updated>
<title type="text">Fix further issues on iOS 26</title>
<link rel="alternate" type="text/html" href="commit/1223f5a5baf3b80cf48328dd8a8b1eef30f70361.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 1223f5a5baf3b80cf48328dd8a8b1eef30f70361
parent c21a1e4aeb11ec20f2d2316044b4cee4cbf1a2fe
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 19 Mar 2026 13:41:23 +0900

Fix further issues on iOS 26

The `.onTapGesture` used previously for the tap-to-create gesture does
not work on iOS 26. This commit uses a hacky alternative that detects
all taps on the ScrollView and then check if the tap is occurring
&#39;below&#39; the rows in the list.

Similarly, `@FetchRequest` previously triggered an update refresh when a
property (like completion) on a result was toggled. This no longer
occurs and so instead a counter is incremented to trigger the refresh.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>c21a1e4aeb11ec20f2d2316044b4cee4cbf1a2fe</id>
<published>2026-03-19T00:18:10Z</published>
<updated>2026-03-19T00:18:10Z</updated>
<title type="text">Move gesture recognisers to row-level</title>
<link rel="alternate" type="text/html" href="commit/c21a1e4aeb11ec20f2d2316044b4cee4cbf1a2fe.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit c21a1e4aeb11ec20f2d2316044b4cee4cbf1a2fe
parent fd394d0ced12629c25d27e171d40474bb02eef21
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 19 Mar 2026 09:18:10 +0900

Move gesture recognisers to row-level

The previous commit used a workaround for iOS 26 that put the horizontal
pan gestures at the list level (they had previously been at the row
level). It is possible to put them at the row level, though, and this
commit does that. It&#39;s not obvious which is the better approach.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>fd394d0ced12629c25d27e171d40474bb02eef21</id>
<published>2026-03-18T23:25:22Z</published>
<updated>2026-03-18T23:25:22Z</updated>
<title type="text">Reimplement pan gestures for iOS 26 compatibility</title>
<link rel="alternate" type="text/html" href="commit/fd394d0ced12629c25d27e171d40474bb02eef21.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit fd394d0ced12629c25d27e171d40474bb02eef21
parent 54a3d9759c703f67c1c9a33c8763ee0360dbb90d
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Thu, 19 Mar 2026 08:25:22 +0900

Reimplement pan gestures for iOS 26 compatibility

Much to my frustration, I have discovered that Apple changed the way
that gesture recognisers interact in iOS 26 in a way that is completely
incompatible with the approach I was taking in Listless. There remain
broken aspects and I&#39;m not sure the approach taken in this commmit is
correct but I want to record progress so am saving it to the repository
for now.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>54a3d9759c703f67c1c9a33c8763ee0360dbb90d</id>
<published>2026-03-18T05:06:13Z</published>
<updated>2026-03-18T05:06:13Z</updated>
<title type="text">Allow user to select Light Mode/Dark Mode in macOS version</title>
<link rel="alternate" type="text/html" href="commit/54a3d9759c703f67c1c9a33c8763ee0360dbb90d.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 54a3d9759c703f67c1c9a33c8763ee0360dbb90d
parent d99fcbc889cea72ec07adccff12a378190605f77
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Wed, 18 Mar 2026 14:06:13 +0900

Allow user to select Light Mode/Dark Mode in macOS version

This commit allows the user to manually select whether they want to run
the app in Light Mode or Dark Mode (or use the System default). In
making this change, I&#39;ve also realised that I don&#39;t like the shadows
that appear and so these are now removed.

Co-Authored-By: Claude 4.6 Opus &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>d99fcbc889cea72ec07adccff12a378190605f77</id>
<published>2026-03-16T21:00:01Z</published>
<updated>2026-03-16T21:00:01Z</updated>
<title type="text">Fix identifier used in project.yml</title>
<link rel="alternate" type="text/html" href="commit/d99fcbc889cea72ec07adccff12a378190605f77.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit d99fcbc889cea72ec07adccff12a378190605f77
parent 8a7ff5d74abd7722b20d2e5899fa63747908bad2
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 17 Mar 2026 06:00:01 +0900

Fix identifier used in project.yml

</content>
</entry>
<entry>
<id>8a7ff5d74abd7722b20d2e5899fa63747908bad2</id>
<published>2026-03-16T20:10:05Z</published>
<updated>2026-03-16T20:11:57Z</updated>
<title type="text">Update publishing script to check watchOS entitlements</title>
<link rel="alternate" type="text/html" href="commit/8a7ff5d74abd7722b20d2e5899fa63747908bad2.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 8a7ff5d74abd7722b20d2e5899fa63747908bad2
parent f628a9476988a746978f2844d817a501721db978
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 17 Mar 2026 05:10:05 +0900

Update publishing script to check watchOS entitlements

</content>
</entry>
<entry>
<id>f628a9476988a746978f2844d817a501721db978</id>
<published>2026-03-16T20:07:02Z</published>
<updated>2026-03-16T20:07:02Z</updated>
<title type="text">Add KV store entitlement for watchOS version</title>
<link rel="alternate" type="text/html" href="commit/f628a9476988a746978f2844d817a501721db978.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit f628a9476988a746978f2844d817a501721db978
parent 5e2dc7d49278cf3866b8b932d944ede2c62aecc8
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 17 Mar 2026 05:07:02 +0900

Add KV store entitlement for watchOS version

</content>
</entry>
<entry>
<id>5e2dc7d49278cf3866b8b932d944ede2c62aecc8</id>
<published>2026-03-16T19:49:26Z</published>
<updated>2026-03-16T19:49:26Z</updated>
<title type="text">Change the flick sensitivity in iOS version</title>
<link rel="alternate" type="text/html" href="commit/5e2dc7d49278cf3866b8b932d944ede2c62aecc8.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 5e2dc7d49278cf3866b8b932d944ede2c62aecc8
parent 9aa857ae34cadf44b9876c55aacfd748942d5727
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 17 Mar 2026 04:49:26 +0900

Change the flick sensitivity in iOS version

</content>
</entry>
<entry>
<id>9aa857ae34cadf44b9876c55aacfd748942d5727</id>
<published>2026-03-16T19:16:47Z</published>
<updated>2026-03-16T19:16:47Z</updated>
<title type="text">Update AGENTS.md regarding improved selection behaviour</title>
<link rel="alternate" type="text/html" href="commit/9aa857ae34cadf44b9876c55aacfd748942d5727.html" />
<author>
<name>Michael Camilleri</name>
<email>mike@inqk.net</email>
</author>
<content type="text">commit 9aa857ae34cadf44b9876c55aacfd748942d5727
parent ee9fb447330412e610862818a1b04c7821e0557d
Author: Michael Camilleri &lt;mike@inqk.net&gt;
Date:   Tue, 17 Mar 2026 04:16:47 +0900

Update AGENTS.md regarding improved selection behaviour

</content>
</entry>
</feed>
