Updates
Platform Updates
Public-facing release notes for meaningful changes across Furries PH operational systems.
First created Last updated
Social Moderation Can Send Private Outcome Notices
Repositories: moderation.furries.ph, social.furries.ph, partners-api, partners.furries.ph
Status: Local implementation only; the additive migration, authenticated role checks, and Git-connected Cloudflare Pages release remain required
What’s Changed
- An authorized moderator can send a reviewed, private outcome notice from a Social case. The notice reaches only the affected post author or profile subject; for a Page, it reaches its active staff.
- Notices appear in the existing Social inbox as a Furries PH moderation update. They never reveal a report author, internal staff note, case identifier, or moderator identity.
- Sending is retry-safe and logged as an audit receipt with a recipient count. Opening or reading the inbox uses bounded on-demand requests and adds no live subscription or background polling.
Validation
- The API type check and 27-assertion moderation contract, Social’s 37 unit tests/type check/production build, and moderation dashboard tests/type check/production build pass locally. No migration, direct upload, or deployment occurred.
Social Adds Optional Fursona and Pronoun Details
Repositories: social.furries.ph, partners-api, partners.furries.ph
Status: Local implementation only; the additive migration, authenticated authorization checks, and Git-connected Cloudflare Pages release remain required
What’s Changed
- A Social member may now add, change, or clear an optional fursona name and pronouns on their public Social profile. These details are not required for sign-up, Rego registration, or any event workflow.
- The values live beside the member’s existing canonical account rather than in a separate Social profile, preventing duplicate identity records. Social reads and writes still go only through the existing API Worker.
Validation
- The 12-assertion API source contract, Worker type check, 37 Social unit tests, and production build pass. A local browser capture confirms the public display; no database publication, direct upload, or deployment occurred.
Social Adds Local Post Link Sharing
Repositories: social.furries.ph
Status: Local implementation only; Git-connected Cloudflare Pages release remains required
What’s Changed
- A post card can open the device share sheet or copy its canonical Furries PH Social URL. It does not deliver content to other services, change a post’s audience, or collect share analytics.
Validation
- Social tests, type checking, production build, and a local browser render pass. No deployment occurred.
Social Adds Author-Owned Post Editing and History
Repositories: social.furries.ph, partners-api, partners.furries.ph
Status: Local implementation only; the additive migration, authenticated ownership checks, and Git-connected Cloudflare Pages release remain required
What’s Changed
- Post authors and authorized Page publishers can correct a post’s text or content warning. Existing media, audience, topic labels, poll, reply/quote target, and author cannot be changed by an edit.
- Every edit stores the previous source as an immutable revision. People who can already view the current post can open the bounded edit history, while editor identities remain private.
- All operations use the existing API Worker; there is no direct database access, extra Worker, Pages Function, or realtime service.
Validation
- The 11-assertion API revision contract, Worker type check, 36 Social unit tests, and production build pass. Local browser captures verify the edit and revision-history dialogs with no runtime errors.
- The migration is staged locally only. No database publication, deployment, or direct upload occurred.
Social Adds Private Post Bookmarks
Repositories: social.furries.ph, partners-api, partners.furries.ph
Status: Local implementation only; the additive migration, authenticated authorization checks, and Git-connected Cloudflare Pages release remain required
What’s Changed
- Members can save or remove a private bookmark for a post they are allowed to view. It is a personal reading-list action, not a public engagement signal: authors receive no notice and no counter, ranking, or visibility changes.
- Bookmark state returns with the existing per-batch post-card aggregate, so no extra timeline read, Worker, Pages Function, browser database access, or realtime service is introduced.
Validation
- The 11-assertion API source contract, API type check, 35 Social unit tests, production build, and a local browser Save-to-Saved capture pass. The migration remains staged locally only; no database publication or deployment occurred.
Social Adds Curated Local Topic Spaces
Repositories: social.furries.ph, partners-api, partners.furries.ph
Status: Local implementation only; the additive migration, authenticated authorization checks, and Git-connected Cloudflare Pages release remain required
What’s Changed
- Social now has a small set of community-curated local topics: art and craft, fursuiting, local events, commissions, gaming, music and performance, makers, and community help. They are clearly presented as local spaces—not global hashtags, trends, or an opaque ranking system.
- A public root post can select up to three topics. Friends-only posts, replies, and quotes cannot use them, so private conversations and thread context do not leak into topic browsing.
- Topic labels are carried with the existing reaction/repost card aggregate and topic feeds use the existing API Worker. The static Pages app still has no Pages Function, additional Worker, direct Supabase access, or realtime service.
Validation
- API type checking and a 16-assertion topic contract pass. Social type checking, 34 unit tests, and the static production build pass. Local browser renders verified the topic directory, Art & Craft feed, and composer selection with no runtime errors.
- The migration is staged locally only. No migration publication, direct upload, or deployment occurred; reviewed Git commits remain the release path for the connected Cloudflare Pages project.
Social Adds Private Keyword Comfort Filters and Local Reposts
Repositories: social.furries.ph, partners-api, partners.furries.ph
Status: Local implementation only; additive database migrations, authenticated cross-member verification, and Git-connected Pages release remain required
What’s Changed
- Members can keep private keyword filters that either hide an already-loaded local card or put it behind an explicit reveal gate. These filters are never a report, author label, moderation action, ranking signal, or AI decision, and may be removed later.
- Members can now make a reversible local repost of a post they are allowed to view. A repost remains a relation to the original post rather than a copied message, so content warnings, audience, reporting, and moderation continue to refer to the same original record.
- Repost and reaction totals are collected together in one API-only bounded aggregate for each returned post batch. The static Pages app still has no Pages Function, second Worker, direct Supabase access, or real-time channel.
Validation
- The API type check and a 12-assertion repost contract pass. Social type checking, 32 unit tests, and the static production build pass. Fixture-backed browser evidence verifies the repost’s count and pressed state.
- The two migrations are staged locally only. No database migration, direct upload, or deployment occurred; releases continue through the reviewed Git-connected Cloudflare Pages integration.
Social Timeline Supports the Full Local Reaction Set
Repositories: social.furries.ph, partners-api
Status: Local implementation only; authenticated action verification and Git-connected release remain required
What’s Changed
- The Social timeline now shows Heart, Celebrate, Laugh, and Wow rather than a Heart-only reaction action.
- Counts are displayed together in a keyboard-accessible picker. Each selection uses the existing direct API Worker action and updates only the current browser state; no new realtime channel, Worker, Pages Function, or browser database access was added.
Validation
- Social type checking and 27 unit tests pass, and fixture-backed browser evidence verifies all four controls are present.
Social Quote Posts Now Keep Their Context Safely
Repositories: social.furries.ph, partners-api
Status: Local implementation only; authenticated cross-member verification and Git-connected release remain required
What’s Changed
- Quote posts now show a compact card for the quoted local post in feeds, profiles, Pages, and conversation views.
- The API retrieves all referenced quote targets in one bounded batch and retains their audience boundary. Hidden, deleted, and unavailable targets show no old author or message content.
- Friends-only quote cards fail closed unless the current member’s canonical friendship relationship also permits the original post. No browser database request, new Worker, Pages Function, or separate quote service was added.
Validation
- API type checking and a six-assertion quote-preview contract pass. Social type checking, 27 unit tests, production build, and fixture-backed browser rendering pass locally.
Local Social Polls Are Ready for Local Validation
Repositories: social.furries.ph, partners-api, partners.furries.ph
Status: Local implementation only; the additive database migration and authenticated hosted verification remain required
What’s Changed
- Members can add a poll to a new root post with two to four distinct choices and a close time from one hour to seven days.
- Poll cards display aggregate results and the member’s own selected choice without revealing voter identities. A member can change their current choice while the poll is open.
- Timeline, profile, Page, and conversation views load a batch of poll summaries in one bounded API/database operation; the static Social app does not query Supabase directly and no additional Worker, Pages Function, queue, or realtime service was added.
- Polls are deliberately unavailable for replies and quotes. Reports and moderation continue to use the parent post identity instead of creating a second public content record.
Validation
- Social type checks, 27 unit tests, and the static production build pass. The API poll contract certificate passes 10 assertions. Fixture-backed browser evidence verifies the composer controls.
- The migration is staged only. No database migration, deployment, or direct upload occurred; eventual release remains through the existing Git-connected Cloudflare Pages integration.