A FedWiki maintenance run whose farm sync failed is shown as Completed #305
Open
opened 2026-10-30 22:51:34 +00:00 by cgalo5758
·
0 comments
Labels
Clear labels
accessibility
area/billing
area/catalog
area/discourse
area/domains
area/entitlements
area/fedwiki
area/identity
area/integrations
area/licensing
area/member-ui
area/meta
area/operator-ui
area/ops
area/testing
duplicate
good-first-issue
invalid
privacy
security
upstream
wontfix
A barrier for people using assistive technology or a keyboard alone.
The Stripe mirror, checkout, subscriptions, invoices, fulfillment.
Products, prices, plan ladders, purchasability.
The Discourse integration.
The domains registry, claims, placements, the certificate ask.
Entitlement sets, rules, grants, pools, provisioning.
The Federated Wiki integration and farm sync.
Sign-in, sessions, persons, organizations, workspaces, roles.
The provider registry, outbox and webhooks in general.
Licenses, the contributor agreement, SPDX headers.
Member pages.
The repository itself, its contributing guide, CI, the tracker and the workflow.
Operator pages, forms, lists, the design system.
Deployment, configuration, migrations, workflows, instance settings.
The test stack, screens, lint, walkthroughs.
Closed because another issue already covers it.
Small, self-contained, and explained enough to be a first contribution.
Closed because it is not a ticket for this repository.
Touches what a person's data reveals.
Touches authentication, authorization, secrets or data exposure.
Waits on another repository or project before it can move.
Closed because it will not be done, with the reason in the last comment.
kind
bug
The software does something other than what it promises; closed when it again does what it promises.
kind
debt
Code, tests or tooling to clean up with nothing visible changing; closed when they are cleaner.
kind
design
A question to settle before work can be defined; closed when the decision is written down.
kind
docs
Documentation that is wrong or missing; closed when it says the right thing.
kind
enhancement
Something the software does not do yet; closed when it does.
priority
critical
Blocks the active milestone or harms members now.
priority
high
Next in line inside the active milestone.
priority
low
Inside the active milestone, when nothing else is left.
priority
medium
Inside the active milestone, after the high ones.
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: wiki-cafe/member-console#305
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What a person cannot do today
The FedWiki integration connects the console to a FedWiki farm, the server that hosts members' wiki sites. A scheduled maintenance run in Temporal, the console's workflow engine, first syncs with the farm when the sync setting is on (reads the farm's list of sites and copies it into the console), then deletes archived sites past their 30 days, then makes sites over a plan's limit read-only.
When the sync step fails after its retries, the run skips the deletion, still makes sites read-only, and returns a result with
Successfalse and an error message, but no workflow error (internal/integrations/fedwiki/workflows/sync.go:114-162,:73-109). Temporal records the run as Completed, and the operator's FedWiki page shows the latest run's Temporal status under "Site maintenance", "Last run" (internal/integrations/fedwiki/web/operator.go:171,internal/workflows/schedule_health.go:58-75), so it reads "Completed". Nothing in the console reads the result'sSuccessor its error message; the failure leaves only ERROR lines in the log (sync.go:119,:132,:150). The specification states this on purpose: the panel shows "the execution's Temporal status, not proof of successful farm projection" (openspec/specs/fedwiki-sites/spec.md:155), and a failed sync returns a nil workflow error (:1440,:1459).An operator therefore cannot tell from the page that the console has stopped seeing the farm. Discourse's scheduled sweep returns its error instead, so Temporal records it as Failed and the Discourse page says so (
internal/integrations/discourse/workflows/workflow.go:70-72,:94-96,:105-107).What they should be able to do
See a run whose enabled farm sync failed as failed, after it has made sites read-only as it does now. Later runs still start on schedule: the schedule does not pause when a run fails (
internal/integrations/fedwiki/workflows/schedule.go:116).Why it matters
An operator who checks the panel is told the farm sync works while the console has stopped seeing the farm, and while archived sites wait undeleted because every run skips the deletion.
Where
internal/integrations/fedwiki/workflows/sync.go:70-157;internal/integrations/fedwiki/web/operator.go:171;openspec/specs/fedwiki-sites/spec.md:155,:1440Done when
A FedWiki maintenance run whose enabled farm sync failed is recorded by Temporal and shown on the operator's FedWiki page as failed, after it has made sites read-only; the schedule keeps running; and the FedWiki sites specification says so.