From cc6068b759f66428518177052b929215edb9e125 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 7 Jan 2026 14:05:16 +0100 Subject: [PATCH] chore: release v1.5.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add user display in environment section header for debugging OIDC user resolution issues. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CHANGELOG.md | 8 ++ .../widgets/dashboard_content.dart | 96 +++++++++++++------ pubspec.yaml | 2 +- 3 files changed, 74 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e2801c..481240b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.5.4] - 2026-01-07 + +### Added + +- **User display in environment section** - Shows authenticated user in section header for debugging + - Displays `user: {username}` next to "Environment" header when data loads + - Helps diagnose user resolution issues with OIDC authentication + ## [1.5.3] - 2026-01-07 ### Changed diff --git a/lib/features/front_hall/presentation/widgets/dashboard_content.dart b/lib/features/front_hall/presentation/widgets/dashboard_content.dart index 9e6ce5f..9d2ed43 100644 --- a/lib/features/front_hall/presentation/widgets/dashboard_content.dart +++ b/lib/features/front_hall/presentation/widgets/dashboard_content.dart @@ -129,39 +129,62 @@ class _DashboardContentState extends ConsumerState { const SizedBox(height: 24), // Environment - Sun, Weather, Forecast, Air Quality - _SectionHeader(title: 'Environment', icon: Icons.eco), - const SizedBox(height: 8), environmentAsync.when( - data: (envData) => _EnvironmentSection( - envData: envData, - onRefresh: () => ref.invalidate(environmentProvider), - ), - loading: () => const Card( - child: Padding( - padding: EdgeInsets.all(32), - child: Center(child: CircularProgressIndicator()), - ), - ), - error: (error, _) => Card( - child: Padding( - padding: const EdgeInsets.all(16), - child: Row( - children: [ - Icon(Icons.error_outline, color: colorScheme.error), - const SizedBox(width: 12), - Expanded( - child: Text( - 'Failed to load environment data', - style: TextStyle(color: colorScheme.error), - ), - ), - IconButton( - icon: const Icon(Icons.refresh), - onPressed: () => ref.invalidate(environmentProvider), - ), - ], + data: (envData) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _SectionHeader( + title: 'Environment', + icon: Icons.eco, + subtitle: envData.user != null ? 'user: ${envData.user}' : null, ), - ), + const SizedBox(height: 8), + _EnvironmentSection( + envData: envData, + onRefresh: () => ref.invalidate(environmentProvider), + ), + ], + ), + loading: () => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const _SectionHeader(title: 'Environment', icon: Icons.eco), + const SizedBox(height: 8), + const Card( + child: Padding( + padding: EdgeInsets.all(32), + child: Center(child: CircularProgressIndicator()), + ), + ), + ], + ), + error: (error, _) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const _SectionHeader(title: 'Environment', icon: Icons.eco), + const SizedBox(height: 8), + Card( + child: Padding( + padding: const EdgeInsets.all(16), + child: Row( + children: [ + Icon(Icons.error_outline, color: colorScheme.error), + const SizedBox(width: 12), + Expanded( + child: Text( + 'Failed to load environment data', + style: TextStyle(color: colorScheme.error), + ), + ), + IconButton( + icon: const Icon(Icons.refresh), + onPressed: () => ref.invalidate(environmentProvider), + ), + ], + ), + ), + ), + ], ), ), const SizedBox(height: 24), @@ -185,10 +208,12 @@ class _SectionHeader extends StatelessWidget { const _SectionHeader({ required this.title, required this.icon, + this.subtitle, }); final String title; final IconData icon; + final String? subtitle; @override Widget build(BuildContext context) { @@ -209,6 +234,15 @@ class _SectionHeader extends StatelessWidget { fontWeight: FontWeight.w500, ), ), + if (subtitle != null) ...[ + const SizedBox(width: 8), + Text( + subtitle!, + style: Theme.of(context).textTheme.labelSmall?.copyWith( + color: colorScheme.outline, + ), + ), + ], ], ); } diff --git a/pubspec.yaml b/pubspec.yaml index 66df985..d895d99 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.5.3+1 +version: 1.5.4+1 environment: sdk: ^3.10.4