Skip to content

Conversation

@pophilpo
Copy link
Contributor

@pophilpo pophilpo commented Dec 18, 2025

Refactor orb-backend-status

This PR refactors orb-backend-status into a more modular and testable implementation, fixes reliability issues and adds some new changes. Partially tested on the orb, need the test recent changes again.

I understand this is a big PR to review a lot of stuff was changes, so I had a 1:1 review call with @vmenge and am okay with making another one if someone wants to go through this

Main changes

  1. Serve Dbus as soon as possible, so that other crates can access it
  2. Do not fail anywhere (e.g. token missing, no connectivity )
  3. Add logic for urgent notifications that are easy to add
  4. Add integration tests

Service core loop

  1. Regular updates are polled + sent every 30 seconds
  2. If something is urgent ( currently only reboot notification from update-agent, or SSID change from connd) -> send immediately
  3. Sending is gated by connectivity and token. If no internet or no token, the service will not try to send, and wait for conditions to be met
  4. If sending fails (e.g. backend returns 500) it will retry with a backoff

@pophilpo pophilpo requested a review from a team as a code owner December 18, 2025 17:48
@pophilpo pophilpo changed the title Pophilpo/backend status refactor(orb-backend-status): improve reliability, testing capabilities and logic Dec 18, 2025
@pophilpo pophilpo marked this pull request as draft December 18, 2025 18:01
@pophilpo pophilpo marked this pull request as ready for review December 19, 2025 15:54
@pophilpo pophilpo self-assigned this Dec 26, 2025
@pophilpo pophilpo merged commit 5fbb183 into main Dec 29, 2025
24 checks passed
@pophilpo pophilpo deleted the pophilpo/backend-status branch December 29, 2025 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants