Skip to content

feat(stream): per-app activity verbs (Streamed / Reviewed / Wrote / Was at / Met with) - #639

Merged
gxjansen merged 1 commit into
mainfrom
feat/feed-app-verbs
Sep 19, 2026
Merged

gxjansen merged 1 commit into
mainfrom
feat/feed-app-verbs

Conversation

@gxjansen

Copy link
Copy Markdown
Contributor

What

Several apps read the generic "Shared" on the activity feed because they had no verb mapping and fell to the created default. This gives each its own verb.

Change (verbs.json 1.5.0)

Collection Was Now
place.stream.livestream (Streamplace) Shared Streamed
fyi.atstore.listing.review (atstore) Shared Reviewed
blog.pckt.mini.post (Pckt) Shared Wrote
social.grain.gallery (Grain) Shared Posted
app.beaconbits.beacon (Beacon) Shared Was at
at.youandme.connection (You&Me) Followed Met with

site.standard.document, WhiteWind, Aetheros, and PasteSphere already map to "Published", so writing apps read "Wrote"/"Published" rather than "Shared".

You&Me: the person subject (a bare DID) now folds the api-resolved handle/display name via withResolvedSubjectMeta, so "Met with {name}" names and links the other person.

Still to come (not in this PR)

  • Beacon "Was at" needs the venue name rendered on the line (the SDK already captures it on the location body as venueName; the web line's bodyContent must read it). Follow-up in sifa-web.
  • Grain "Posted" should show the actual photo (needs feed-side gallery-image hydration + a media card). Follow-up in sifa-api + sifa-web.
  • You&Me: hide the item entirely when the other person cannot be resolved. Follow-up.

New verbs: streamed, wrote, wasAt, metWith.

…Met with)

Map several apps off the generic 'created'/'Shared' default to a verb
that fits: place.stream.livestream=Streamed, fyi.atstore.listing.review=
Reviewed, blog.pckt.mini.post=Wrote, social.grain.gallery=Posted,
app.beaconbits.beacon=Was at, at.youandme.connection=Met with (was
Followed). You&Me now folds the resolved person onto its subject so 'Met
with {name}' links to the profile. verbs.json 1.5.0.
@gxjansen
gxjansen enabled auto-merge (squash) September 19, 2026 22:09
@github-actions

Copy link
Copy Markdown
Contributor

🤖 AI code review

Verdict: 💬 Comments · Findings: 1 (🔴 0 · 🟠 0 · 🟡 1 · ⚪ 0)

General reviewer · moonshotai/kimi-k2.7-code

Clean, well-tested feature addition. The verb mappings, type expansion, and You&Me subject meta-folding are all correct and covered. One minor maintainability nit in the new title functions.

  • 🟡 Redundant ternary in new verb title functions src/stream/to-stream-card-vm.ts:224 (style)
    • The wasAt and metWith title functions both return the same string regardless of hasSubject, so the ternary is dead complexity and inconsistent with simpler verbs like followed.
    • Fix: Replace with wasAt: () => 'Was at' and metWith: () => 'Met with' to match the existing trivial-verb pattern.

Blocking when changes are requested. Token-based via OpenRouter. Re-runs on each push — add the re-review label to force a re-run, or deep-review for a dual general+adversarial pass.

@gxjansen
gxjansen merged commit 9ebd1e0 into main Sep 19, 2026
9 checks passed
@gxjansen
gxjansen deleted the feat/feed-app-verbs branch September 19, 2026 22:11
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant