feat(store): trust gate before every module install
Some checks failed
Security / Security check (push) Failing after 2s
Some checks failed
Security / Security check (push) Failing after 2s
One-click installs showed no trust signal at all (top security finding of the usertest panel). Every install path — store card, detail sheet, and the flow list's quick fix — now routes through one confirmation dialog showing what the hub actually knows before download: origin store, version, license, maturity, and required services/capabilities, plus the sandbox model and an honest note that per-entry signature status is not in the store index yet (verification happens hub-side at install). Widget tests cover content and confirm/cancel semantics. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
c253f5d23e
commit
039f11b6bc
10 changed files with 477 additions and 0 deletions
|
|
@ -193,6 +193,11 @@ class _StorePageState extends State<StorePage> {
|
|||
|
||||
Future<void> _install(StoreItem item) async {
|
||||
if (!mounted) return;
|
||||
// Trust gate: provenance + sandbox/signature context BEFORE
|
||||
// anything is downloaded (usertest: one-click install with
|
||||
// no visible trust signal was the top security finding).
|
||||
final confirmed = await ChainInstallConfirmDialog.show(context, item);
|
||||
if (!confirmed || !mounted) return;
|
||||
final outcome = await showDialog<bool>(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
|
|
@ -2293,6 +2298,11 @@ class _StoreDetailSheetState extends State<_StoreDetailSheet> {
|
|||
}
|
||||
|
||||
Future<void> _install() async {
|
||||
// Same trust gate as the store card — the detail sheet's
|
||||
// install button must not be a quieter bypass.
|
||||
final confirmed =
|
||||
await ChainInstallConfirmDialog.show(context, widget.item);
|
||||
if (!confirmed || !mounted) return;
|
||||
setState(() {
|
||||
_busy = true;
|
||||
_toast = null;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue