docs backend evidence community safety CS08B_HELPFULNESS_VIEW - AlexandreZanata/Abastevo GitHub Wiki
CS08B — Helpfulness ViewModel, panel, DI, guest
Date: 2026-10-11. Status: LOCAL_DONE. Scope: ViewModel, panel,
strings, DI bindings, guest — no feed wiring, no VPS/APK. Head:
maintained dev.
Plan: phased plan,
CS08A client. Rules: B-BR-CS01.
Added (mirrors the vote stack)
CommunityHelpfulnessViewModel: Disabled/Guest/Idle/Loading/ Content/Submitting/Rejected. Flag OFF and blank account perform no network IO; stable submission id minted at prepare; single flight (second tap ignored); counts + choice + review notice from exact tallies; fixed-kind sanitized rejections; retry reloads.CommunityHelpfulnessPanel: counts, selected choice, review notice, vote/remove buttons,Denunciardelegating to the host dispute flow (never reports itself), guest free-login card. TalkBack via a pure description helper (counts + choice + notice); MaterialTheme type scales for large text, no fixed heights.- 15 English strings;
under_reviewadded to the tally DTO with a default (backwards compatible) and parsed fromunder_review. - DI: client provider, flag/gateway binds, use-case provider.
Validation (actual)
- ViewModel 6/6 (disabled/guest silence, tally content, stable id,
single flight, explicit rejection) with
runTest(dispatcher). - A11y 4/4 (counts/choice/notice composition, blank ignored).
- Hilt bindings proven by the compiling test run (MissingBinding seen pre-DI, green after); full debug compile successful.
git diff --checkclean.
Limits / owed
- Card placement in feed/detail screens and Denunciar host wiring: screen work, not started (no per-card network calls added).
- Portuguese product copy: values/ is English-only; translation pass later. Device matrix: CS14-owned.
Next microtask: CS09 — consent/inventory/rights (server).