Updates
Platform Updates
Public-facing release notes for meaningful changes across Furries PH operational systems.
First created Last updated
Profile phone country-code input (production release)
Repositories: Partners API, Partners dashboard and Rego.
What changed: Profile setup and editing preserve phone text while typing and
use the API’s normalized international number when saving. Common country-code,
spaces, parentheses, hyphens and local-number formats now follow the same parsing
rules during validation and save. A Philippine number entered as +63 0917…
is stored with the extra national zero removed.
Impact: Attendees and partners can add or paste a country code without the input rearranging their text. Local numbers use the selected address country; invalid numbers still require correction, and country mismatch confirmation and SMS eligibility rules remain in place.
Validation: API phone-format regressions and desktop/mobile setup/edit fixtures pass; app typechecks and builds pass. Git-linked production builds succeeded for API b8ab68c7, Partners e4d6b254 and Rego 1ee3999f. Custom and immutable client assets carry the fix. Rego hosted-client desktop/mobile checks use simulated API responses; no real profile was changed. The API active version serves all traffic and protected profile routes retain authentication.
Upgrade notes: The correction is deployed. Reload the profile form, then review and save the number again if needed. Existing records are not rewritten automatically. Real signed-in affected-user saves remain unverified. No database migration is required.
Recorded paid values for refunds and registration changes
Repositories: Partners API, Rego, Partners preview, Docs. Status: Released through Git-linked production builds; live assets and API availability verified. Real provider settlement remains unverified.
What’s Changed: Refunds now account for each attendee’s group, coupon and prefill discounts. Saved free items stay free when event prices change. Partial refunds and transfers preserve the value attached to each remaining item, while upgrades retain the original purchase and charge only new value with the configured fees, VAT and rounding. Accepted upgrade quotes keep their approved amount; failed allocation remains recoverable instead of appearing finalized. Registration finance totals use the discounted remaining product value rather than overstating base revenue.
Impact: A refund concerns one attendee’s registration. Other group members stay active. Older requests cannot exceed the remaining paid value, a retained-tier rebate reduces future refunds, and a positive payout requires confirmed payment. Refund forms and receipts show recorded values; missing refund pricing must be reloaded before submitting.
Validation: Reproduced the affected calculations before correction. Focused refund, transfer, upgrade and finance checks run the actual API helpers and handlers, including failures and replay. Local desktop/mobile browser fixtures cover net estimates, zero and removed items, fees, incomplete data, member-only requests and receipt values. Existing transfer privacy, dealer pricing, Wallet and pending-redemption regressions pass. Fixtures isolate auth/database/provider dependencies; they do not establish hosted settlement or cross-connection transaction behavior. These financial corrections add no further migration. The group-redemption migration is applied. API e95a70a6, Rego 85429527 and Partners 9d87532d passed Git-linked production builds. Both custom and immutable client deployments serve the verified refund, receipt, group-completion and policy assets.
Group registration with member redemption
Repositories: Partners, Partners API, Rego, Docs. Status: Migration applied; Git-linked API and application production builds passed. Live assets and route guards verified; signed-in redemption remains unverified.
What’s Changed: Group registration now lets the organizer choose everyone’s tiers and add-ons, complete their own registration questions, and handle shared payment. Other members complete their own details, sizes, event and item questions, and Conditions of Entry when redeeming their paid registration. Partners receive independent settings to require the organizer’s tier and/or add-ons for the whole group.
Impact: Members will provide their own answers instead of asking the organizer to fill their forms. Paid places and inclusion selections stay reserved while completion is pending; members must complete registration before using an attendee pass.
Upgrade Notes: The additive group-redemption migration was applied before the API and client release; production defaults and service-only function permissions were verified. Submitted historical groups stay complete; unfinished drafts adopt member completion. Local browser checks and desktop/mobile screenshots cover organizer/member forms, fixed purchased questions, payment waiting, account discovery and both policy switches. Hono and executable SQL checks cover required own answers, ownership, replay, payment readiness, exact inclusion allocations and atomic failure rollback. Typechecks and production builds pass for the API and both clients, alongside the Docs check/build and Partners preview parity. Hosted checks confirm current client assets, independent API policy fields and required sign-in on member redemption. Fixtures and hosted asset checks do not establish real payment-provider behavior, cross-connection PostgreSQL races or signed-in production redemption.
Configured group discounts in the rego form
Repositories: Rego, Docs. Status: Released through Git-linked deployment; Rego production assets verified. Real signed-in group checkout remains unverified.
What’s Changed: The rego form keeps an event’s configured group saving visible before and after starting a group. It explains the percentage or flat discount, minimum attendees with selected tiers, and any cap, then updates eligibility as members are added or removed. Flat discounts now use the saved configuration correctly in shared review and payment estimates.
Impact: Group organizers can see how to qualify and how the saving affects their shared order. Disabled or zero discounts, free events, and hidden prices do not show a monetary offer. The server confirms the final discount and total at submission.
Upgrade Notes: No migration, dependency, or configuration change is required. Existing event settings remain authoritative. Pricing checks, current-source typechecking, the V2 contract check, and the production build pass. Desktop/mobile form fixtures cover starting a group, member additions/removals, eligibility thresholds, caps, payment estimates, and hidden/disabled offers. Rego commit 7ab67f36 deployed successfully; its production registration form contains the new disclosure and canonical flat-pricing logic. Fixture API calls are intercepted, so these checks do not establish real payment or authenticated registration behavior.
Faster friend requests and current friend lists
Repositories: Rego, Docs. Status: Released through Git-linked deployment; production assets verified. Real signed-in friend mutations remain unverified.
What’s Changed: Rego’s Friends page searches as attendees type, shows sending and accepting progress, and updates sent requests and accepted friends immediately after the API confirms them. Search results show existing connections and requests, with direct acceptance for incoming requests. Incoming requests also appear on the main Friends view. While visible, the page checks for changes every 15 seconds and when the attendee returns to the tab; a manual refresh remains available.
Impact: Attendees can add or accept a friend with fewer steps and see requests accepted elsewhere without reloading the page. Phone layouts wrap long names and provide larger action targets; section tabs fit narrow screens and support keyboard navigation. Slow summary reads preserve confirmed changes, failed writes remain retryable, and account changes clear private views.
Upgrade Notes: No migration or new dependency is required. Typechecking, the V2 contract check, and the production build pass. Desktop and phone browser fixtures cover sending, accepting, stale summaries, automatic updates, failed writes, account boundaries, mutual-friend privacy, graph updates, and reused relationship versions. Rego commit f219d993 deployed successfully to production, and the canonical Friends page serves its new module. Fixture API calls are intercepted, so these checks do not prove real signed-in friend mutations. Maintainers can repeat the focused check with the local app running: node scripts/certify-friends-responsive.mjs.
Immediate email and bot notification dispatch
Repositories: Partners API, Partners, Docs. Status: Released through Git-linked deployment; database claims and hosted dispatch/recovery acceptance verified. Provider and inbox receipt remain unverified.
What’s Changed: Auth email, EPS email and verified Telegram/Discord notifications gain immediate delivery attempts through the existing API, with durable records and scheduled recovery. Finance and Rego/Shop/POS/LAN receipts, manual accounting entries and Admin campaign creation or retry use the same immediate wake-up. New Auth and EPS wake-ups avoid Cloudflare Queue operations; the combined legacy consumer drains existing messages without continuing queue traffic. Social editorial publishing keeps its separate Queue.
Impact: Account users and event teams keep their current providers and notification settings, with no additional paid service. Existing Worker, database and provider quotas apply. Mandatory EPS email, verified bot identities, destination and membership checks, future schedules and recipient preferences remain enforced. An immediate attempt does not guarantee immediate inbox receipt.
Upgrade Notes: The published claim functions are service-only. Old Finance records left processing without a lease require provider-receipt reconciliation before retry; their unknown outcomes are quarantined. Local checks include 67 EPS processor cases, 11 Worker runtime cases, and delivery, recipient, recovery, legacy-queue and SQL regressions. The full API typecheck, Worker dry build and 27-file Docs check pass. Hosted checks confirmed four signed dispatch requests accepted with HTTP 202 and scheduled recovery completing without runtime exceptions. No due notifications were available to prove provider delivery; email inbox, personal DM and group receipt still require separate confirmation. No attendee or staff action is required.
Personal bios use a single line by default
Repositories: Partners, Rego, Admin, Partners API, Docs. Status: Migration published; API and application changes released through Git-linked production builds.
What’s Changed: Optional personal bios now use a single line in account setup and profile editing. Pasted line breaks become spaces, and the API applies the same policy to profile saves and EPS staff directory responses. FPH admins can open Admin → Profile settings and enable Allow line breaks in bios to restore multiple lines.
Impact: Bios stay optional with a 300-character limit. Social and website links keep their existing behavior. Changing the setting preserves stored bio text; saving an edited bio while the setting is off stores its single-line form. Only FPH admins can change this platform setting, with recent MFA verification and an audit record.
Upgrade Notes: No account action is required. Leave the setting off for single-line bios, or enable it in Admin when multi-line bios are needed. API and database fixtures covered both modes, exact administrator authority, audit rollback and preservation of historical bios. Client typechecks, builds, optional setup, paste handling, save recovery and desktop/mobile fixtures passed. Hosted checks confirm the default-off database policy, browser access restrictions, protected endpoints and current Admin/Partners/Rego assets. Hosted signed-in setting changes and profile saves remain unverified.
EPS Responsible and Accountable task controls
Repositories: Partners, Partners API. Status: Git-linked production release completed; live source and dashboard assets verified. Authenticated hosted task changes remain unverified.
What’s Changed: EPS My Work enables task status controls for Responsible and Accountable assignments returned in either the task queue or RACI assignments. Both boards support Not started, In progress, and Done through drag and drop or the status menu, including reopening completed tasks. List and detail completion actions use the same assignment rules. Assigned department leads can update their own task status across departments without gaining shared editing access there.
Impact: Assigned event staff can complete and reopen their delivery work from My Work. Consultant, Informed, and reviewer-only task assignments retain their status restrictions; requirement submission and approval workflows continue separately.
Upgrade Notes: No database migration or operator setup is required. Reload an already-open dashboard tab to receive the new controls. Local regressions reproduced missing controls and denied assigned updates before the fix. The release checkout passes 67 direct API cases covering both roles, completion and reopening, versions, conflicts, department boundaries, audit records, and reminders. Browser checks cover drag and status selection, list/detail completion, role restrictions, and desktop/mobile behavior. Typechecks and production builds pass. Cloudflare’s linked production builds passed, the API’s active version contains the assignment fix at 100% traffic, and both dashboard hostnames serve the matching My Work asset. Authenticated hosted task changes remain unverified.
Dashboard dependency security updates
Repository: Partners. Status: Released; signed-in hosted checks remain.
What’s Changed: The dashboard now uses patched diagram-rendering and build-tool dependencies. The route browser check also installs its required test runner explicitly, so a clean checkout can run that check.
Impact: Partner teams should see no workflow changes. Mermaid diagrams and ordinary dashboard routes continue to work; operators do not need to change settings.
Upgrade Notes: Before the update, the dependency audit found one production and one build-tool advisory, and a focused test reproduced the diagram renderer accepting an inherited trust setting. Afterward, production and full audits found no advisories; the focused security test, real Mermaid SVG rendering, typecheck, build, 144-route browser check, Asset Register workflow, and Markdown sanitizer check passed. The linked Cloudflare production build succeeded, and both dashboard hostnames serve the matching release manifest. Signed-in hosted workflows remain to verify.
Profile setup saves stay with the current account
Repository: Partners. Status: Released; signed-in hosted setup remains to verify.
What’s Changed: Profile setup now cancels an unfinished save when the signed-in account changes or the setup page closes. Later steps, including username, photo, and agreement updates, require the original save to remain current. The existing setup design and controls are unchanged.
Impact: People completing profile setup can continue using the same form. After changing accounts or leaving setup during a save, return to setup and submit again from the current account.
Upgrade Notes: Independent source review confirmed that queued setup work could outlive its initiating account. After the fix, mocked request and browser checks pass for full completion, retry, cancellation at eight save checkpoints, and same-account refresh. Existing setup ownership, session and MFA checks, typecheck, and build also pass. The linked production build succeeded, and both dashboard hostnames serve the matching setup asset. A signed-in hosted setup save has not been verified; cancellation cannot undo a write already accepted by the API.