2026-10-26 - 2026-11-02

Overview

0 Active Pull Requests
65 Active Issues
Excluding merges, 1 author has pushed 54 commits to main and 54 commits to all branches. On main, 959 files have changed and there have been 72091 additions and 7370 deletions.

29 Issues closed from 1 user

Closed #22 A preview of what a change will do is dressed as a warning 2026-11-02 01:24:39 +00:00

Closed #167 Alerts are written by hand in about twenty variants, and the design system has no part for a notice 2026-11-02 01:24:16 +00:00

Closed #186 Locks are written out at each call site, with four key conventions and no written order 2026-10-31 09:03:52 +00:00

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 2026-10-31 03:47:10 +00:00

Closed #196 Recording a failed drain locks the obligation before the pool, while the drain locks the pool first 2026-10-31 00:42:40 +00:00

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 2026-10-31 00:22:24 +00:00

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 2026-10-30 22:01:09 +00:00

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 2026-10-30 21:28:34 +00:00

Closed #178 The readiness panel says whether members can find a product by a rule the catalog no longer uses 2026-10-30 21:28:33 +00:00

Closed #283 With the FedWiki sync off, archived sites are never purged and a downgrade never parks sites 2026-10-30 20:03:41 +00:00

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 2026-10-30 13:26:05 +00:00

Closed #290 A request that runs longer than eight seconds loses its answer, though the console lets it run for 32 2026-10-30 13:26:03 +00:00

Closed #247 A FedWiki site's name can keep the wrong certificate answer after a status change 2026-10-30 11:46:43 +00:00

Closed #293 The member's invoice list and invoice page show Stripe's invoice-level period, not the period the invoice pays for 2026-10-30 11:46:32 +00:00

Closed #291 A plan switch is confirmed in a panel above the plan cards, before the button that opened it 2026-10-30 10:42:54 +00:00

Closed #246 A site archived on the farm outside the console is never purged, and one archived twice can be purged at once 2026-10-30 08:51:33 +00:00

Closed #245 The retention purge can delete a site a member is restoring 2026-10-30 07:20:47 +00:00

Closed #287 The upgrade confirmation says the charge covers the rest of the period when the new tier is billed on another interval 2026-10-30 06:30:11 +00:00

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 2026-10-30 03:34:46 +00:00

Closed #272 A member can buy an add-on that has no entitlement set, pay for it every period, and receive nothing 2026-10-30 00:40:32 +00:00

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 2026-10-30 00:01:37 +00:00

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 2026-10-30 00:01:37 +00:00

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 2026-10-30 00:01:36 +00:00

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 2026-10-30 00:01:36 +00:00

Closed #285 A subscription reconcile's Stripe calls ignore the caller's deadline 2026-10-29 06:13:23 +00:00

Closed #153 An org type's default ladder can start on a product that confers nothing, and then restoring the default fails 2026-10-27 00:03:28 +00:00

Closed #212 A subscription's next reconcile confers its tier again over the operator's grant that replaced it, and ends the grant 2026-10-26 22:38:39 +00:00

Closed #148 A past-due subscriber is shown their ladder as unheld and offered a second subscription 2026-10-26 20:35:42 +00:00

Closed #193 The subscription reconcile changes provision status without the pool lock 2026-10-26 20:35:41 +00:00

52 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 2026-10-26 20:58:21 +00:00

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 2026-10-26 20:58:22 +00:00

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 2026-10-26 20:58:22 +00:00

Opened #272 A member can buy an add-on that has no entitlement set, pay for it every period, and receive nothing 2026-10-26 20:58:23 +00:00

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 2026-10-26 20:58:23 +00:00

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 2026-10-26 20:58:24 +00:00

Opened #275 Keep plan pressed just after a downgrade takes effect answers nothing and records the downgrade as withdrawn 2026-10-26 20:58:24 +00:00

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 2026-10-26 20:58:25 +00:00

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 2026-10-26 20:58:36 +00:00

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 2026-10-27 06:24:32 +00:00

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 2026-10-27 06:24:44 +00:00

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 2026-10-27 16:26:31 +00:00

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 2026-10-28 01:12:23 +00:00

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 2026-10-28 02:44:21 +00:00

Opened #283 With the FedWiki sync off, archived sites are never purged and a downgrade never parks sites 2026-10-28 02:44:22 +00:00

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 2026-10-28 02:44:22 +00:00

Opened #285 A subscription reconcile's Stripe calls ignore the caller's deadline 2026-10-29 05:03:49 +00:00

Opened #286 A member whose default payment method is SEPA Direct Debit cannot upgrade their plan 2026-10-29 05:42:48 +00:00

Opened #287 The upgrade confirmation says the charge covers the rest of the period when the new tier is billed on another interval 2026-10-29 05:42:48 +00:00

Opened #288 A tier priced in another currency is offered as a switch that always fails 2026-10-29 05:42:49 +00:00

Opened #289 The current plan's card states no cost when the organization type's default plan holds it 2026-10-29 06:55:41 +00:00

Opened #290 A request that runs longer than eight seconds loses its answer, though the console lets it run for 32 2026-10-29 07:34:03 +00:00

Opened #291 A plan switch is confirmed in a panel above the plan cards, before the button that opened it 2026-10-29 22:24:04 +00:00

Opened #292 An upgrade confirmed across a renewal answers "Try again in a moment" instead of showing fresh figures 2026-10-30 00:30:57 +00:00

Opened #293 The member's invoice list and invoice page show Stripe's invoice-level period, not the period the invoice pays for 2026-10-30 00:40:03 +00:00

Opened #294 A wiki name whose site was never created can keep passing the certificate check until the console restarts 2026-10-30 19:47:45 +00:00

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 2026-10-30 19:47:46 +00:00

Opened #296 A request that runs out of time tells the member to try again, though its work may still finish 2026-10-30 19:47:46 +00:00

Opened #297 The FedWiki and Discourse operator pages say a scheduled run never happened when Temporal could not be asked 2026-10-30 19:47:47 +00:00

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 2026-10-30 19:47:47 +00:00

Opened #299 With no Stripe key, the Products and Billing pages and the billing sweeps still act on Stripe objects an earlier key made 2026-10-30 22:44:40 +00:00

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 2026-10-30 22:44:40 +00:00

Opened #301 FedWiki maintenance can change or delete a newer site that reuses a deleted site's name 2026-10-30 22:44:41 +00:00

Opened #302 After a plan change confirmed in the dialog on the Products page, keyboard focus falls back to the top of the page 2026-10-30 22:51:33 +00:00

Opened #303 A plan change the console refuses on purpose is logged at ERROR, like a fault 2026-10-30 22:51:33 +00:00

Opened #304 Syncing a new product to Stripe logs an ERROR when its price waits a moment for the product 2026-10-30 22:51:34 +00:00

Opened #305 A FedWiki maintenance run whose farm sync failed is shown as Completed 2026-10-30 22:51:34 +00:00

Opened #306 Retrying failed recomputations locks their rows in no set order, so it can deadlock with a drain on the same rows 2026-10-31 00:27:01 +00:00

Opened #307 A downgrade Stripe holds is not shown when the console never recorded it 2026-10-31 00:29:59 +00:00

Opened #308 A move deferred to a commitment's end survives an upgrade the console learns of from Stripe 2026-10-31 00:29:59 +00:00

Opened #309 A plan change made and recorded is answered as failed when the reconcile after it fails 2026-10-31 00:30:00 +00:00

Opened #310 A FedWiki row action or API delete answers a failed database read as "Site not found" 2026-10-31 01:01:36 +00:00

Opened #311 The readiness verdict names a missing price "Active price" while it names every other gap in lowercase 2026-10-31 01:01:36 +00:00

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 2026-10-31 01:01:36 +00:00

Opened #313 The Stripe environment check's reads outlive the attempt Temporal gave up, so two attempts run at once 2026-10-31 01:01:37 +00:00

Opened #314 A product or price that Stripe makes after answering the console with a server error is never recorded from Stripe's event 2026-10-31 03:37:01 +00:00

Opened #315 A checkout can create a second Stripe customer for an organization when Stripe answers after the request has ended 2026-10-31 03:37:01 +00:00

Opened #316 An operator's Retry of a failed Stripe sync can be undone by the dead-letter write it answered 2026-10-31 06:23:53 +00:00

Opened #317 The Stripe specs describe an outbox path, a helper and a query the console no longer has 2026-10-31 06:23:53 +00:00

Opened #318 The checkout answers three failures as bare text beside the plan 2026-11-02 06:23:25 +00:00

Opened #319 FedWiki site actions answer a failure with 200 2026-11-02 06:23:26 +00:00

Opened #320 The FedWiki sites card repeats its notices to a screen reader every three seconds 2026-11-02 06:23:26 +00:00

30 Unresolved Conversations

Open #168 The console has no notifications 2026-11-02 01:24:31 +00:00

Open #173 A connected application cannot show anything inside the console 2026-11-02 01:24:31 +00:00

Open #78 The operator has no single place showing what needs attention 2026-11-02 01:24:31 +00:00

Open #174 FedWiki and Discourse are built into the console instead of connecting through the published contract 2026-11-01 04:07:39 +00:00

Open #242 migrate down undoes the last integration's newest migration, not the most recently applied one 2026-10-31 09:25:07 +00:00

Open #191 Tests build their data and check their pages by hand, with one copy of each helper per package 2026-10-31 09:12:40 +00:00

Open #221 Some HTTP handlers still open their own transaction or run hand-written SQL 2026-10-31 07:24:21 +00:00

Open #149 The Stripe page's dead-letter tables print raw error chains, with the account id and request-log links 2026-10-31 03:47:09 +00:00

Open #197 A failed read of an organization's plan position is shown to the member as holding nothing 2026-10-31 01:01:36 +00:00

Open #207 Operator pages show a failed read as an empty or settled answer instead of an error 2026-10-31 01:01:36 +00:00

Open #219 A member's downgrade is lost when a reconcile releases the old schedule the downgrade has just reused 2026-10-31 00:54:07 +00:00

Open #177 A scheduled change is marked applied before Stripe carries it out, and is never retried 2026-10-31 00:29:59 +00:00

Open #260 member-console start handles no stop signal, so a stop cuts in-flight requests and never stops the Temporal worker 2026-10-31 00:22:18 +00:00

Open #222 A create or a settings save sometimes lands without its success toast, so two walkthroughs fail now and then 2026-10-30 22:51:34 +00:00

Open #120 Screenshots change every day because some cells count from today 2026-10-30 13:25:35 +00:00

Open #88 A product cannot be sold as a bundle covering several plan ladders at once 2026-10-30 03:34:46 +00:00

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 2026-10-30 03:34:46 +00:00

Open #117 A grant cannot be queued to start when the current one ends 2026-10-28 01:12:23 +00:00

Open #99 A product can point at a set of capabilities that does not exist 2026-10-27 00:03:58 +00:00

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 2026-10-27 00:03:58 +00:00

Open #97 An operator cannot retire a product; the only way out of the catalog is deleting it 2026-10-27 00:03:20 +00:00

Open #255 A past-due subscription loses its plan at once, with no grace period 2026-10-26 21:13:27 +00:00

Open #257 A Checkout page opened before a plan was bought can still buy that plan's ladder a second time 2026-10-26 20:58:36 +00:00

Open #263 Screen captures of the Stripe integration page depend on whether the console's Stripe reads finished before the capture 2026-10-26 20:58:24 +00:00

Open #151 The console has no time zone of its own: dates follow whatever zone the server process runs in 2026-10-26 20:58:24 +00:00

Open #200 The current plan's card shows the price of its subscription's first item, which can belong to another product 2026-10-26 20:35:52 +00:00

Open #233 A downgrade on a subscription with two items removes the other item at Stripe 2026-10-26 20:35:51 +00:00

Open #256 A member cannot change the card their subscription charges 2026-10-26 20:35:27 +00:00

Open #150 Invoice detail pages omit payments, cards and the subscription 2026-10-26 20:35:27 +00:00

Open #258 An add-on whose payment is due shows no state and is offered again 2026-10-26 20:16:32 +00:00