2026-10-08 - 2026-10-11
Overview
5 Issues closed from 1 user
Closed
#213 A tier reorder that commits during a conferral records the wrong kind of tier change
Closed
#189 The grants listing query is written twice, and only its delivery state is checked for drift
Closed
#188 Finding which tier an organization holds on a ladder is a loop written five times
Closed
#190 Each page's template set is assembled in its own place, and the lint and tests assemble stand-ins
Closed
#33 The forum mapping tests pass only when another package has run first
22 Issues created by 1 user
Opened
#196 Recording a failed drain locks the obligation before the pool, while the drain locks the pool first
Opened
#197 A failed read of an organization's plan position is shown to the member as holding nothing
Opened
#198 A scheduled cancellation keeps its "Cancels on" badge but loses its end date and Keep plan when the plan's price cannot be read
Opened
#199 The Products page offers a plan switch on a subscription the switch cannot change
Opened
#200 The current plan's card shows the price of its subscription's first item, which can belong to another product
Opened
#201 Plan cards make a limit's singular by cutting a trailing "s", and drop their limit lines without an error when the rules cannot be read
Opened
#202 A member's plan change does not see a grant issued while it runs, and replaces that grant when it finishes
Opened
#203 Checkout reads the price's Stripe mapping a second time and repeats checks the offer decision has already passed
Opened
#204 Checkout answers a failed read of the organization's billing accounts as "no billing account found" with 400
Opened
#205 Checkout and four other handlers take a field from the URL when the posted form leaves it out
Opened
#206 A failed read of the plan ladders replaces a member's whole entitlements panel with a plans error
Opened
#207 Operator pages show a failed read as an empty or settled answer instead of an error
Opened
#208 A request that takes longer than eight seconds gets no answer, because the server's write timeout runs out before the request timeout
Opened
#209 member-console start exits with status 0 when the web server fails to start
Opened
#210 An organization with more than 200 members reads as 200 on its page, and its latest members are picked from the first 200 by name
Opened
#211 Past tier changes are named by the ladder's current order, so a reorder or a tier removal rewrites what they say
Opened
#212 A subscription's next reconcile confers its tier again over the operator's grant that replaced it, and ends the grant
Opened
#213 A tier reorder that commits during a conferral records the wrong kind of tier change
Opened
#214 A default ladder's last tier can be removed while organizations hold it, leaving the ladder empty
Opened
#215 A default change or a reorder lists each organization it could not move with raw database error text
Opened
#216 Adding, deleting or reordering tiers while the entitlement lock is held answers "see server logs" instead of the refusal that says to try again
Opened
#217 A rule change on a large entitlement set is shown as not applied when its first recomputation fails on one pool, although it was applied
25 Unresolved Conversations
Open
#80
What a payments provider port looks like, and which billing code belongs behind it
Open
#177
A scheduled change is marked applied before Stripe carries it out, and is never retried
Open
#180
Ending a plan's delivery runs the same four steps in three places, with the pool locked at different points
Open
#193
The subscription reconcile changes provision status without the pool lock
Open
#194
Adding a tier locks pools in creation order, while other paths sort them by pool id
Open
#153
An org type's default ladder can start on a product that confers nothing, and then restoring the default fails
Open
#187
Plan-wide changes to ladders and defaults run inside HTTP handlers, each with its own transaction shape
Open
#181
A batch of rule changes has no record of its own, so its first change stands in for it
Open
#184
A swap of the active site is stored as two single-site requests held together by naming conventions
Open
#179
A tier change keeps its cause and the operator's note in one text column, and nothing ties together the rows one act writes
Open
#171
An application outside the console cannot connect to it: there is no published protocol
Open
#131
A column named for a payment provider's event holds words that are not events
Open
#10
Some operator lists read the database once per row
Open
#166
Nothing looks for dead code, duplication, tangled functions or a value written from too many places
Open
#148
A past-due subscriber is shown their ladder as unheld and offered a second subscription
Open
#141
The console serves nothing, not even the certificate ask, until Temporal and the identity provider are reachable
Open
#121
Nothing says which file a new HTTP handler belongs in
Open
#182
Nothing says which billing account is an organization's own, and three paths take the oldest
Open
#195
A refused plan switch answers 200 and replaces the preview with the plans
Open
#18
The member catalog does not say a plan change will wait for the end of a committed term
Open
#186
Locks are written out at each call site, with four key conventions and no written order
Open
#192
Tests share one database and global settings, so packages must run one at a time
Open
#191
Tests build their data and check their pages by hand, with one copy of each helper per package
Open
#165
FedWiki's site usage is a running total that many code paths adjust; derive it instead
Open
#63
The project lint never checks routes an integration registers