Updates
Platform Updates
Public-facing release notes for meaningful changes across Furries PH operational systems.
First created Last updated
Remove individual EMS activity entries
Repositories: Partners and Partners API. Status: deployed through the linked GitHub production branches.
What’s Changed: Event managers can remove pending, rejected or approved activity submissions from the review and approved-entry lists, with a confirmation naming the attendee and activity. The API checks event-management access and event scope.
Impact: Removal permanently deletes the entry’s answers, review and revision history. Activity forms and attendee accounts remain. Uncertain responses are checked against the current list without automatically repeating deletion.
Upgrade Notes: Use Remove beside the intended entry and confirm only after reviewing its identity. No database migration is required. Type checks, the full Partners production build, 12 API cases, 20 desktop/mobile removal checks and existing review/approved regressions pass on the isolated release branches. The Docs production build passes. The API GitHub-linked build has deployed successfully; the new removal endpoint rejects unauthenticated requests with HTTP 401. Partners Pages deployment succeeded; both EMS pages and the current removal-control/confirmation assets return HTTP 200. No real attendee entry was deleted during release verification.
Release commits: Partners 5f8773ca; API 4cbd1636. Authenticated organizer
removal remains a separate acceptance check.
Public schedules open on the current event day
Repository: RegoSite.
Published schedules now open on today’s date when it has scheduled activities, using the event timezone. Otherwise they show the earliest date with activities, including Day 0 or negative preparation days. Dates without activities do not affect the choice. Viewers can still choose another day; changing the time format or layout keeps their selection.
Validation: Date selection checks cover timezone boundaries, daylight-saving changes, sparse schedules and earliest-day fallback. Browser checks use controlled clocks to verify current-day selection, fallback and manual selection. No API, event data or publication changes are required.
Choose a schedule time format
Repositories: Partners and RegoSite.
Schedule viewers can switch between 12h and 24h times in EMS and the published event schedule. The choice applies to list and timetable labels, activity details and accessible activity names. Each site remembers the browser’s preference. This changes presentation only; saved activity times and the event timezone stay the same, and no save or publication is needed.
Validation: Calendar formatting checks include midnight, noon and late-night boundaries. Browser checks cover both views, reload persistence, read-only use and mobile layout; typechecks and production builds are checked for each frontend.
Published schedules appear after About
Repositories: RegoSite, Partners and Partners API.
A visible published event schedule appears immediately after About with a Schedule link in the event navbar. Unpublished schedules show neither the section nor the link. Hiding the event’s venue or dates continues to hide its schedule. Existing Agi availability rules remain unchanged.
Validation: Browser checks exercise placement and conditional navigation on the event page, including absence when the public schedule is unavailable. Existing API publication and event-visibility guards remain in place.
EMS generates event days from Event Details and offers Day 0, the calendar day before the event starts, for setup and early-access activities. Add earlier day supports Day -1, Day -2 and earlier dates. Day 1 remains the initial selection. Published activities use the same day numbering on RegoSite.
Schedule defaults follow Event Details
Repositories: Partners and Partners API.
EMS Event Schedule now opens on the event start date saved in Event Details. Day tabs include the event’s calendar days, and new activities use the selected day, all in the event timezone. Existing activities on other dates are preserved. Reopen or reload the schedule after changing Event Details to refresh its dates.
Validation: Focused API, date conversion and browser checks cover the date contract, event timezone, empty schedules and new activity defaults. Partners typecheck and production build are checked separately from hosted deployment.
Remove activities from the schedule editor
Repository: Partners.
Event managers can now choose Remove activity directly inside the activity edit dialog, including when opening an activity from the timetable. Confirmation removes it from the draft; save the schedule and publish changes to update RegoSite. Cancelling preserves the activity. Read-only viewers and new activity forms do not show this action.
Validation: Browser regression checks cover confirmation, cancellation, draft-only removal and saved reload. Partners typecheck and production build pass.
Published event schedules and optional Agi updates
Repositories: Partners, Partners API and RegoSite.
Status: Released through Git-linked production deployments. The three database migrations are applied and read back. The bot master switch was not changed; real signed-in/provider acceptance remains separate.
What’s Changed
Event managers can publish or unpublish a saved EMS schedule. RegoSite displays the last published snapshot as its own Schedule section, with day and room controls, a desktop timetable, a mobile list and clickable activity details. Later EMS draft edits stay private until republished. Event privacy settings still apply.
The main event page and attendee/Dealers Den completion screens offer optional Agi event updates over Telegram or Discord. Each activity has a separate notification choice for changes and a reminder before it starts. Unlinked accounts get an optional linking prompt; linking never turns notifications on automatically.
Impact
Event-wide choices and selected activities stay independent. Email and global bot preferences retain their own settings. The API rechecks the current private link, scoped consent and bot availability. Unsubscribe remains available even when the bot is paused or an event/activity is withdrawn. New opt-ins require the Admin-enabled bot feature; these changes do not activate it.
Upgrade Notes
Canonical schedule, publication and Agi subscription migrations were applied after an exact-scope dry-run; unrelated pending migrations were excluded. Local API/database, browser and sender fixtures use controlled identities and intercepted providers; they do not establish real account linking, provider receipts or hosted persistence. Current-origin release checkouts pass full frontend builds and typechecks, with local API/database/browser certification recorded in the release tasks. Production API/Pages deployment evidence matches API e076dc9f, Partners e3568cef and RegoSite 271123b0. Hosted checks confirm the new modules load, authentication is required for personal settings, and unpublished schedules return no public content. No real messages were sent.
Cloudflare email sending
Repository: Partners API.
Status: Released through the Git-linked Cloudflare production build (API commit f45185b0).
What’s Changed
All shared account, registration, receipt, reminder and operational email paths now use the native Cloudflare Email Service binding from noreply@comms.furries.ph. Reply-To addresses and sender display names remain supported. Apps Script fallback is removed; uncertain sends remain held for reconciliation to prevent duplicates.
Impact
Recipients may notice the new sender address. SPF, DKIM, bounce MX and enforcing DMARC with authorized aggregate reporting are configured for the dedicated sending domain. Existing inbound support routing remains active. Provider email-content previews are disabled.
Upgrade Notes
Both public DNS resolvers passed every readiness check. Focused transport tests and Worker dry build passed. A requested REST canary reached Cloudflare’s Delivered state, and the shared-code native-binding canary also reached Delivered. The production build succeeded and its sender-restricted EMAIL binding was read back. Original received headers and inbox/spam placement require recipient-side inspection. Monitor the account’s current daily sending allowance and reconcile unknown delivery outcomes before retrying.
Automatic LAN private intercom reception
Repository: FPH LAN EMS, version 0.1.2.
Status: Published from main. Version 0.1.2 release assets are available to authorized repository users.
Available operators now receive incoming private intercom calls automatically from the shared shell on authorized event pages. Receipt starts listen-only; camera publishing and push-to-talk require the receiving operator’s own action. Calls continue across normal event-page navigation. API membership/event checks and duplicate-attempt protection remain in place. Release evidence now preserves platform report folders in one archive so repeated screenshot names cannot collide during publication.
Validation: Managed LiveKit preflight, four API suites and six real React browser suites pass. A focused same-event navigation exercise keeps playing incoming audio with zero unsolicited capture and one accept/token request across polling and navigation. Explicit camera/PTT and call cleanup pass. The release workflow passed native executable certification for Windows x64, Linux x64 and macOS ARM64, combined evidence verification and publication. Physical hardware and OS permission prompts remain separate acceptance work. The superseded v0.1.1 draft and tag were retained without publication or movement.
Partner BNPL administration and coordinated feature publication
Repositories: Partners API, Admin, Partners, Rego, EMS LAN, CMS, Social and shared documentation.
Status: API, Admin, Partners and Rego are published on main and deployed through successful Git-linked builds. All 61 database migrations are applied. LAN release evidence appears in the automatic intercom entry.
What’s Changed
FPH administrators can open Partners → BNPL settings for the selected partner. New partners default to off. The editor separates the saved permission from checkout readiness, requires a reason and fresh MFA, and protects concurrent or uncertain saves with revisions and exact-request recovery. Turning the partner permission off stops new financed agreements while retaining payments, refunds and servicing for existing agreements.
Existing BNPL event policies, registration/dealer/shop checkout, payer history, collection, refund and accounting implementations are integrated with current main. Event terms and attendee consent remain required. TailTally configuration, dealer consent and scoped operational views, Site Reports administration, planning submission recovery and SEO controls are included in the coordinated integration. The existing WYSIWYG default, task-file safeguards, current profile/session transport and report launcher layering are retained.
The EMS LAN scanner receives the bounded QR-decoding retry. CMS check-only TypeScript configuration now accepts the repository’s explicit TypeScript imports. Existing unpublished operator plans are retained with their planned status; their proposed features are not presented as implemented.
Impact
Administrators manage partner financing permission in one place. Organizers still configure eligible event policies. Publishing these implementations does not enable a production partner, turn on interactive bots or create an attendee payment plan.
Upgrade Notes
The release includes database migrations and Git-linked site/API publication. Local validation includes Admin typecheck, 111 tests, eight desktop/mobile browser journeys, API/SQL authorization and agreement-gate checks, Rego checkout/collection/history suites, shared form parity, scanner decoding and production builds. Synthetic fixtures intercept writes and provider requests; signed-in production actions, recipient delivery and physical scanner acceptance remain separate evidence. The published amendment editor remains held off in Rego; email servicing repair and report email replies retain their separate readiness and transport gates. No live partner permission or bot policy was enabled.