Skip to content

feat: figure out UI definitions, as well as whether to send UI definitions from serverside to clientside and let modules on the clientside determine when and how to render some of them #2

Description

@DexrnZacAttack

no clue how this should be done but I don't want to require modules for absolutely everything, so I would like to somehow let the server send the client UI shit to render on it's own with buttons that send stuff to the server onclicked

Activity

  1. DexrnZacAttack commented on Aug 13, 2026

    @DexrnZacAttack
    MemberAuthor

    I think what I'll do is allow the server to send the client basic widget definitions

    the client will hold a service that builds those definitions into avalonia objects, and also allow modules to add their own builders.
    the server will also be able to send pages and such, and when buttons are clicked the client will just ask the server to do something, sometimes involving telling the client to do something again.

    the only concern I have is the speed of this system, because what if the user is farther away from the server and has like upwards of 300ms ping... I would have to try to cache some stuff and maybe add some smarter helpers (like some PageButton that switches the page before calling to the server to refresh data for it...)

  2. DexrnZacAttack commented on Aug 13, 2026

    @DexrnZacAttack
    MemberAuthor

    okay I'm thinking to let the server send the client a keyed widget, the client won't give a shit about keeping it in sync and will render it regardless but the server will push updates for these widgets with their ID...
    this should allow the UI to stay fast and keep the amount of control that it should have for arbitrary scanner types.

    flow would be like create widget -> update widget -> (at the end) delete widget

  3. moved this from Backlog to In progress in UniScanon Sep 2, 2026
  4. added this to the 1.0.0 milestone on Oct 31, 2026
  5. moved this from In progress to Ready in UniScanon Oct 31, 2026
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

    enhancementNew feature or request

    Fields

    Priority

    High

    Effort

    High

    Projects

    • Status
      Ready

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions