Changeset 7922694 in Klonkt for src/config


Ignore:
Timestamp:
07/20/2026 11:03:52 PM (7 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
5143ccf
Parents:
155c24e
git-author:
Robin <roboburr@…> (07/20/2026 11:03:51 PM)
git-committer:
Robin <roboburr@…> (07/20/2026 11:03:52 PM)
Message:

Feature: owner followers/following carry name + avatar (shaer-aa3)

The C2S owner view of followers and following returned bare actor
URIs, so a client could only show ids. Each entry is now an AS2 actor
reference { id, type: Person, name, preferredUsername, icon } built
from the best cached display Klonkt already holds: the follower's own
row (now cached at Follow time), then ap_following, interactions,
timeline, mentions, falling back to a handle derived from the URI.
Priority is the set display name, then the chosen username, then the
id. ap_followers gains name/handle/icon, populated when an inbound
Follow is accepted (fetchActor already runs there).

Changed files:
src/config/database.js

  • additive columns ap_followers.name/handle/icon

src/services/ActivityPubService.js

  • cache follower display on inbound Follow
  • actorDisplay(slug, uri): best cached display across the caches
  • buildActorRef(slug, uri): AS2 actor reference with display

src/routes/activitypub.js

  • owner followers/following map URIs through buildActorRef

New file:
test/c2s-contacts.test.js

  • name/username/id priority + interaction-cache fallback

-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/config/database.js

    r155c24e r7922694  
    444444  ensureColumn('ap_outbox', 'to_actors', 'TEXT');   // JSON array of recipient actor URIs for direct notes
    445445  ensureColumn('ap_outbox', 'help_request', 'INTEGER'); // FEP-633c shaer:helpRequest (ward's call for help)
     446  ensureColumn('ap_followers', 'name', 'TEXT');    // cached display name (shaer-aa3)
     447  ensureColumn('ap_followers', 'handle', 'TEXT');  // @user@host
     448  ensureColumn('ap_followers', 'icon', 'TEXT');    // avatar URL
    446449}
    447450
Note: See TracChangeset for help on using the changeset viewer.