Module ResolveUIRequest

Module ResolveUIRequest 

Source
Expand description

§ResolveUIRequest (Track)

§RESPONSIBILITIES

This module provides a Tauri command handler for the UI to send back the result of a request-response interaction (like a dialog or message box).

§Core Functions:

  • Look up pending UI request by ID
  • Remove request from pending requests map
  • Send result through oneshot channel
  • Handle dropped receiver errors gracefully

§ARCHITECTURAL ROLE

ResolveUIRequest acts as the UI response handler in Track’s dispatch layer:

UI (Frontend) ──► ResolveUIRequest ──► Complete Pending Request ──► Return Result

§KEY COMPONENTS

  • Fn: Main UI request resolution function (public async fn Fn)

§ERROR HANDLING

  • Unknown or timed-out requests are logged as warnings
  • Dropped receiver errors are logged and returned as errors
  • Lock errors on pending requests map are propagated

§LOGGING

  • All UI request resolutions are logged at debug level
  • Unknown/timed-out requests are logged at warn level
  • Dropped receiver errors are logged at error level
  • Log format: “[Track/UIRequest] Resolving UI request ID: {}”

§PERFORMANCE CONSIDERATIONS

  • Minimal locking duration on pending requests map
  • Fast lookup and removal from HashMap
  • Non-blocking channel sends

§TODO

  • Add request timeout handling
  • Implement request cancellation support (VS Code compatibility)
  • Add request metrics and telemetry

Functions§

ResolveUIRequest
A specific Tauri command handler for the UI to send back the result of a request-response interaction (like a dialog or message box).