Skip to content

Release: develop -> main - #1420

Merged
TaprootFreak merged 4 commits into
mainfrom
develop
Aug 24, 2026
Merged

Release: develop -> main#1420
TaprootFreak merged 4 commits into
mainfrom
develop

Conversation

@github-actions

Copy link
Copy Markdown

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

* Add Playwright baseline for the call-queue outcome signature

* Assert call-queue signature comes from the clerk endpoint

* Pin Zurich timezone and declare the call-queue outcome fake

* Crop the outcome baseline to the signature form

* Declare the synthetic JWT and use a German handbook title
TaprootFreak and others added 3 commits August 22, 2026 22:05
…#1422)

* Show user id and name on pending RealUnit quotes and hide deactivated rows

* Assert the Name column in the RealUnit quotes full-stack list test

* Avoid a non-null assertion in the RealUnit home screen test

* Add RealUnit pending-quotes visual baselines and handbook coverage

* Screenshot the dashboard pending table and declare staff GET mocks
…gistration (#1423)

* Add RealUnit monitoring charts for volume, holders, and registration

Staff dashboard now shows completed buy volume, on-chain holders over
time, and the registration funnel from the new admin stats endpoints.

* Fix RealUnit chart timeframe races and document stats fakes

Stats load on their own effect, timeframes update only after a successful
fetch, and the dashboard tests plus reality declaration cover the new
admin stats fixtures.

* Cover RealUnit stats loading and optional funnel tiles

Spinner and empty-snapshot branches for the new dashboard charts now
have unit coverage.

* Ignore stale RealUnit stats responses when timeframe changes

Each stats fetch keeps a request id so an older chart response cannot
overwrite a newer timeframe or clear its loading state.

* Cover stale RealUnit stats responses in context tests

Overlapping timeframe fetches now assert that an older success or
error cannot overwrite the current series, loading flag, or error
state.

* Hide the registration funnel until stats are loaded

The funnel no longer renders zeros on a failed first fetch, and
the screen tests cover refetch-while-loading plus the empty error
state.

* Drop dead snapshot guards in the registration funnel

stats is required, so the extra truthiness checks on snapshot
were unreachable branches.

* Keep the dashboard bootstrap effect from refetching in-flight lists

Length and tokenInfo were in the effect deps, so the first resource
to resolve retriggered quotes and transactions at offset 0 and
appended a duplicate page.

* Bootstrap RealUnit lists once and tighten public docs

A ref stops holder/quote identity changes from refetching empty
lists at offset 0. The reality declaration and handbook blurb now
match what the dashboard spec actually proves.

* Bootstrap RealUnit stats once and cover the StrictMode path

The stats effect now uses the same one-shot ref as the list
bootstrap, and a StrictMode test asserts both run only once.

* Add RealUnit dashboard handbook screenshots for the new charts

Baselines now cover buy volume in CHF and shares, holders over
time, and the registration funnel, plus the existing pending table.

* Redraw registration as a bar-style conversion funnel

Replace the KPI tiles and line chart with sequential bars
(Registered → Completed). Width is proportional to the head
count, drop-off is manual review, and confirmed stays a
caption because grandfathered rows can complete without a
confirmation latch.

* Show quote customers as address instead of user id

Pending quotes listed a User column with the internal user id.
Staff identify customers by wallet address, so that column is
now Address. Quote detail and received transactions use the
same label.

* Drop unused RealUnit user-status translation keys

The registration funnel no longer shows those tiles, and quotes
identify the customer by address instead of a User column.

* Copy pending quote addresses on click with copied feedback

Clicking the address in the pending table copies the full wallet
address without opening the quote. A copy icon and a Copied label
confirm the action. The quotes list uses the same control.
Repeat now releases this one transaction through the new API endpoint, writes no check date on the account, and no longer offers an AML action. Pass stays Admin-only; the pipeline still decides the verdict.
@TaprootFreak
TaprootFreak merged commit 547872f into main Aug 24, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants