Log 100% of user/app actions to the activity log #40

Closed
opened 2026-07-05 21:46:20 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-07-05 21:46:20 +00:00 (Migrated from github.com)

Every action that takes place in the application should be recorded in the activity log, so the log is a complete audit trail of what happened in a session.

Ask

Audit every user-initiated and app-initiated action and ensure each writes an IActivityLog entry. Coverage should include, at minimum:

  • Connection/loading: token entered (never the value), org lookup started/finished/failed, load repos started/finished/failed. (load is partially logged today.)
  • Sync lifecycle: already logged (start/summary/per-repo failure) — confirm parity.
  • Accounts: account added, edited, deleted; Sync All start/finish and per-account queue transitions.
  • Path recovery: resolve invoked, recovery applied/failed (partially logged).
  • Settings: settings saved (which fields changed, never the token), default token stored/removed, theme change, splash setting change.
  • Updates: check started, up-to-date / update-available (version), download+apply started, applied/failed.
  • Navigation/dialogs (lightweight): opening the log viewer, About, wizard; folder opened; GitHub link opened.
  • App lifecycle: startup (version + build hash), shutdown, unhandled-exception net (already logs).

Constraints

  • Never log secrets — tokens must never appear (existing rule).
  • Keep entries human-readable and greppable; use Info for normal actions, Error for failures.
  • Business logic lives in gclo.ViewModels / gclo.Engine; the log is already injected there, so most additions are one-liners at the action sites. Add tests asserting key actions log (the log is an injectable seam).

Definition of done

A checklist of app actions, each mapped to a log call, reviewed so nothing user-visible happens silently.

🤖 Generated with Claude Code

Every action that takes place in the application should be recorded in the activity log, so the log is a complete audit trail of what happened in a session. ## Ask Audit every user-initiated and app-initiated action and ensure each writes an `IActivityLog` entry. Coverage should include, at minimum: - **Connection/loading:** token entered (never the value), org lookup started/finished/failed, load repos started/finished/failed. *(load is partially logged today.)* - **Sync lifecycle:** already logged (start/summary/per-repo failure) — confirm parity. - **Accounts:** account added, edited, deleted; Sync All start/finish and per-account queue transitions. - **Path recovery:** resolve invoked, recovery applied/failed (partially logged). - **Settings:** settings saved (which fields changed, never the token), default token stored/removed, theme change, splash setting change. - **Updates:** check started, up-to-date / update-available (version), download+apply started, applied/failed. - **Navigation/dialogs (lightweight):** opening the log viewer, About, wizard; folder opened; GitHub link opened. - **App lifecycle:** startup (version + build hash), shutdown, unhandled-exception net (already logs). ## Constraints - **Never log secrets** — tokens must never appear (existing rule). - Keep entries human-readable and greppable; use Info for normal actions, Error for failures. - Business logic lives in `gclo.ViewModels` / `gclo.Engine`; the log is already injected there, so most additions are one-liners at the action sites. Add tests asserting key actions log (the log is an injectable seam). ## Definition of done A checklist of app actions, each mapped to a log call, reviewed so nothing user-visible happens silently. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/gclo#40