Commit graph

19 commits

Author SHA1 Message Date
Sirwan Afifi
bf23ed7bd0 release: 0.2.9 with attestation propagation gate
Prior releases published ~3s after attesting, so Obsidian's dashboard could
scan the release before the attestation propagated to GitHub's public API and
cache a failed verdict — matching a same-day report from another plugin author
where every post-hoc check (gh attestation verify, one attestation per digest,
matching repo/commit) passed yet the dashboard still failed.

- Gate release creation on gh attestation verify succeeding against the public
  API (retry loop), so we never publish before the attestation is queryable.
- Upgrade to actions/attest-build-provenance@v4.
- Fresh 0.2.9 asset digests (styles.css comment + main.js version banner) so
  the new scan runs against digests with a single clean attestation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 16:17:36 +01:00
Sirwan Afifi
15765db2de release: 0.2.8 with fresh asset digests for clean attestation
styles.css was byte-identical since 0.2.4, so its digest accumulated
attestations from every release — including tag-signed ones from 0.2.4-0.2.6
that Obsidian's verifier rejects. gh attestation verify passed (any valid
attestation suffices) but Obsidian fails on the non-branch-signed siblings.

Bump the styles.css version comment and rely on the esbuild version banner so
both styles.css and main.js get brand-new digests, which will carry only the
0.2.8 branch-signed (refs/heads/main) attestation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 16:07:11 +01:00
Sirwan Afifi
5fa220eed3 fix(release): attest from branch context so Obsidian verification passes
Tag-triggered runs sign attestations with a refs/tags/<version> identity,
which Obsidian's community-plugin verifier rejects. Trigger the release from
push-to-main (refs/heads/main) and create the tag from within the run, and
attest manifest.json alongside main.js and styles.css.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 15:47:37 +01:00
Sirwan Afifi
2f70b670f8 fix(release): use attest-build-provenance for Obsidian verification
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 15:29:18 +01:00
Sirwan Afifi
5e2f0903b6 release: 0.2.5 2026-07-17 15:24:00 +01:00
Sirwan Afifi
423aeed688 fix(release): match Obsidian attestation format 2026-07-17 15:06:01 +01:00
Sirwan Afifi
80dab37d47 fix(release): pin Obsidian-compatible attestations 2026-07-17 14:48:47 +01:00
Sirwan Afifi
011c495698 fix: satisfy Obsidian release verification 2026-07-17 14:19:25 +01:00
Sirwan Afifi
6adc362d6a release: 0.2.1 2026-07-17 14:04:07 +01:00
Sirwan Afifi
e769ebc8bd fix: address Obsidian plugin review recommendations 2026-07-17 14:01:41 +01:00
Sirwan Afifi
9bcfe75160 apply some obsidian suggestions 2026-07-17 13:48:04 +01:00
Sirwan Afifi
614b6755f1 update the old image 2026-07-17 13:39:02 +01:00
Sirwan Afifi
cdca6de723 update readme 2026-07-17 13:37:47 +01:00
Sirwan Afifi
7a5d8c61b8 Update README overview image 2026-07-17 13:27:59 +01:00
Sirwan Afifi
7dadd379c7 Add area erasing and refresh toolbar UI
Erasing now removes only the portion of a stroke under the eraser instead
of deleting whole strokes. model.ts gains eraseStrokeAt(), which splits a
stroke into fragments at the eraser-circle intersections (with segment/
circle breakpoint math and point interpolation helpers); drawing-surface
wires it into the erase gesture.

Also refreshes the tool UI: quick-color buttons and tooltips in the
toolbar, an expanded color/size tool inspector, a pill-shaped toolbar
style, and a default toolbar position of bottom. Eraser setting copy now
describes the area-erase behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 13:06:36 +01:00
Sirwan Afifi
94b023d3d0
Merge pull request #2 from SirwanAfifi/codex/apple-pencil-rendering-readme
Improve Apple Pencil rendering and documentation
2026-07-16 23:02:48 +01:00
Sirwan Afifi
1e8e003d67 Improve Apple Pencil rendering and documentation 2026-07-16 23:01:47 +01:00
Sirwan Afifi
27141f27b1
Launch Inkplane infinite canvas (#1)
Rebrand Ink Layer as Inkplane and introduce standalone infinite-canvas drawing files with pen-first tools, stroke-framed embeds, and refreshed release metadata.
2026-07-16 13:58:35 +01:00
Sirwan Afifi
564f2b4af1 Initial Ink Layer release 2026-07-16 12:33:33 +01:00