Skip to content

Set view: rationale, sources, history and the per-item diff rendered progressively #2574

Closed

Description

@pournasserian

Part of #2422 (F-DSK). Second slice: the set view (DSK-03) with the per-item diff rendered progressively (PERF-04). Read only: the review actions are the next slice.

Scope

  • Admin: /sets/{id} shows one change set. The desk's queues link to it instead of the set's audit history.
    • The rationale, the state, who opened it and when, and when it entered its state.
    • The sources. A source that is an http or https URL opens in a new tab. Any other source, such as a file name or a person, is shown as text and is never a link.
    • The set it reverts, linked, and the rejection reason of a rejected set.
    • The history: every event whose subject is the set, oldest first, with who made each move and when. Read through IAuditReader.
    • Check results: the set's state says whether checks passed or failed. Stored results per check arrive with the check run on every set (CHK-03, F-CHK F-CHK: Check engine with deterministic and LLM-judged checks #2420). Until then the section says so.
    • The routing decision: routing rules and their evaluation (Add routing rules and their evaluation #2565) are not on v2 yet, so the section says that routing has not decided. The desk shows IChangeSetRouting.RouteAsync (the disposition, the rules that applied with their reasons, and the items no rule matched) in the slice after Add routing rules and their evaluation #2565 merges.
    • The items: the merged DiffView (Add the DiffView component #2479) inside an interactive island that reads IChangeSetDirectory.DiffAsync. The first 25 items arrive with the page and the circuit adds the rest in batches (PERF-04). The rest of the page stays static, so it reads and links without a circuit.
  • An unknown set id gives the not-found page.
  • Strings through IStringLocalizer, logical utilities only, components from Components/Ui only.

Out of scope

  • Approve, reject, revert and edit, and the sample selector: the next slices.
  • Keyboard batch review: a later slice.
  • Item names in the diff (the diff model carries ids): later, when the desk reads each item.
  • Check results per check (CHK-03): needs the check run on every set.

Acceptance

  • A set opened by an agent shows its rationale, sources, state, history and items. A URL source is a link that opens in a new tab with rel="noopener noreferrer", and a javascript: or file source is not a link.
  • A revert set links to the set it reverts, and a rejected set shows its reason.
  • A set of 200 items renders its first 25 items with the page and the rest progressively over the circuit.
  • An unknown id answers 404, and an anonymous request goes to sign-in.
  • The view renders with dir="rtl" using logical utilities only.
  • Integration tests pass on SQLite and PostgreSQL.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:featureNew capabilityv2FluentCMS v2 (v2 branch)

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions