2025-11-02 - 2026-11-02
Overview
54 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
Closed
#209 member-console start exits with status 0 when the web server fails to start
Closed
#141 The console serves nothing, not even the certificate ask, until Temporal and the identity provider are reachable
Closed
#23 The console connects to its database as a superuser, so the privilege revokes bind nothing
Closed
#163 The Discourse webhook receiver stores members' email addresses in the raw event log
Closed
#231 A failed read of the sites entitlement tells the member they have reached their site limit
Closed
#165 FedWiki's site usage is a running total that many code paths adjust; derive it instead
Closed
#215 A default change or a reorder lists each organization it could not move with raw database error text
Closed
#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
Closed
#194 Adding a tier locks pools in creation order, while other paths sort them by pool id
Closed
#187 Plan-wide changes to ladders and defaults run inside HTTP handlers, each with its own transaction shape
Closed
#236 The FedWiki walkthrough fails on networks whose DNS drops loopback answers
Closed
#166 Nothing looks for dead code, duplication, tangled functions or a value written from too many places
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
Closed
#175 Checkout and the plan switch do not enforce what the Products page offers
Closed
#30 Two generated domain queries have no caller outside their own tests
Closed
#125 Creating or deleting a wiki site holds the request open until the work finishes or a timer runs out
Closed
#13 Members reach a payment page headed by a name the console never showed them
Closed
#147 Outbox creates reuse Stripe idempotency keys across database lifetimes and are refused for good
Closed
#60 Invoice numbers tell any member roughly how much business the deployment does
Closed
#143 The screenshot harness has no Stripe subscription, so plan-change states are captured by hand
Closed
#24 The console keeps a person signed in for days after the sign-in behind it has expired
323 Issues created by 1 user
Opened
#1 The accessibility check never sees a page state the demo data does not produce
Opened
#2 A budget of zero turns the abandonment ledger off in one layer and on in another
Opened
#3 An add-on a member is meant to hold several times can only be bought once
Opened
#5 Nothing says when the certificate endpoint stops deferring to the old answerer
Opened
#6 A site outside the console cannot tell whether its visitor is signed in
Opened
#4 Everything behind the operator pages is one audience, and deployment-wide settings need a second
Opened
#7 A session ended at the identity provider stays valid in the console for up to five minutes
Opened
#8 Who takes a database backup before migrations run, and what it has to cover
Opened
#9 A member cannot restore their own site from a backup
Opened
#10 Some operator lists read the database once per row
Opened
#11 The billing lists can only be narrowed to one organization by searching for its name
Opened
#12 A transient error reading the billing sweep schedule is read as the schedule being absent
Opened
#13 Members reach a payment page headed by a name the console never showed them
Opened
#14 Nothing runs the project's checks except the person who remembers to
Opened
#15 Two rules the domains registry depends on hold only in Go, while the schema looks like it holds them
Opened
#16 There is no commercial licence to send when someone asks to buy one
Opened
#17 An operator cannot put a minimum term on a subscription
Opened
#18 The member catalog does not say a plan change will wait for the end of a committed term
Opened
#19 The organization page uses four words a reader is expected to already know
Opened
#20 The product and organization pages were assembled part by part and never arranged
Opened
#21 Configuration has grown into a domain of its own with no page that describes it
Opened
#22 A preview of what a change will do is dressed as a warning
Opened
#23 The console connects to its database as a superuser, so the privilege revokes bind nothing
Opened
#24 The console keeps a person signed in for days after the sign-in behind it has expired
Opened
#25 An operator cannot offer a discount code
Opened
#26 Where a record is created, and what the control that opens the form should look like
Opened
#27 A member cannot hold prepaid credit and have it applied to their invoices
Opened
#28 A deployment cannot change the console's colors or add its own styles without forking
Opened
#29 Membership roles carry permissions that nothing checks
Opened
#30 Two generated domain queries have no caller outside their own tests
Opened
#31 Every row of the demo activity feed says the actor is unavailable
Opened
#32 The demo data covers whichever states someone noticed were missing
Opened
#33 The forum mapping tests pass only when another package has run first
Opened
#34 Choosing a domain for a site is a poor experience because the two capabilities are presented as one
Opened
#35 The Domains page hides two sections behind toggles chosen for convenience, not for a reason
Opened
#36 The Domains page lists every served domain and every history row without paging
Opened
#37 The domains registry calls a domain a name and a served domain a placement, and neither word says what it is
Opened
#38 A subscription with a minimum term and a fee policy refuses mid-term changes instead of charging the fee
Opened
#39 When a rule belongs in the database and when in the application
Opened
#40 What a member sees and can do when the entitlement behind their sites lapses
Opened
#41 An entitlement set cannot be taken out of service, only hidden from the operator's pickers
Opened
#42 The check for records left behind by a key change skips customers
Opened
#43 Should someone who proves control of a delegated subdomain be allowed to claim it under a domain another member holds
Opened
#44 The wiki integration reaches into the domains registry directly instead of through the integration contract
Opened
#45 Wiki state and quota enforcement wait for the next poll instead of reacting to the change
Opened
#46 The core database seeds a resource key that belongs to the wiki integration
Opened
#47 The operator's list of wiki sites never shows the limit those sites count against
Opened
#48 Only one test stack at a time can serve browser sign-in to the wiki farm
Opened
#49 What the fourth number on the operator's landing page should be
Opened
#50 A warning about superseding a paid plan is a single symbol with no words
Opened
#51 Capabilities can be recorded as given to a person, and nothing can deliver them
Opened
#52 A deployment without its own website has no front door
Opened
#53 The console has not decided which of the newer front-end library features to use
Opened
#54 Five identity tables store a status the database does not constrain
Opened
#55 A deployment's own settings can only be changed by redeploying it
Opened
#56 A deployment cannot turn off an integration it does not offer
Opened
#57 An integration cannot supply the words that explain it on the pages it owns
Opened
#58 Starting an integration means copying the same mechanical files by hand
Opened
#59 The page that says what an integration needs is not the page where it is set
Opened
#60 Invoice numbers tell any member roughly how much business the deployment does
Opened
#61 Nothing stops a plan ladder from ending up with gaps in its order
Opened
#62 A plan ladder cannot be taken out of service
Opened
#63 The project lint never checks routes an integration registers
Opened
#64 The operator search does not say what it can find, and finds less than it promises
Opened
#65 Nothing stops a text colour that fails the contrast floor from being used again
Opened
#66 A member cannot tell which plan their benefits come from
Opened
#67 A member cannot download an invoice to pass on to whoever does their books
Opened
#68 A metered limit can cover one provider or all of them, with nothing in between
Opened
#69 Five of the HTTP middlewares have no tests of their own
Opened
#70 The model pages do not name the smaller models their rules imply
Opened
#71 Nothing in the console edits the rules that decide which subdomains may be carved
Opened
#72 An operator cannot archive, purge or reassign a wiki site from the console
Opened
#73 An operator cannot change a record's key from its page
Opened
#74 There is no way to see who holds the operator role
Opened
#75 An organization cannot invite another person to work on its sites
Opened
#76 A refusal aimed at a field the form does not have shows nothing at all
Opened
#77 An external system cannot be told when something changes in the console
Opened
#78 The operator has no single place showing what needs attention
Opened
#79 How the operator overview should total money when a deployment bills in several currencies
Opened
#80 What a payments provider port looks like, and which billing code belongs behind it
Opened
#81 A count of pools still waiting to be recomputed never says how long they have waited
Opened
#82 A plan change affecting many organizations applies one outcome to all of them
Opened
#83 Should buying two of something give twice the allowance, and where is that decided
Opened
#84 The person page shows its memberships table without the box every other record page uses
Opened
#85 A member cannot give a script access to their own account
Opened
#86 Should a personal organization's name follow the name of the person who owns it
Opened
#87 A domain that serves something other than a wiki site cannot be recorded as served
Opened
#88 A product cannot be sold as a bundle covering several plan ladders at once
Opened
#89 The plan ladders page and a ladder's own page hold their parts in no considered order
Opened
#90 Should the two operator pages for plans be one page
Opened
#91 On the organization page an allowance, its unit and the control that extends it do not read as one thing
Opened
#92 Nothing defines what a suspended or archived resource pool means
Opened
#93 A person who signs up from another site is not returned to it
Opened
#94 A price can be stored with an amount no page is prepared to show
Opened
#95 Every product carries a category that changes nothing
Opened
#96 A product's page does not say how many organizations hold it
Opened
#97 An operator cannot retire a product; the only way out of the catalog is deleting it
Opened
#98 Creating a product means creating something else first, and the product never shows what it delivers
Opened
#99 A product can point at a set of capabilities that does not exist
Opened
#100 The operator cannot see which payment-provider product a catalog product is mapped to
Opened
#101 Nothing checks that an integration can carry out the work it says it can
Opened
#102 The readiness section calls a product unpurchasable when it was never meant to be sold
Opened
#103 Two plan pages disagree about which end of the list the lowest tier goes
Opened
#104 Which endpoints need a rate limit, and where the limit lives
Opened
#105 The rule form always opens the reduction policy on Clamp, even where the provider can take usage back
Opened
#106 A refund or a dispute at the payment provider is invisible in the console
Opened
#107 When the proxy asks whether a domain may get a certificate, a refusal is logged without the domain
Opened
#108 Account registration still depends on a Keycloak-only endpoint
Opened
#109 A hosted subdomain a member gives up can be claimed by anyone the same minute
Opened
#110 An operator cannot ask which domains and sites an organization holds
Opened
#111 Nothing fails when a new source file ships with no licence header
Opened
#112 The operator role is found in the identity provider's token only at hard-coded claim locations
Opened
#113 There is no way to review which organizations a rule change recomputed
Opened
#114 A rule in a capability set can be added and deleted but never edited
Opened
#115 Two of the four kinds of rule an operator can write deliver nothing
Opened
#116 A rule can be written against a capability no configured provider delivers
Opened
#117 A grant cannot be queued to start when the current one ends
Opened
#118 The screenshot harness cannot reach a page's interaction states
Opened
#119 Taking screenshots resets the database and signs out whoever is using the console
Opened
#120 Screenshots change every day because some cells count from today
Opened
#121 Nothing says which file a new HTTP handler belongs in
Opened
#122 A returning member lands in whichever organization comes first and cannot reach the others
Opened
#123 Should capabilities be grantable without inventing a product to carry them
Opened
#124 Which migration stream owns the trigger function every schema uses
Opened
#125 Creating or deleting a wiki site holds the request open until the work finishes or a timer runs out
Opened
#126 A member cannot host a mirror of a wiki site that lives elsewhere
Opened
#127 What a stacking policy is for, and where an operator would choose one
Opened
#128 Workflow schedules from an earlier configuration keep running after a redeploy
Opened
#129 Nothing measures the storage a member uses, so no storage limit can be offered or enforced
Opened
#130 Should the holder of a domain be able to hand a subdomain to someone else's workspace
Opened
#131 A column named for a payment provider's event holds words that are not events
Opened
#132 Should a date in a table be the same size as the rest of the row
Opened
#133 Tabs, filter pills and navigation pills look alike and do three different things
Opened
#134 The banner calls every figure test data when the console only knows today's connection
Opened
#135 Should the plan overview grid list ladders down the side instead of across the top
Opened
#136 The rule tying a plan change to its direction is written down and not enforced
Opened
#137 A price stores a number of trial days that nothing honors
Opened
#138 Nothing records which members hold voting rights
Opened
#139 Whether a member may create a workspace has never been decided
Opened
#140 Nothing defines what a suspended or archived workspace means
Opened
#141 The console serves nothing, not even the certificate ask, until Temporal and the identity provider are reachable
Opened
#142 Forms: ShowIf reads server facts the handler passes to render and parse, not a hidden field that round-trips
Opened
#143 The screenshot harness has no Stripe subscription, so plan-change states are captured by hand
Opened
#144 The confirm dialog for "Cancel plan" offers "Cancel" as its way out
Opened
#145 The product flags mix up who can see a product, who can buy it and who can be given it
Opened
#146 A payment-provider event larger than 64 KB is cut off, fails its signature check and never reaches the console
Opened
#147 Outbox creates reuse Stripe idempotency keys across database lifetimes and are refused for good
Opened
#148 A past-due subscriber is shown their ladder as unheld and offered a second subscription
Opened
#149 The Stripe page's dead-letter tables print raw error chains, with the account id and request-log links
Opened
#150 Invoice detail pages omit payments, cards and the subscription
Opened
#151 The console has no time zone of its own: dates follow whatever zone the server process runs in
Opened
#152 A credit note at the payment provider is invisible in the console, even when it settles an invoice
Opened
#153 An org type's default ladder can start on a product that confers nothing, and then restoring the default fails
Opened
#154 The default comes back as a new grant each time, while a marked grant comes back as itself: two mechanisms for one idea
Opened
#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
Opened
#156 In a dense form row, a label that wraps pushes its control below the others
Opened
#157 Tier changes shows a payment-provider event's raw reason string instead of words
Opened
#158 What the operator's grants page is for, and whether an operator should issue and manage grants from it
Opened
#159 A member can end up paying for a tier below one they were granted, with the granted tier waiting behind it
Opened
#160 The Sources list under a member's entitlements leaves out the plan they pay for
Opened
#161 The Temporal authorization guide says a worker-role token can poll task queues; polling needs write
Opened
#162 Temporal stores workflow inputs, including members' names and sign-in identifiers, in plain text
Opened
#163 The Discourse webhook receiver stores members' email addresses in the raw event log
Opened
#164 What an unlimited numeric limit is, and how it is stored and delivered
Opened
#165 FedWiki's site usage is a running total that many code paths adjust; derive it instead
Opened
#166 Nothing looks for dead code, duplication, tangled functions or a value written from too many places
Opened
#167 Alerts are written by hand in about twenty variants, and the design system has no part for a notice
Opened
#168 The console has no notifications
Opened
#169 The console has rules for what copy to cut, but no guide for writing the copy that stays
Opened
#170 Every list of records is a table, and at mobile width tables scroll sideways
Opened
#171 An application outside the console cannot connect to it: there is no published protocol
Opened
#172 Nothing decides who enforces a numeric limit, or what happens when a connected application loses access
Opened
#173 A connected application cannot show anything inside the console
Opened
#174 FedWiki and Discourse are built into the console instead of connecting through the published contract
Opened
#175 Checkout and the plan switch do not enforce what the Products page offers
Opened
#176 No operator page shows a subscription's scheduled change, so a deferred cancellation reads as renewing
Opened
#177 A scheduled change is marked applied before Stripe carries it out, and is never retried
Opened
#178 The readiness panel says whether members can find a product by a rule the catalog no longer uses
Opened
#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
Opened
#180 Ending a plan's delivery runs the same four steps in three places, with the pool locked at different points
Opened
#181 A batch of rule changes has no record of its own, so its first change stands in for it
Opened
#182 Nothing says which billing account is an organization's own, and three paths take the oldest
Opened
#183 Whether a catalog object or customer reached Stripe is recorded in two places
Opened
#184 A swap of the active site is stored as two single-site requests held together by naming conventions
Opened
#185 A form declaration can hold settings its layout family never reads
Opened
#186 Locks are written out at each call site, with four key conventions and no written order
Opened
#187 Plan-wide changes to ladders and defaults run inside HTTP handlers, each with its own transaction shape
Opened
#188 Finding which tier an organization holds on a ladder is a loop written five times
Opened
#189 The grants listing query is written twice, and only its delivery state is checked for drift
Opened
#190 Each page's template set is assembled in its own place, and the lint and tests assemble stand-ins
Opened
#191 Tests build their data and check their pages by hand, with one copy of each helper per package
Opened
#192 Tests share one database and global settings, so packages must run one at a time
Opened
#193 The subscription reconcile changes provision status without the pool lock
Opened
#194 Adding a tier locks pools in creation order, while other paths sort them by pool id
Opened
#195 A refused plan switch answers 200 and replaces the preview with the plans
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
Opened
#218 Conferring a product on two ladders writes its tier-change rows in no fixed order, so a golden test fails now and then
Opened
#219 A member's downgrade is lost when a reconcile releases the old schedule the downgrade has just reused
Opened
#220 The copy rules are checked two different ways, and some sentences a person reads are checked by neither
Opened
#221 Some HTTP handlers still open their own transaction or run hand-written SQL
Opened
#222 A create or a settings save sometimes lands without its success toast, so two walkthroughs fail now and then
Opened
#223 Five tests check less than their names or comments say
Opened
#224 The test kit opens whatever database TEST_DATABASE_URL names, the application's included
Opened
#225 List queries can end their sort on a column two rows share, and nothing checks the last sort key
Opened
#226 Nothing catches a subtest that calls a fixture built on its parent test's t
Opened
#227 No tool in the repository checks that a change keeps every test name and result
Opened
#228 Should a generated-mutant report run over the packages whose tests need no database?
Opened
#229 Removing a request whose workflow never started takes no instance lock, so a repeat of it can be answered as a conflict
Opened
#230 A verified custom domain offers to create a site when the console cannot read whether one is already there
Opened
#231 A failed read of the sites entitlement tells the member they have reached their site limit
Opened
#232 Sign-in is refused when one ID token claim has an unexpected type, even a claim the console never reads
Opened
#233 A downgrade on a subscription with two items removes the other item at Stripe
Opened
#234 A request with the wrong method is told the page does not exist, never 405
Opened
#235 Should pure functions get property-based tests beside their examples?
Opened
#236 The FedWiki walkthrough fails on networks whose DNS drops loopback answers
Opened
#237 A large tier removal or add is refused; the tier should retire and drain instead
Opened
#238 A change to an org type's default plan or a ladder's tier order cannot carry a note saying why
Opened
#239 Operator errors point to the server logs but give no reference to find the line by
Opened
#240 Creating a workspace for an organization without a default pool creates one with no plan
Opened
#241 The create-workspace route answers any signed-in member while its control is hidden
Opened
#242 migrate down undoes the last integration's newest migration, not the most recently applied one
Opened
#243 The default change, the reorder and the tier removal each rebuild a refused preview in their own code
Opened
#244 The repository has no code of conduct
Opened
#245 The retention purge can delete a site a member is restoring
Opened
#246 A site archived on the farm outside the console is never purged, and one archived twice can be purged at once
Opened
#247 A FedWiki site's name can keep the wrong certificate answer after a status change
Opened
#248 A create reconcile gives up after three database errors and leaves the site pending until the next boot
Opened
#249 Inbound webhook events are kept forever
Opened
#250 Error messages put members' email addresses and forum usernames into the console's logs
Opened
#251 The env setting only picks the log format, and the image sets an ENV the console never reads
Opened
#252 Objects in each schema belong to the user that runs migrations, not to the schema's owner role
Opened
#253 Nobody is told when the console serves without Temporal, its identity provider or its session store
Opened
#254 Decide whether the domains system should live inside the console
Opened
#255 A past-due subscription loses its plan at once, with no grace period
Opened
#256 A member cannot change the card their subscription charges
Opened
#257 A Checkout page opened before a plan was bought can still buy that plan's ladder a second time
Opened
#258 An add-on whose payment is due shows no state and is offered again
Opened
#259 Package tests run every query as the cluster's superuser, so a privilege the runtime role lacks shows only in the running console
Opened
#260 member-console start handles no stop signal, so a stop cuts in-flight requests and never stops the Temporal worker
Opened
#261 A grant with an end date stays active past it when its expiration workflow fails to start or fails
Opened
#262 A session the console cannot decode answers the error page on every request until it expires
Opened
#263 Screen captures of the Stripe integration page depend on whether the console's Stripe reads finished before the capture
Opened
#264 The console's database pool keeps a search_path from db-dsn, while the documentation and the spec say it uses core,public
Opened
#265 No test runs the Temporal activity or the boot step that keep webhook event partitions ahead of need
Opened
#266 An interrupted test run leaves its roles in the shared test cluster, and test/reset-test-db.sh drops none
Opened
#267 A Stripe webhook event is dispatched again when its final status update fails
Opened
#268 The integration guide's configuration section omits ConfigKey's Type, Enum and Positive fields
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