Skip to content

chore(controller): Phase 0 tech-debt guardrails — tests + CI gate - #4

Merged
luisguzman-adfa merged 3 commits into
mainfrom
chore/phase0-guardrails
Jun 17, 2026
Merged

chore(controller): Phase 0 tech-debt guardrails — tests + CI gate#4
luisguzman-adfa merged 3 commits into
mainfrom
chore/phase0-guardrails

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator

Extract framework-free SystemStatsUtil (parseMemLine, getDebianArch) from DashboardFragment and add the first JVM unit tests, plus a blocking unit-test step in CI. First step of the phased remediation plan in controller/docs/TECH_DEBT_PLAN.md.

  • Add SystemStatsUtil with parseMemLine/getDebianArch; DashboardFragment delegates (parseMemLine now trims input, fixing a latent crash on leading whitespace).
  • build.gradle: testOptions.unitTests.returnDefaultValues=true + org.json test dep.
  • Add SystemStatsUtilTest (14 cases) and SyncHandshakeHelperTest (round-trip/parse).
  • CI: add blocking testDebugUnitTest step; run lintDebug as non-blocking report.

Extract framework-free SystemStatsUtil (parseMemLine, getDebianArch) from
DashboardFragment and add the first JVM unit tests, plus a blocking unit-test
step in CI. First step of the phased remediation plan in controller/docs/TECH_DEBT_PLAN.md.

- Add SystemStatsUtil with parseMemLine/getDebianArch; DashboardFragment delegates
  (parseMemLine now trims input, fixing a latent crash on leading whitespace).
- build.gradle: testOptions.unitTests.returnDefaultValues=true + org.json test dep.
- Add SystemStatsUtilTest (14 cases) and SyncHandshakeHelperTest (round-trip/parse).
- CI: add blocking testDebugUnitTest step; run lintDebug as non-blocking report.
@luisguzman-adfa luisguzman-adfa added the enhancement New feature or request label Jun 17, 2026
@luisguzman-adfa
luisguzman-adfa merged commit cdfdca3 into main Jun 17, 2026
2 of 3 checks passed
@luisguzman-adfa
luisguzman-adfa deleted the chore/phase0-guardrails branch June 18, 2026 18:55
luisguzman-adfa added a commit that referenced this pull request Jul 28, 2026
…er, tests

- #1 Guard overlayTitle in onDone (was an NPE if the overlay was hidden first).
- #3 Add the K2GoFQR bridge only on the /maps/ page (prepareForUrl, called before each load
  from PortalActivity's initial load + shouldOverrideUrlLoading) and remove it elsewhere,
  shrinking the JS surface (methods still guard on 'active').
- #4 Connect the delete MutationObserver ONLY while the trash tool is on (extract fires on
  Next now, so the observer is delete-only) -> no observer churn during normal map use.
- #6 Make isMapsPage pure-string (no android.net.Uri) and add package-private validName/
  validBox + boundsOf; unit-test them (FqrControllerTest, plain JVM + real org.json).
luisguzman-adfa added a commit that referenced this pull request Jul 30, 2026
…n, lifecycle guard

- #1: mount the feedback FAB on LibraryActivity only at boot-gate dismiss (onServerReady), so it
  never floats over the boot animation / install progress; and remove it from SetupProgressActivity
  (the install index is itself a progress/gate surface). Wizard + Get More keep it (normal screens).
- #2: installOn(activity, screenTag, bottomMarginDp) overload — LibraryActivity passes 88dp to clear
  the bottom nav; nav-less screens use the default 16dp (flush).
- #4: guard the async screenshot callback with isFinishing()/isDestroyed() before using the activity.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant