feat: federation panel + Dart SDK federation methods (0.70.0)
Some checks failed
Security / Security check (push) Failing after 2s

A new 'Föderation' destination (primary side) lists connected
satellites — name, region, version, wire version, advertised
capabilities — and adds them in one step: 'Add satellite' issues a
single-use bootstrap token bundled with the primary CA as a
ready-to-paste satellite config (the bundled CA makes the first
connect tamper-proof). Localized EN + DE, in-app help doc. Uses the
new HubService.listSatellites / issueSatelliteToken wrapping the
SDK's federation methods.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-13 14:16:07 +02:00
parent b35bbc1b12
commit d0cfa5df05
12 changed files with 815 additions and 4 deletions

View file

@ -16,6 +16,7 @@ import 'l10n/app_localizations.dart';
import 'pages/approvals.dart';
import 'pages/audit.dart';
import 'pages/doctor.dart';
import 'pages/federation.dart';
import 'pages/flows.dart';
import 'pages/store.dart';
import 'pages/welcome.dart';
@ -27,7 +28,7 @@ import 'widgets/widgets.dart';
/// Studio's own build version. Bump on every UI commit so the
/// running app self-identifies visible in the sidebar header
/// and quick-glance proof that you're seeing the current build.
const String kStudioVersion = '0.69.0';
const String kStudioVersion = '0.70.0';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
@ -348,6 +349,12 @@ class StudioShellState extends State<StudioShell> {
selectedIcon: Icons.inbox,
page: ApprovalsPage(),
),
_NavPage(
id: 'federation',
icon: Icons.hub_outlined,
selectedIcon: Icons.hub,
page: FederationPage(),
),
];
/// Pending-approval count surfaced as a sidebar badge so the
@ -1397,6 +1404,8 @@ class _NavPage {
return l.navAudit;
case 'approvals':
return l.navApprovals;
case 'federation':
return l.navFederation;
default:
return id;
}