@@ -13,8 +13,16 @@ object UniqueGeneratedUserId {
1313
1414 init {
1515 if (System .getenv(" devenv" ) == " digma" ) {
16- userId = CommonUtils .getLocalHostname()
16+ val userName = System .getProperty(" user.name" ) ? : " user"
17+ userId = " $userName @${CommonUtils .getLocalHostname()} "
1718 isDevUser = true
19+ } else if (System .getenv(" devenv" ) == " externalUserSimulator" ) {
20+ // this is just to overcome my own deleted external user which can not be recreated in posthog
21+ if (service<PersistenceService >().getUserId() == null ) {
22+ service<PersistenceService >().setUserId(generateUniqueUserId(" digma" ))
23+ }
24+ userId = service<PersistenceService >().getUserId()!!
25+ isDevUser = false
1826 } else {
1927 if (service<PersistenceService >().getUserId() == null ) {
2028 service<PersistenceService >().setUserId(generateUniqueUserId())
@@ -27,7 +35,7 @@ object UniqueGeneratedUserId {
2735
2836
2937// this method is outside the class so that it can be tested,UniqueGeneratedUserId can not be instantiated in regular unit tests
30- fun generateUniqueUserId (): String {
38+ fun generateUniqueUserId (salt : String = "" ): String {
3139 try {
3240 val userName = System .getProperty(" user.name" )
3341 val userHome = System .getProperty(" user.home" )
@@ -36,7 +44,7 @@ fun generateUniqueUserId(): String {
3644 // MUST BE SORTED
3745 val ni = NetworkInterface .networkInterfaces().toList().mapNotNull { it.hardwareAddress }.map { macAddressToString(it) }.sorted()
3846 .joinToString(" -" )
39- val baseString = userName + userHome + osName + osArch + ni
47+ val baseString = salt + userName + userHome + osName + osArch + ni
4048 return DigestUtils .sha1Hex(baseString)
4149 } catch (e: Throwable ) {
4250 return DigestUtils .sha1Hex(UUID .randomUUID().toString())
0 commit comments