Skip to content

POTA/SOTA: surface activation context in the TUI and GUI #534

Description

@rtreit

Parent: #384

Summary

Expose durable POTA/SOTA activation sessions consistently in the TUI and Avalonia GUI after the engine, reference, and CLI vertical slices are established.

Operator workflow

  • Start, resume, inspect, and stop an activation.
  • Search or enter local park/summit references.
  • Keep active program, local references, elapsed time, and QSO count visible without consuming excessive logging space.
  • Automatically apply active local references to new QSOs.
  • Provide a fast worked-reference field for P2P/S2S contacts.
  • Show reference validation and catalog metadata without blocking save when offline.
  • Allow correction of session assignment and portable references from QSO detail/edit surfaces.
  • Use activation location as the effective origin for map, distance, and bearing features.

Interaction requirements

  • Preserve keyboard-first entry and focus behavior.
  • Keep TUI and GUI semantics aligned.
  • Do not require a modal interaction for every QSO.
  • Warn before replacing an already active session.
  • Make offline/stale catalog state visible but non-blocking.
  • Distinguish a stopped activation from an active one clearly.

Testing and inspection

  • View-model/state tests for both surfaces.
  • Keyboard navigation and focus tests where supported.
  • UX capture for significant Avalonia visual changes.
  • Tests for active context, P2P entry, stop/resume, and correction flows.

Acceptance criteria

  • High-frequency QSO entry is no slower than ordinary logging.
  • The active session and local references are always discoverable.
  • TUI and GUI create equivalent engine records.
  • Portable location changes map origin without overwriting the permanent station profile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions