From bcff44e8e136cceaafa527de0bb95e06d51e9303 Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Fri, 12 Dec 2025 11:54:09 -0800 Subject: [PATCH] Add random suffix to UDS socket filename Appends a random 8-character string to the Unix Domain Socket filename to avoid potential conflicts when multiple instances are running. Introduces a helper function for generating random strings. --- {{cookiecutter.out_dir}}/lib/main.dart | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.out_dir}}/lib/main.dart b/{{cookiecutter.out_dir}}/lib/main.dart index 02b0d80..26a7200 100644 --- a/{{cookiecutter.out_dir}}/lib/main.dart +++ b/{{cookiecutter.out_dir}}/lib/main.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:io'; +import 'dart:math'; import 'package:flet/flet.dart'; import 'package:flutter/foundation.dart'; @@ -60,6 +61,13 @@ String pageUrl = ""; String assetsDir = ""; String appDir = ""; Map environmentVariables = {}; +final _random = Random(); + +String _randomString(int length) { + const chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; + return String.fromCharCodes(Iterable.generate( + length, (_) => chars.codeUnitAt(_random.nextInt(chars.length)))); +} void main(List args) async { _args = List.from(args); @@ -193,7 +201,8 @@ Future prepareApp() async { environmentVariables["FLET_SERVER_PORT"] = tcpPort.toString(); } else { // use UDS on other platforms - pageUrl = "flet_$pid.sock"; + var socketSuffix = _randomString(8); + pageUrl = "flet_${pid}_$socketSuffix.sock"; environmentVariables["FLET_SERVER_UDS_PATH"] = pageUrl; } }