itsgoin/crates/core/src
Scott Reimers fdbf97f2d7 feat(fof-layer4): supersedes_post_id field on Post
Adds an optional supersedes_post_id pointer to Post for the
"re-issue with narrower access" path. Author publishes a new post
that references an earlier one; receivers can render "this is a
re-issued version of an earlier post" + offer to view the original.

Covered by PostId = BLAKE3(Post) — receivers can verify it wasn't
forged by anyone but the author.

#[serde(default)] for back-compat; existing posts deserialize with
None. All existing Post construction sites bulk-updated to set the
field to None.

Storage::get_post returns None for the field today; a follow-up can
add a dedicated column if/when receivers need to render the
pointer. The author-side re-issue helper that creates posts with
this field set comes in the Tauri/UI slice — the wire shape is in
place now.

148 tests pass (no regressions).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 16:29:55 -06:00
..
activity.rs ItsGoin v0.3.2 — Decentralized social media network 2026-03-15 20:23:09 -04:00
announcement.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
blob.rs v0.3.6: Active CDN replication, device roles, budgets, tombstones, engagement fix, DOS hardening 2026-03-20 21:00:28 -04:00
connection.rs feat(fof-layer4): FoFKeyBurn primitive — in-place wrap_slot replacement 2026-05-14 16:20:26 -06:00
content.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
control.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
crypto.rs feat(fof-layer2): wrap-slot dual-derivation seal/open primitives 2026-05-13 07:16:42 -04:00
export.rs Phase 4 (0.6.3-beta): posting-key / network-key split (plumbing) 2026-04-21 22:38:12 -04:00
fof.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
group_key_distribution.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
http.rs Phase 2d (0.6.1-beta): route manifest + blob ops through file_holders 2026-04-21 21:09:45 -04:00
identity.rs First-run chooser, node shutdown on switch, file picker, export path fix 2026-04-06 01:58:02 -04:00
import.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
lib.rs feat(fof-layer2): author publish-side build_fof_comment_gating 2026-05-14 13:50:56 -04:00
network.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
node.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
profile.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
protocol.rs Phase 2g: GroupKeyDistribute \u2192 encrypted post 2026-04-22 23:09:19 -04:00
storage.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
stun.rs Our Info panel, hole punch race fix, NAT profiles in relay introduction 2026-04-05 17:57:41 -04:00
types.rs feat(fof-layer4): supersedes_post_id field on Post 2026-05-14 16:29:55 -06:00
upnp.rs ItsGoin v0.3.2 — Decentralized social media network 2026-03-15 20:23:09 -04:00
web.rs Phase 2d (0.6.1-beta): route manifest + blob ops through file_holders 2026-04-21 21:09:45 -04:00