Pluton / Visual Lab
Subtle - Hardcore

[Blocker] feat(phase8): Multiple Store Management + Activity Log store_id fix

Published on May 5, 2026

# POS DRW Skincare Naik Level: Kelola Multi-Toko, Log Aktivitas Transparan --- ### Raw Commit Data ## GitHub Update **Repository:** [MKWcorp/POS-DRW-Skincare](https://github.com/MKWcorp/POS-DRW-Skincare) **Author:** multimediadrw **Date:** 5/5/2026, 10:20:39 PM **Commit:** [`3dfd289`](https://github.com/MKWcorp/POS-DRW-Skincare/commit/3dfd28949180e6c77f511eb7836477d8ad307dd4) ### Commit Message feat(phase8): Multiple Store Management + Activity Log store_id fix ## Multiple Store Management - Add MultipleStoreScreen with full CRUD (add branch, invite member by email, remove member) - Add mobile_store_management_repository.dart (4 new endpoints) - Add multiple_store_provider.dart (MultipleStoreNotifier) - Add multiple_store_dialogs.dart (AddStoreDialog, InviteMemberDialog) - Add store_management_card.dart (expandable store card + member tiles) - Strict owner-only router guard for /multiple-store - Fix menu guard: remove UserRole.admin exception, owner-only - MULTI_STORE_DISABLED graceful silent fallback in store_picker_screen.dart ## Activity Log — store_id Fix - _getUserInfo() now reads storeId from activeStoreContextProvider (P0/FlutterSecureStorage) instead of activeStoreScopeProvider (SharedPreferences, always returned 'default') - Push orchestrator: patch payload.audit.scope.store_id + log.storeId before push - Audit recorder: no longer defaults to 'default', use null (backfilled at push time) - Add dart:convert import to activity_log_service.dart ## Docs - Add LOG_TRANSLATOR_UPDATE_MULTISTORE.md (backend team guide) - Update docs/WEB_POS_LOG_ALIGNMENT.md (add payload.audit contract) - Update AGENTS.md (Phase 8, new files, 4-layer router guard, gotchas #9 #10) - Update ENDPOINT_POS.md (section 16: Multiple Store Management) - Update CHANGELOG.md Backend: 839 stores + 1057 memberships seeded, MULTI_STORE_ENABLED=true live --- _This story was imported from historical commits._