<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otpGarmin/docs/SETTINGS_SPIKE.md, branch v1.0.0</title>
<subtitle>OTP Wallet for Garmin Connect IQ: offline one-time passwords and barcodes.</subtitle>
<id>https://git.cirakg.xyz/otpGarmin/atom?h=v1.0.0</id>
<link rel='self' href='https://git.cirakg.xyz/otpGarmin/atom?h=v1.0.0'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/'/>
<updated>2026-10-27T23:03:01+00:00</updated>
<entry>
<title>docs(spike): test C split, only the backslash is refused</title>
<updated>2026-10-27T23:03:01+00:00</updated>
<author>
<name>cirakg</name>
<email>cirakg@cirakg.xyz</email>
</author>
<published>2026-10-26T14:01:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/commit/?id=e5172350151043050098d37b728054eb2e2be9f8'/>
<id>urn:sha1:e5172350151043050098d37b728054eb2e2be9f8</id>
<content type='text'>
Settings spike test C, split (round 2, 2026-10-27, Android): Garmin
Connect refuses to save only C3, the backslash. Every other character
group and an Aegis export without backslashes save, and a real Aegis
export imported on the Forerunner 70, so the import design stays.
Android Aegis writes / as \/ (icons, names with a slash): the user guide
explains replacing \/ with / or removing icons. C3 is a known limitation.

The spike manifest gets a new application id: the old one could not be
uploaded to the Garmin developer page.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: record the settings spike and the Forerunner 70 benchmark</title>
<updated>2026-10-25T11:46:42+00:00</updated>
<author>
<name>cirakg</name>
<email>cirakg@cirakg.xyz</email>
</author>
<published>2026-10-25T11:46:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/commit/?id=e0384274bbeab999279bdc35bdddbd8a3a451aeb'/>
<id>urn:sha1:e0384274bbeab999279bdc35bdddbd8a3a451aeb</id>
<content type='text'>
Spike (2026-10-21, Android): 8000 characters per field and 64,000 in
total arrive; URIs with &amp; save; the mixed special-character string is
refused, so the test strings now split it into one group each plus a
fake Aegis export. Benchmark: SHA-1 TOTP 18 ms, SHA-512 732 ms, PBKDF2
2,000 iterations per second.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(spike): add the M1 settings spike app and make targets</title>
<updated>2026-10-18T21:44:18+00:00</updated>
<author>
<name>cirakg</name>
<email>cirakg@cirakg.xyz</email>
</author>
<published>2026-10-18T21:44:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/commit/?id=ac60fb060414261935ac5e158b26b34e211e1e06'/>
<id>urn:sha1:ac60fb060414261935ac5e158b26b34e211e1e06</id>
<content type='text'>
A separate throwaway app (own app ID, no permissions) that shows what the
Garmin Connect app delivers per settings field and writes values back, to
measure the undocumented settings limits on the real phone and watch.
Includes length-marked test strings, `make spike` / `make spike-sim`,
`make vectors`, and step-by-step instructions in docs/SETTINGS_SPIKE.md.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
