Skip to content

Conversation

@connorgallopo
Copy link
Collaborator

@connorgallopo connorgallopo commented Sep 1, 2025

Description

This PR is a full rewrite of how we handle the webserver to display PiTrac shot metrics.

What does this PR do?

This PR deprecates the Tomee UI in favor of a lighter Python implementation. It still relies on the ActiveMQ backend, but should be much less resource intensive and easier to maintain!

Why is this change needed?

The current Tomee implementation of the ui is heavy, and is dependency heavy. We have seen lots of issues around how it checks for updates and the performance of running PiTrac. This is an implementation to start down the path of pulling out the Tomee code and moving to something lighter and more configurable.

Related Issue(s)

Closes #

Changes Made

Testing Performed

Test Environment

  • Pi Model:
  • Camera Type:
  • OS Version:
  • Installation Method:

Test Results

  • pitrac test hardware passes
  • pitrac test camera passes (if camera-related)
  • pitrac test pulse passes (if strobe-related)
  • Simulator integration tested with:
  • Performance metrics:

Test Commands Run

# Paste the actual commands and output

Performance Impact

  • Before:
  • After:
  • Impact:

Breaking Changes

  • This PR includes breaking changes
    • What breaks:
    • Migration steps:

Dependencies

  • No new dependencies
  • [ ] New dependencies added:

  • [ ] Updated dependencies:

Hardware Compatibility

  • Tested on Pi 5
  • Tested on Pi 4
  • Tested with single Pi setup
  • Tested with dual Pi setup

Documentation

  • No documentation needed
  • Documentation updated in this PR
  • Documentation PR to follow
  • Updated relevant sections:
    • README
    • Hardware guide
    • Software guide
    • Troubleshooting guide

Screenshots/Videos

image image image

Checklist

Code Quality

  • Code follows existing patterns and conventions
  • No unnecessary comments added
  • Error handling implemented appropriately

Build & Test

  • Successfully builds with ./packaging/build.sh build
  • All existing tests pass
  • New tests added for new functionality
  • Tested on actual Raspberry Pi hardware (not just CI)

Submission Requirements

  • Commits squashed if needed (git rebase -i HEAD~n)
  • CLA signed
  • PR title follows format: [PR TYPE] Brief description
  • Branch is up-to-date with main

Additional Context


@jeshernandez
Copy link
Collaborator

I love this. I can't wait to see the final PR.

@connorgallopo connorgallopo force-pushed the feature/python-webserver branch from 0f301a5 to ea054f7 Compare September 10, 2025 13:23
@jamespilgrim jamespilgrim marked this pull request as ready for review September 16, 2025 13:14
Copy link
Collaborator

@jamespilgrim jamespilgrim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Saying that I reviewed this is kind of funny. I instead sort of stood to one side, looked in the direction of the code, and respectfully bowed to the great tower of work that this represents.

Fire when ready, Gridley.

@jamespilgrim jamespilgrim merged commit 0ab6591 into PiTracLM:main Sep 16, 2025
5 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Sep 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants