Skip to content

Releases: singi-labs/sifa-sdk

v0.12.54

Choose a tag to compare

@gxjansen gxjansen released this 02 Aug 19:41
14d5b5f

Patch Changes

  • 59ac102: Drop the id.sifa.auth* permission sets from SIFA_REPO_GROUPS and flag fallback labels. The auth lexicons are permission-set definitions, never written as records, so the group holding them promised a consent-management surface that could only ever come back empty; consents-access becomes meetings and connections becomes people. RepoRecordLabel.isFallback marks a label that is the collection leaf rather than the user's own data, so a surface can substitute its own wording instead of rendering a row that reads "follow".

v0.12.53

Choose a tag to compare

@gxjansen gxjansen released this 02 Aug 18:51
9ce4edd

Patch Changes

  • 523ca81: Label rules can read nested fields via dotted paths, and id.sifa.profile.location now uses them. The city lives under address, so the previous top-level-only lookup fell through to the collection leaf: the one item on a data-management page about where someone physically is showed them the bare word "location" and nothing else.

v0.12.52

Choose a tag to compare

@gxjansen gxjansen released this 02 Aug 11:55
0da0014

Patch Changes

  • d7176e8: Add the repo inventory layer: SIFA_REPO_GROUPS and repoGroupForCollection group id.sifa.* collections into user-facing buckets, describeSifaRecord turns a raw record into a one-line label without contributing any English of its own, and fetchRepoInventory / deleteRepoRecords / repoExportUrl plus the matching hooks back a repo data-management surface.

v0.12.51

Choose a tag to compare

@gxjansen gxjansen released this 01 Aug 21:41
2e8f33e

Patch Changes

  • 5ea3920: Add involvement collaborators and sameAs.

    Involvement is the fourth record type that can name another person, and it reuses projectMemberRef rather than a parallel def differing only in name: it is the same relation, people you did this with.

    sameAs lands on involvement and publication too, so a confirmed collaborator or author can keep their own entry for the same work without it being a second, unrelated one. Project and presentationDelivery already had it.

v0.12.50

Choose a tag to compare

@gxjansen gxjansen released this 01 Aug 17:08
8706e60

Patch Changes

  • 0ee41d5: Add fetchGivenConfirmations and useGivenConfirmations.

    The confirmation inbox lists only claims you have not answered, so once answered there was nowhere to see a confirmation, let alone withdraw it. revokeConfirmation shipped in 0.12.46 with no way to reach it.

    Each entry carries the name as it stood when confirmed alongside the name the record has now, so a rename shows as a difference rather than being silently overwritten, plus confirmedStale and claimWithdrawn for the two ways a confirmation stops matching reality.

    Revoking now invalidates this list as well as the pending one.

v0.12.49

Choose a tag to compare

@gxjansen gxjansen released this 01 Aug 16:53
2f537a8

Patch Changes

  • 74052cc: Add getAdminReviewQueues fetcher and useAdminReviewQueues hook for the open counts of the three admin review queues (ideas, name corrections, pending companies) plus their total. Backed by GET /api/admin/stats/review-queues; shared query key means the admin nav pill and the review-queues page render from one request.

v0.12.48

Choose a tag to compare

@gxjansen gxjansen released this 01 Aug 11:49
028dca3

Patch Changes

  • 857c341: Add endorsedAs to ProfileSkill: names a skill was endorsed under where they
    differ from its current name. A rename keeps the same record, so endorsements
    follow it and stay counted; surfacing the original name is what stops a rename
    quietly laundering an endorsement.

v0.12.47

Choose a tag to compare

@gxjansen gxjansen released this 01 Aug 10:41
d5b99d0

Patch Changes

  • 13c2e0f: Add sameAs, the link to the same thing recorded on someone else's profile.

    projectRef was documented as the link to a canonical id.sifa.project.self and then widened in 0.12.45 to also mean "another person's entry for the same work". Those are different relations, and the same trick could not be repeated on presentationDelivery, where presentationRef already means "an instance of that talk".

    So one generic sameAs on both, for the same reason id.sifa.confirmation is one record type rather than four. projectRef goes back to the composition link it was documented as.

    externalRecordRef rather than strongRef: the CID must be optional and advisory, because the other person keeps editing their record and that must not invalidate a link asserting the two describe one thing.

    ProfileProject.projectRef and ProjectView.projectRef become sameAs in the view types. Those only ever carried the peer link, which the AppView added in 0.12.45 and has not shipped to production, so nothing is reading them yet.

v0.12.46

Choose a tag to compare

@gxjansen gxjansen released this 31 Jul 23:25
d0d58a7

Patch Changes

  • b2b0f1c: Export the people-link types from the root barrel.

    ActorCard, ProjectMemberCard, ProjectMemberView, ProjectRole, and PROJECT_ROLES shipped in 0.12.45 defined but not re-exported. They appear in the signatures of exported interfaces -- ProfileProject.members is ProjectMemberCard[], ProjectView.members is ProjectMemberView[] -- so a consumer could hold the values but never name the types.

    Nothing caught it because the barrel tests only covered fetchers and hooks. src/index.test.ts now asserts each of these is nameable.

v0.12.45

Choose a tag to compare

@gxjansen gxjansen released this 31 Jul 21:55
e3fa55d

Patch Changes

  • 4ae537b: Add id.sifa.confirmation support and project members.

    Naming another person on your own record is a claim, not a fact. ConfirmationRecordSchema and the /api/confirmation fetchers and hooks cover the other half of it: the named person affirms the claim from their own repo, and only then does the AppView attach their display name, avatar, and profile link.

    • ConfirmationRecordSchema + CONFIRMATION_RELATIONS. The subject strongRef carries no collection constraint, so one record type serves co-speaker credits, project membership, and later relations. subjectName snapshots what was confirmed, so a rename after the fact is detectable.
    • fetchPendingConfirmations, createConfirmation, dismissConfirmation, revokeConfirmation, and the matching usePendingConfirmations / useCreateConfirmation / useDismissConfirmation / useRevokeConfirmation hooks.
    • ProfileProjectRecordSchema and ProjectWriteSchema gain members (max 50) and projectRef.
    • ActorCard replaces the co-speaker card shape and carries confirmed / confirmedStale; CoSpeaker stays as a deprecated alias so existing call sites keep compiling.
    • ProjectMemberCard, PROJECT_ROLES, ProjectRole, ProjectMemberView, and members / projectRef on ProfileProject and ProjectView.

    Fixes two drifts against the lexicon: name on a project record was capped at 100 graphemes where the lexicon allows 256, so the SDK rejected records a conforming PDS had accepted; and projectRef was missing from the record schema entirely.