2026-10-26 - 2026-11-02
Overview
29 Issues closed from 1 user
Closed
#22 A preview of what a change will do is dressed as a warning
Closed
#167 Alerts are written by hand in about twenty variants, and the design system has no part for a notice
Closed
#186 Locks are written out at each call site, with four key conventions and no written order
Closed
#312 A Stripe create that Stripe answered with a server error is retried for a day under a key Stripe will only answer with that error
Closed
#196 Recording a failed drain locks the obligation before the pool, while the drain locks the pool first
Closed
#295 A plan change and the scheduled-change sweep wait up to four minutes on each Stripe call, past the end of the request
Closed
#284 A FedWiki status or swap request finds its site by name, so a deleted site leaves the request pending for years and a new site with that name takes its outcome
Closed
#282 With no Stripe key, the member catalog still offers products whose prices were synced earlier, and their buttons post to a route that does not exist
Closed
#178 The readiness panel says whether members can find a product by a rule the catalog no longer uses
Closed
#283 With the FedWiki sync off, archived sites are never purged and a downgrade never parks sites
Closed
#208 A request that takes longer than eight seconds gets no answer, because the server's write timeout runs out before the request timeout
Closed
#290 A request that runs longer than eight seconds loses its answer, though the console lets it run for 32
Closed
#247 A FedWiki site's name can keep the wrong certificate answer after a status change
Closed
#293 The member's invoice list and invoice page show Stripe's invoice-level period, not the period the invoice pays for
Closed
#291 A plan switch is confirmed in a panel above the plan cards, before the button that opened it
Closed
#246 A site archived on the farm outside the console is never purged, and one archived twice can be purged at once
Closed
#245 The retention purge can delete a site a member is restoring
Closed
#287 The upgrade confirmation says the charge covers the rest of the period when the new tier is billed on another interval
Closed
#271 A grant on one ladder ends a multi-ladder subscription's tiers on every ladder, and the other ladders stay empty while the subscription bills
Closed
#272 A member can buy an add-on that has no entitlement set, pay for it every period, and receive nothing
Closed
#277 While a grant holds a ladder that a subscription still pays for, the Products page sells a tier above the grant through Checkout, so the ladder carries two subscriptions
Closed
#278 A member cannot move a subscription paused by an operator's grant to the granted tier or a higher one before the grant ends
Closed
#269 A member cannot cancel a subscription while an operator's grant holds its ladder, and the Products page shows no price for it while it bills
Closed
#270 When a grant over a paid tier ends, the subscription that pays for that tier gets it back only at its next Stripe event, not when the grant ends
Closed
#285 A subscription reconcile's Stripe calls ignore the caller's deadline
Closed
#153 An org type's default ladder can start on a product that confers nothing, and then restoring the default fails
Closed
#212 A subscription's next reconcile confers its tier again over the operator's grant that replaced it, and ends the grant
Closed
#148 A past-due subscriber is shown their ladder as unheld and offered a second subscription
Closed
#193 The subscription reconcile changes provision status without the pool lock
55 Issues created by 1 user
Opened
#269 A member cannot cancel a subscription while an operator's grant holds its ladder, and the Products page shows no price for it while it bills
Opened
#270 When a grant over a paid tier ends, the subscription that pays for that tier gets it back only at its next Stripe event, not when the grant ends
Opened
#271 A grant on one ladder ends a multi-ladder subscription's tiers on every ladder, and the other ladders stay empty while the subscription bills
Opened
#272 A member can buy an add-on that has no entitlement set, pay for it every period, and receive nothing
Opened
#273 After a product's entitlement set is cleared, extending a grant of it fails with "Failed to save the grant" and no reason
Opened
#274 Screen captures print the pinned times in the time zone the console process runs in, so a capture from another zone differs from the baseline
Opened
#275 Keep plan pressed just after a downgrade takes effect answers nothing and records the downgrade as withdrawn
Opened
#276 The Stripe statuses that suspend a plan are listed again in the operator's billing card and the test kit instead of read from the reconcile
Opened
#277 While a grant holds a ladder that a subscription still pays for, the Products page sells a tier above the grant through Checkout, so the ladder carries two subscriptions
Opened
#278 A member cannot move a subscription paused by an operator's grant to the granted tier or a higher one before the grant ends
Opened
#279 A member cannot arrange for a subscription paused by an operator's grant to continue on the granted tier or a higher one when the grant ends
Opened
#280 A grant over a paid tier uses up time the member paid for, or gives part of a period away, depending on where the subscription's renewal date falls
Opened
#281 An operator cannot issue a grant that waits under the organization's own plan and takes over when that plan stops covering it
Opened
#282 With no Stripe key, the member catalog still offers products whose prices were synced earlier, and their buttons post to a route that does not exist
Opened
#283 With the FedWiki sync off, archived sites are never purged and a downgrade never parks sites
Opened
#284 A FedWiki status or swap request finds its site by name, so a deleted site leaves the request pending for years and a new site with that name takes its outcome
Opened
#285 A subscription reconcile's Stripe calls ignore the caller's deadline
Opened
#286 A member whose default payment method is SEPA Direct Debit cannot upgrade their plan
Opened
#287 The upgrade confirmation says the charge covers the rest of the period when the new tier is billed on another interval
Opened
#288 A tier priced in another currency is offered as a switch that always fails
Opened
#289 The current plan's card states no cost when the organization type's default plan holds it
Opened
#290 A request that runs longer than eight seconds loses its answer, though the console lets it run for 32
Opened
#291 A plan switch is confirmed in a panel above the plan cards, before the button that opened it
Opened
#292 An upgrade confirmed across a renewal answers "Try again in a moment" instead of showing fresh figures
Opened
#293 The member's invoice list and invoice page show Stripe's invoice-level period, not the period the invoice pays for
Opened
#294 A wiki name whose site was never created can keep passing the certificate check until the console restarts
Opened
#295 A plan change and the scheduled-change sweep wait up to four minutes on each Stripe call, past the end of the request
Opened
#296 A request that runs out of time tells the member to try again, though its work may still finish
Opened
#297 The FedWiki and Discourse operator pages say a scheduled run never happened when Temporal could not be asked
Opened
#298 A failed read of a FedWiki organization's last active-site change is treated as no change, on the sites card and in the swap
Opened
#299 With no Stripe key, the Products and Billing pages and the billing sweeps still act on Stripe objects an earlier key made
Opened
#300 The billing pages and the setup checklist decide "Stripe is configured" from the integration settings, while the member pages and Checkout decide it from the key's mode
Opened
#301 FedWiki maintenance can change or delete a newer site that reuses a deleted site's name
Opened
#302 After a plan change confirmed in the dialog on the Products page, keyboard focus falls back to the top of the page
Opened
#303 A plan change the console refuses on purpose is logged at ERROR, like a fault
Opened
#304 Syncing a new product to Stripe logs an ERROR when its price waits a moment for the product
Opened
#305 A FedWiki maintenance run whose farm sync failed is shown as Completed
Opened
#306 Retrying failed recomputations locks their rows in no set order, so it can deadlock with a drain on the same rows
Opened
#307 A downgrade Stripe holds is not shown when the console never recorded it
Opened
#308 A move deferred to a commitment's end survives an upgrade the console learns of from Stripe
Opened
#309 A plan change made and recorded is answered as failed when the reconcile after it fails
Opened
#310 A FedWiki row action or API delete answers a failed database read as "Site not found"
Opened
#311 The readiness verdict names a missing price "Active price" while it names every other gap in lowercase
Opened
#312 A Stripe create that Stripe answered with a server error is retried for a day under a key Stripe will only answer with that error
Opened
#313 The Stripe environment check's reads outlive the attempt Temporal gave up, so two attempts run at once
Opened
#314 A product or price that Stripe makes after answering the console with a server error is never recorded from Stripe's event
Opened
#315 A checkout can create a second Stripe customer for an organization when Stripe answers after the request has ended
Opened
#316 An operator's Retry of a failed Stripe sync can be undone by the dead-letter write it answered
Opened
#317 The Stripe specs describe an outbox path, a helper and a query the console no longer has
Opened
#318 The checkout answers three failures as bare text beside the plan
Opened
#319 FedWiki site actions answer a failure with 200
Opened
#320 The FedWiki sites card repeats its notices to a screen reader every three seconds
Opened
#321 The invoice detail and a domain's DNS records still render a back link
Opened
#322 The sites card's header splits the disabled Create site button from its reason
Opened
#323 A notice lists its own rows, each with its words and one link
30 Unresolved Conversations
Open
#168
The console has no notifications
Open
#173
A connected application cannot show anything inside the console
Open
#78
The operator has no single place showing what needs attention
Open
#174
FedWiki and Discourse are built into the console instead of connecting through the published contract
Open
#242
migrate down undoes the last integration's newest migration, not the most recently applied one
Open
#191
Tests build their data and check their pages by hand, with one copy of each helper per package
Open
#221
Some HTTP handlers still open their own transaction or run hand-written SQL
Open
#149
The Stripe page's dead-letter tables print raw error chains, with the account id and request-log links
Open
#197
A failed read of an organization's plan position is shown to the member as holding nothing
Open
#207
Operator pages show a failed read as an empty or settled answer instead of an error
Open
#219
A member's downgrade is lost when a reconcile releases the old schedule the downgrade has just reused
Open
#177
A scheduled change is marked applied before Stripe carries it out, and is never retried
Open
#260
member-console start handles no stop signal, so a stop cuts in-flight requests and never stops the Temporal worker
Open
#222
A create or a settings save sometimes lands without its success toast, so two walkthroughs fail now and then
Open
#120
Screenshots change every day because some cells count from today
Open
#88
A product cannot be sold as a bundle covering several plan ladders at once
Open
#154
The default comes back as a new grant each time, while a marked grant comes back as itself: two mechanisms for one idea
Open
#117
A grant cannot be queued to start when the current one ends
Open
#99
A product can point at a set of capabilities that does not exist
Open
#155
A retired product can return only to the exact row that delivered it, so each new way of writing grant rows needs its own exception
Open
#97
An operator cannot retire a product; the only way out of the catalog is deleting it
Open
#255
A past-due subscription loses its plan at once, with no grace period
Open
#257
A Checkout page opened before a plan was bought can still buy that plan's ladder a second time
Open
#263
Screen captures of the Stripe integration page depend on whether the console's Stripe reads finished before the capture
Open
#151
The console has no time zone of its own: dates follow whatever zone the server process runs in
Open
#200
The current plan's card shows the price of its subscription's first item, which can belong to another product
Open
#233
A downgrade on a subscription with two items removes the other item at Stripe
Open
#256
A member cannot change the card their subscription charges
Open
#150
Invoice detail pages omit payments, cards and the subscription
Open
#258
An add-on whose payment is due shows no state and is offered again