Story: Counterparty pagination and polish

Table of Contents

This page documents a story in Sprint 12. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Bring counterparty up to the same pagination story as party; land a full business-centres CRUD surface; tidy the lingering identifier-cardinality + non-Latin issues.

Status

Field Value
State DONE
Parent sprint Sprint 12
Now Completed 2026-02-14.
Waiting on None.
Next None.
Last touched 2026-02-14

Acceptance

  • Counterparty paginated end-to-end; protocol 31.0.
  • Business centres: backend + Qt UI + history; country_alpha2_code derived.
  • max_cardinality on identifier schemes; ResizeToContents standard; window-settings persistence centralised.

Tasks

Task State Start End Description
Add pagination to counterparty DONE 2026-05-19 2026-02-12 offset/limit on get_counterparties_request; total_available_count on response; ClientCounterpartyModel with load_page + fetchMore + set_page_size; PaginationWidget in CounterpartyMdiWindow; protocol bump 31.0.
Add support for business centres DONE 2026-05-19 2026-02-12 business_centre domain type end-to-end: database entity, mapper, repository, service, protocol (0x1061-0x1068), data generator, eventing, JSON + table I/O; Qt UI with paginated list + detail dialog + history; country_alpha2_code column with derivation.
Improvements to counterparty and party UI DONE 2026-05-19 2026-02-14 max_cardinality on identifier schemes (BIC dedup); rename 'Business Center' → 'Centre'; merge transliterated names into Name column with non-Latin detection; ResizeToContents standard; centralised window-settings persistence in EntityListMdiWindow.

Decisions

max_cardinality on schemes
closes the BIC dedup bug at the schema level rather than handler.
EntityListMdiWindow as the persistence base
per-window settings code was drifting; centralise.

Out of scope

  • Counterparty advanced (5-tab) dialog — separate story.

See also

None.

Emacs 29.1 (Org mode 9.6.6)