Skip to content

fix(shared-core): restore the KikCode figure API to the SPM sources - #1401

Merged
bmc08gt merged 1 commit into
code/cashfrom
fix/shared-core-kikcode-figure
Sep 3, 2026
Merged

fix(shared-core): restore the KikCode figure API to the SPM sources#1401
bmc08gt merged 1 commit into
code/cashfrom
fix/shared-core-kikcode-figure

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

The CGPath figure wrappers — KikCode.figure, the badge, and the SVG path parser they read
artwork through — only ever existed on feat/shared-badge-cgpath, which 0.3.1 was published
from. That branch never merged. 0.4.0 was published from code/cash, and the publish workflow
stages the Swift package by

rm -rf spm-repo/Sources spm-repo/Tests
cp -R kmp/shared-core/spm/{Package.swift,Sources,Tests} spm-repo/

so cutting 0.4.0 deleted all three files from the published package. iOS has not built since:
type 'KikCode' has no member 'figure'.

Pinning back to 0.3.1 is not an option — FlipcashCore now uses SharedCoreKit.Base58,
SharedEd25519 and the Hashes wrappers, none of which exist in 0.3.1.

This cherry-picks 22bcafb unchanged. Kotlin needs no change: the 0.4.0 framework header
still exports KikCodeGeometry, KikCodeBadge, KikCodeSpec and the mark types the wrappers
read, so only the Swift side was ever lost.

KikCodeFigureTests comes back with the sources, which is also why the loss went unnoticed —
shared-core-tests.yml runs the package's own suite, and the suite was deleted along with the
code it covers.

0.4.1 goes out from code/cash once this merges, and iOS bumps to it. Publishing from a branch
is what produced this in the first place, so it waits for the merge.

The CGPath figure wrappers — `KikCode.figure`, the badge, and the SVG path
parser they read artwork through — only ever existed on `feat/shared-badge-cgpath`,
which 0.3.1 was published from. 0.4.0 was published from `code/cash`, and the
publish workflow stages the package by `rm -rf spm-repo/Sources spm-repo/Tests`
and re-copying from the checkout, so cutting it deleted all three files. iOS has
not built since: `type 'KikCode' has no member 'figure'`.

Cherry-picked from 22bcafb unchanged. Kotlin needs nothing — the 0.4.0
framework header still exports `KikCodeGeometry`, `KikCodeBadge`, `KikCodeSpec`
and the mark types the wrappers read, so only the Swift side was lost.

`KikCodeFigureTests` comes back with them, which is also why the loss went
unnoticed: `shared-core-tests.yml` runs the package's own suite, and the suite
was deleted along with the sources it covers.
@bmc08gt bmc08gt self-assigned this Sep 3, 2026
@github-actions github-actions Bot added the type: fix Bug fix label Sep 3, 2026
@bmc08gt
bmc08gt merged commit 6f8cf98 into code/cash Sep 3, 2026
4 checks passed
bmc08gt added a commit that referenced this pull request Sep 3, 2026
Picks up #1397 (UserFlags), #1401 (restores KikCode+Badge/KikCode+Figure/
SVGPath/KikCodeFigureTests), and #1400 (FocusPin/MessageRow/
MessageReadReporter/ReceiptRules) via the true fork point as the merge
base, correcting an earlier rewrite that had reparented this branch onto
code/cash's graph without actually merging its content.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant