Updates
Platform Updates
Public-facing release notes for meaningful changes across Furries PH operational systems.
First created Last updated
Campaign Attribution Survives Registration Navigation
Repositories: rego.furries.ph, partners.furries.ph, partners-api
Status: Live attendee-site, event-dashboard, and pricing API update; re-copy campaign links before distributing or retrying them
What’s Changed
- Rego now retains recognised affiliate and UTM fields during SPA navigation, scoped to the event that received the link. Generated campaign and affiliate links also include first-party attribution mirrors, so privacy browsers that remove generic UTM fields cannot remove the registration discount.
- Standard registration, gifting, Dealers Den registration, and Event Shop read that shared attribution. Campaign discounts no longer depend on enabling an affiliate code for the attendee.
- When a held registration slot expires, Rego now explains the outcome and presents a clear Start again action instead of an inline text link.
- Campaign edits now reload the authoritative saved program before the dashboard clears its unsaved state, so the displayed discount always matches the stored campaign after Save.
What To Do
- Copy a fresh campaign link from the event dashboard, then reopen it and continue through registration. The campaign discount should appear in the quote when the campaign is eligible, even if the browser hides UTM fields.
Event Links Keep Their Intended Registration
Repositories: rego.furries.ph
Status: Local implementation verified; deploy the attendee site before distributing or retrying printed event links
What’s Changed
- Event-scoped registration, shop, feedback, volunteering, staffing, and Dealers Den links now retain their event slug while the attendee site loads its shared fallback page.
- Campaign query parameters remain attached to the attendee URL, so printed QR cards and other tracked links no longer resolve to a previously visited event.
What To Do
- Deploy
rego.furries.ph, then retry the SFW27 registration QR link. The browser address should remain on the SFW27 path throughout loading.
Check-In Lists Load Registration Details Again
Repositories: partners.furries.ph, partners-api
Status: Live database repair applied
What’s Changed
- Restored the optional payment-account reference on registration records used by the event check-in workspace.
- Ready-to-check-in and scanned registration records can now load without the missing-column error.
What To Do
- Reload the check-in page, then scan or select the attendee again. Existing registrations remain unchanged.
Registration Confirmations Are Available Again
Repositories: partners.furries.ph
Status: Live database repair applied
What’s Changed
- Restored the database cryptographic helper used by the registration accounting path when an operator confirms a payment status.
- Registration confirmations now complete without the database-function error previously shown in the dashboard.
What To Do
- Retry the confirmation from the attendee registration actions dialog. No attendee data was changed as part of the repair.
Event Campaigns Can Carry One Standalone Discount
Repositories: partners.furries.ph, partners-api, rego.furries.ph
Status: Local implementation only; publish the campaign-discount database migration and deploy the dashboard, API, and attendee site before using this for a live event
What’s Changed
- Event campaigns can now carry one optional flat or percentage attendee discount, with separate switches for ordinary registration, gifted registration, and event shop use.
- Campaign links are standalone. They no longer layer an affiliate code or use affiliate-specific link defaults, and campaign records do not require the affiliate feature to calculate their discount.
- Registration, gifts, group registration, Dealers Den, and Event Shop choose one eligible discount instead of stacking them. The greatest monetary amount wins, with a stable tie order; campaign and affiliate attribution remain recorded independently.
Impact
- Event operators can run a direct promotional campaign without creating an affiliate record or reward arrangement.
- Attendees see the campaign discount separately in the registration quote; they will not receive a campaign, coupon, staff, and affiliate reduction at the same time.
Upgrade Notes
- Apply
20260830260000_add_event_campaign_discounts.sqlbefore saving a campaign with a discount. Existing tracking-only campaigns remain valid. - Review each campaign’s three applicability switches after deployment: one largest eligible discount is applied, so a formerly stacked total may change.
Moderators Can Pause Replies Without Removing a Post
Repositories: partners-api, social.furries.ph, moderation.furries.ph
Status: Local implementation only; database/RLS and Git-connected release validation remain required
What’s Changed
- An authorized moderator can lock or unlock new direct replies on one reviewed Social post. The post remains visible and unchanged, quotes continue to work, and the author’s account, Rego access, registrations, and Friends are unaffected.
- Social shows when replies are locked, while the existing API independently enforces the rule so an outdated browser cannot post around the control.
- Each transition is versioned, receipt-backed, and auditable; the moderation cursor records the change without carrying post text or personal data.
What To Do
- Use a reply lock for a temporary conversation pause. Use the normal case action to unlock it after review; do not treat it as content removal.
Quick Social Control
- Moderators with enforcement access can also start a narrowly scoped Quick moderation action from a Social post: hide it or lock direct replies with the same recorded reason, notice decision, rationale, and retry-safe receipt. The dialog includes Open full dashboard for all other moderation work.
Moderation Analytics Now Show Queue Health Without Personal Data
Repositories: partners-api, moderation.furries.ph
Status: Local implementation only; database/RLS and Git-connected release validation remain required
What’s Changed
- The existing manual aggregate panel now includes unassigned and 24-hour-aged work, escalation volume, appeal outcomes, and human-confirmed versus false-positive signal feedback.
- All figures are count-only, dashboard polling is unchanged, and the panel continues to omit staff, members, reporters, individual cases, evidence, and content.
Exceptional Moderation Review Has Its Own Queue
Repositories: partners-api, moderation.furries.ph
Status: Local implementation only; database/RLS, authenticated multi-reviewer, and Git-connected release validation remain required
What’s Changed
- Moderators can create a separate attention or urgent escalation for one current case. It records a review workflow receipt without changing the case’s priority, content, account, assignment, notice, decision, or legal preservation.
- Escalations appear only in a manually loaded, capped queue. Closing one closes the escalation workflow receipt only and writes its own audit trail.
What To Do
- Use escalation when a case needs exceptional review. Resolve the escalation separately after that review; decide or enforce on the underlying case only through its normal, case-scoped controls.
Legal Preservation Controls Reach the Moderation Workspace
Repositories: partners-api, moderation.furries.ph
Status: Local implementation only; database/RLS, authenticated two-administrator, and Git-connected release validation remain required
What’s Changed
- An FPH administrator can now place a legal preservation hold from the exact moderation case after an explicit confirmation. The case view clearly states that this is not a content, account, case-decision, notification, or purge action.
- A different FPH administrator is required to release a hold; the person who placed it does not receive a release button. Incomplete service receipts now fail closed instead of appearing successful in the dashboard.
What To Do
- Use this only when preservation is required. Record the structured reason code and keep the independent-review requirement intact.
Moderation Bulk Triage Is Bounded and Metadata-Only
Repositories: partners-api, moderation.furries.ph
Status: Local implementation only; database/RLS, authenticated concurrency, and Git-connected release validation remain required
What’s Changed
- Authorized triagers can select one through ten currently loaded moderation cases, review the exact target/version list, and apply shared structured tags with an optional future due time in one all-or-none operation.
- The command is replay-safe and each case gets its own audit/activity receipt. It cannot hide or restore content, decide a case, change an account, assign work, send a notice, or alter a legal hold.
What To Do
- Review the selected cases before confirming. Reload the queue if another moderator has changed one; the system will reject stale selections rather than partially applying the change.
Validation
- The focused source contract checks the ten-case limit, exact-version concurrency boundary, retry identity, audit/activity receipt per case, and the dashboard confirmation language. Hosted database and role validation are still required before this can be treated as released.