Skip to content

Upgrade NiceGUI from 2.24.2 to 3.16.0 #99

Closed

Description

@itdove

Objective

Upgrade the NiceGUI dependency and dashboard integration from the currently locked 2.24.2 release to NiceGUI 3.16.0.

Current state

  • pyproject.toml declares nicegui>=2.0,<3.0.
  • uv.lock resolves NiceGUI 2.24.2.
  • The dashboard is implemented under src/lore/dashboard/ and uses app.add_static_files, @ui.page, tabs/tab panels, tables, dialogs, Markdown, run.io_bound, ui.navigate.to, and ui.run.
  • Existing coverage is primarily CLI parsing and store/page-state behavior; there is no end-to-end browser smoke test for the dashboard.

Scope

  • Update the supported NiceGUI constraint to include or pin the 3.16.0 target and regenerate uv.lock.
  • Review and adapt all NiceGUI usage in src/lore/dashboard/ for 3.x compatibility, including table row/column updates, page lifecycle/navigation, async callbacks, static assets, dialogs, and layout styling after the Tailwind 4 transition.
  • Preserve existing dashboard behavior: startup/configured-state handling, overview metrics, browse/detail views, individual CRUD with audit reasons, conflict resolution/merge, sync actions/status, capture history, logs, configuration editing, and promotion links.
  • Keep Python 3.10 support and avoid unrelated dependency or feature changes.

Acceptance Criteria

  • pyproject.toml accepts NiceGUI 3.16.0 and uv.lock resolves exactly 3.16.0 with reproducible dependency metadata.
  • The dashboard imports and launches successfully with NiceGUI 3.16.0 using the documented host/port options and serves its static assets.
  • All dashboard tabs render without server-side exceptions, including overview, browse, new/edit/delete entry flows, conflicts, sync, capture, logs, and config.
  • Interactive behaviors continue to work: tab navigation, refresh/clear-and-rebuild containers, table rendering and updates, dialogs/notifications, async sync, and ui.navigate.to flows.
  • Add or update automated tests covering any changed compatibility-sensitive behavior; the full test suite and lint checks pass.
  • Perform a manual browser smoke test against a configured demo database and document the result.

References

Activity

  1. self-assigned this
    on Sep 8, 2026
  2. itdove commented on Sep 8, 2026

    @itdove
    OwnerAuthor

    Pull request created: #100

  3. itdove commented on Sep 8, 2026

    @itdove
    OwnerAuthor

    ✅ Session Complete

    Project: lore
    Goal: #99: Upgrade NiceGUI from 2.24.2 to 3.16.0
    Time Spent:
    2h 40m total

    • itdove: 2h 40m
    • unknown: 0h 0m
      Branch: 99

    No significant activity detected in this session.

    Session Notes:

    Session Notes: itdove-lore-99

    JIRA: #99

    2026-09-08 16:11

    • NiceGUI upgrade implementation underway: pyproject and uv.lock now pin nicegui==3.16.0; dashboard page/static lifecycle compatibility covered; 663 tests pass with elevated cache access; live configured dashboard HTTP smoke returned 200 and served /static/lore-logo.png. CUA browser provider unavailable, so interactive browser smoke remains pending.

    Generated by DevAIFlow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions