com.beamable 5.1.0-PREVIEW.RC9 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/.attestation.p7m +0 -0
  2. package/CHANGELOG.md +3 -1
  3. package/Common/Runtime/AgnosticAttribute.cs +2 -2
  4. package/Common/Runtime/Api/AliasHelper.cs +2 -2
  5. package/Common/Runtime/Api/Analytics/AnalyticsEventRequest.cs +2 -2
  6. package/Common/Runtime/Api/Analytics/AnalyticsService.cs +2 -2
  7. package/Common/Runtime/Api/Analytics/IBeamAnalyticsService.cs +2 -2
  8. package/Common/Runtime/Api/Analytics/Models/CoreEvent.cs +2 -2
  9. package/Common/Runtime/Api/Analytics/Models/IAnalyticsEvent.cs +2 -2
  10. package/Common/Runtime/Api/Analytics/Models/SampleCustomEvent.cs +2 -2
  11. package/Common/Runtime/Api/Announcements/AbsAnnouncementsApi.cs +2 -2
  12. package/Common/Runtime/Api/Announcements/IAnnouncementsApi.cs +2 -2
  13. package/Common/Runtime/Api/Auth/AuthApi.cs +2 -2
  14. package/Common/Runtime/Api/Auth/IAuthApi.cs +2 -2
  15. package/Common/Runtime/Api/Calendars/AbsCalendarApi.cs +2 -2
  16. package/Common/Runtime/Api/Calendars/ICalendarApi.cs +2 -2
  17. package/Common/Runtime/Api/Chat/ChatApi.cs +2 -2
  18. package/Common/Runtime/Api/Chat/IChatApi.cs +2 -2
  19. package/Common/Runtime/Api/CloudData/CloudDataApi.cs +2 -2
  20. package/Common/Runtime/Api/CloudData/ICloudDataApi.cs +2 -2
  21. package/Common/Runtime/Api/CometClientData.cs +2 -2
  22. package/Common/Runtime/Api/Commerce/ICommerceApi.cs +2 -2
  23. package/Common/Runtime/Api/Content/IContentApi.cs +2 -2
  24. package/Common/Runtime/Api/Events/AbsEventsApi.cs +2 -2
  25. package/Common/Runtime/Api/Events/IEventsApi.cs +2 -2
  26. package/Common/Runtime/Api/Groups/GroupsApi.cs +2 -2
  27. package/Common/Runtime/Api/Groups/IGroupsApi.cs +2 -2
  28. package/Common/Runtime/Api/IAccessToken.cs +2 -2
  29. package/Common/Runtime/Api/IBeamableFilesystemAccessor.cs +2 -2
  30. package/Common/Runtime/Api/IBeamableRequester.cs +2 -2
  31. package/Common/Runtime/Api/IConnectivityChecker.cs +2 -2
  32. package/Common/Runtime/Api/IHasBeamableRequester.cs +2 -2
  33. package/Common/Runtime/Api/IServiceRoutingStrategy.cs +2 -2
  34. package/Common/Runtime/Api/ISupportsGet.cs +2 -2
  35. package/Common/Runtime/Api/IUserContext.cs +2 -2
  36. package/Common/Runtime/Api/IUserDataCache.cs +2 -2
  37. package/Common/Runtime/Api/Inventory/IInventoryApi.cs +2 -2
  38. package/Common/Runtime/Api/Inventory/InventoryApi.cs +2 -2
  39. package/Common/Runtime/Api/Inventory/InventoryUpdateBuilder.cs +2 -2
  40. package/Common/Runtime/Api/Leaderboards/ILeaderboardApi.cs +2 -2
  41. package/Common/Runtime/Api/Leaderboards/LeaderboardApi.cs +2 -2
  42. package/Common/Runtime/Api/Lobbies/ILobbyApi.cs +2 -2
  43. package/Common/Runtime/Api/Lobbies/Lobby.cs +2 -2
  44. package/Common/Runtime/Api/Lobbies/LobbyNotification.cs +2 -2
  45. package/Common/Runtime/Api/Lobbies/LobbyPlayer.cs +2 -2
  46. package/Common/Runtime/Api/Lobbies/LobbyRestriction.cs +2 -2
  47. package/Common/Runtime/Api/Lobbies/LobbyService.cs +2 -2
  48. package/Common/Runtime/Api/Lobbies/LobbyUtils.cs +2 -2
  49. package/Common/Runtime/Api/Lobbies/NotInLobby.cs +2 -2
  50. package/Common/Runtime/Api/Lobbies/Requests/AddTagsRequest.cs +2 -2
  51. package/Common/Runtime/Api/Lobbies/Requests/CreateLobbyRequest.cs +2 -2
  52. package/Common/Runtime/Api/Lobbies/Requests/JoinByPasscodeRequest.cs +2 -2
  53. package/Common/Runtime/Api/Lobbies/Requests/JoinLobbyRequest.cs +2 -2
  54. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryRequest.cs +2 -2
  55. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryResponse.cs +2 -2
  56. package/Common/Runtime/Api/Lobbies/Requests/RemoveFromLobbyRequest.cs +2 -2
  57. package/Common/Runtime/Api/Lobbies/Requests/RemoveTagsRequest.cs +2 -2
  58. package/Common/Runtime/Api/Lobbies/Requests/UpdateLobbyRequest.cs +2 -2
  59. package/Common/Runtime/Api/Mail/AbsMailApi.cs +2 -2
  60. package/Common/Runtime/Api/Mail/IMailApi.cs +2 -2
  61. package/Common/Runtime/Api/Notifications/INotificationService.cs +2 -2
  62. package/Common/Runtime/Api/Notifications/PrimitiveStringPayload.cs +2 -2
  63. package/Common/Runtime/Api/Parties/IPartyApi.cs +2 -2
  64. package/Common/Runtime/Api/Parties/NotInParty.cs +2 -2
  65. package/Common/Runtime/Api/Parties/Party.cs +2 -2
  66. package/Common/Runtime/Api/Parties/PartyNotifications.cs +2 -2
  67. package/Common/Runtime/Api/Parties/PartyRestriction.cs +2 -2
  68. package/Common/Runtime/Api/Parties/PartyService.cs +2 -2
  69. package/Common/Runtime/Api/Parties/Requests/CreatePartyRequest.cs +2 -2
  70. package/Common/Runtime/Api/Parties/Requests/PartyQueryResponse.cs +2 -2
  71. package/Common/Runtime/Api/Parties/Requests/PlayerRequest.cs +2 -2
  72. package/Common/Runtime/Api/Parties/Requests/UpdatePartyRequest.cs +2 -2
  73. package/Common/Runtime/Api/Payments/IPaymentsApi.cs +2 -2
  74. package/Common/Runtime/Api/Payments/PaymentsApi.cs +2 -2
  75. package/Common/Runtime/Api/Presence/IPresenceApi.cs +2 -2
  76. package/Common/Runtime/Api/Presence/PresenceService.cs +2 -2
  77. package/Common/Runtime/Api/Push/IPushApi.cs +2 -2
  78. package/Common/Runtime/Api/QueryBuilder.cs +2 -2
  79. package/Common/Runtime/Api/Realms/IAliasService.cs +2 -2
  80. package/Common/Runtime/Api/Realms/IRealmApi.cs +2 -2
  81. package/Common/Runtime/Api/Realms/RealmService.cs +2 -2
  82. package/Common/Runtime/Api/SignedRequesterHelper.cs +2 -2
  83. package/Common/Runtime/Api/Social/ISocialApi.cs +2 -2
  84. package/Common/Runtime/Api/Social/SocialApi.cs +2 -2
  85. package/Common/Runtime/Api/Stats/AbsStatsApi.cs +2 -2
  86. package/Common/Runtime/Api/Stats/IStatsApi.cs +2 -2
  87. package/Common/Runtime/Api/Stats/StatsAccessType.cs +2 -2
  88. package/Common/Runtime/Api/Stats/StatsApiHelper.cs +2 -2
  89. package/Common/Runtime/Api/Stats/StatsDomainType.cs +2 -2
  90. package/Common/Runtime/Api/Tournaments/ITournamentApi.cs +2 -2
  91. package/Common/Runtime/Api/Tournaments/TournamentApi.cs +2 -2
  92. package/Common/Runtime/BeamCli/CliContractTypeAttribute.cs +2 -2
  93. package/Common/Runtime/BeamCli/CliOtelData.cs +2 -2
  94. package/Common/Runtime/BeamCli/Contracts/CliLogMessage.cs +2 -2
  95. package/Common/Runtime/BeamCli/Contracts/CollectorStatus.cs +2 -2
  96. package/Common/Runtime/BeamCli/Contracts/Constants.cs +2 -2
  97. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotActionType.cs +2 -2
  98. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotType.cs +2 -2
  99. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentSnapshotType.cs +2 -2
  100. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentStatus.cs +2 -2
  101. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifest.cs +2 -2
  102. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifestEntry.cs +2 -2
  103. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestAuthor.cs +2 -2
  104. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestProjectData.cs +2 -2
  105. package/Common/Runtime/BeamCli/Contracts/ContentService/TagStatus.cs +2 -2
  106. package/Common/Runtime/BeamCli/Contracts/EnvironmentVersionData.cs +2 -2
  107. package/Common/Runtime/BeamCli/Contracts/GenerateEnvOutput.cs +2 -2
  108. package/Common/Runtime/BeamCli/Contracts/ServiceInfo.cs +2 -2
  109. package/Common/Runtime/BeamCli/ErrorOutput.cs +2 -2
  110. package/Common/Runtime/BeamCli/IBeamCommand.cs +2 -2
  111. package/Common/Runtime/BeamCli/Reporting.cs +2 -2
  112. package/Common/Runtime/BeamCli/ServiceInfoHelper.cs +2 -2
  113. package/Common/Runtime/BeamGenerateSchemaAttribute.cs +2 -2
  114. package/Common/Runtime/BeamableColorUtil.cs +2 -2
  115. package/Common/Runtime/BeamableEnumExtensions.cs +2 -2
  116. package/Common/Runtime/BeamableTaskExtensions.cs +2 -2
  117. package/Common/Runtime/Collections/ConcurrentBag.cs +2 -2
  118. package/Common/Runtime/Collections/ConcurrentDictionary.cs +2 -2
  119. package/Common/Runtime/Constants/Constants.cs +2 -2
  120. package/Common/Runtime/Constants/Implementations/ArchiveConstants.cs +2 -2
  121. package/Common/Runtime/Constants/Implementations/ConfigConstants.cs +2 -2
  122. package/Common/Runtime/Constants/Implementations/ContentConstants.cs +2 -2
  123. package/Common/Runtime/Constants/Implementations/ContentManagerConstants.cs +2 -2
  124. package/Common/Runtime/Constants/Implementations/CronConstants.cs +2 -2
  125. package/Common/Runtime/Constants/Implementations/DockerConstants.cs +2 -2
  126. package/Common/Runtime/Constants/Implementations/EnvironmentConstants.cs +2 -2
  127. package/Common/Runtime/Constants/Implementations/LoginBaseConstants.cs +2 -2
  128. package/Common/Runtime/Constants/Implementations/MigrationConstants.cs +2 -2
  129. package/Common/Runtime/Constants/Implementations/NotificationConstants.cs +2 -2
  130. package/Common/Runtime/Constants/Implementations/OtelConstants.cs +2 -2
  131. package/Common/Runtime/Constants/Implementations/PortalExtensionConstants.cs +4 -2
  132. package/Common/Runtime/Constants/Implementations/RequesterConstants.cs +2 -2
  133. package/Common/Runtime/Constants/Implementations/SchedulesConstants.cs +2 -2
  134. package/Common/Runtime/Constants/Implementations/ServiceConstants.cs +2 -2
  135. package/Common/Runtime/Constants/Implementations/SpewConstants.cs +2 -2
  136. package/Common/Runtime/Constants/Implementations/TestingToolConstants.cs +2 -2
  137. package/Common/Runtime/Constants/Implementations/ToolbarConstants.cs +2 -2
  138. package/Common/Runtime/Constants/Implementations/ToolboxConstants.cs +2 -2
  139. package/Common/Runtime/Constants/Implementations/TooltipConstants.cs +2 -2
  140. package/Common/Runtime/Content/ClientContentSerializer.cs +2 -2
  141. package/Common/Runtime/Content/ClientManifest.cs +2 -2
  142. package/Common/Runtime/Content/ClientPermissions.cs +2 -2
  143. package/Common/Runtime/Content/ContentCorruptedException.cs +2 -2
  144. package/Common/Runtime/Content/ContentDataInfo.cs +2 -2
  145. package/Common/Runtime/Content/ContentDeserializationException.cs +2 -2
  146. package/Common/Runtime/Content/ContentFieldAttribute.cs +2 -2
  147. package/Common/Runtime/Content/ContentFilterType.cs +2 -2
  148. package/Common/Runtime/Content/ContentNotFoundException.cs +2 -2
  149. package/Common/Runtime/Content/ContentObject.cs +2 -2
  150. package/Common/Runtime/Content/ContentQuery.cs +2 -2
  151. package/Common/Runtime/Content/ContentQueryExtensions.cs +2 -2
  152. package/Common/Runtime/Content/ContentRef.cs +2 -2
  153. package/Common/Runtime/Content/ContentSerializer.cs +2 -2
  154. package/Common/Runtime/Content/ContentTypeAttribute.cs +2 -2
  155. package/Common/Runtime/Content/ContentTypeReflectionCache.cs +2 -2
  156. package/Common/Runtime/Content/ContentVisibility.cs +2 -2
  157. package/Common/Runtime/Content/Federation.cs +2 -2
  158. package/Common/Runtime/Content/IContentObject.cs +2 -2
  159. package/Common/Runtime/Content/IContentService.cs +2 -2
  160. package/Common/Runtime/Content/IIgnoreSerializationCallbacks.cs +2 -2
  161. package/Common/Runtime/Content/IgnoreContentFieldAttribute.cs +2 -2
  162. package/Common/Runtime/Content/Optionals.cs +2 -2
  163. package/Common/Runtime/Content/PropertyAttributes/FilePathSelectorAttribute.cs +2 -2
  164. package/Common/Runtime/Content/PropertyAttributes/HideUnlessServerPackageInstalled.cs +2 -2
  165. package/Common/Runtime/Content/PropertyAttributes/ReadonlyIfAttribute.cs +2 -2
  166. package/Common/Runtime/Content/PropertyAttributes/ShowOnlyAttribute.cs +2 -2
  167. package/Common/Runtime/Content/RenderAsRefAttribute.cs +2 -2
  168. package/Common/Runtime/Content/SerializableDictionary.cs +2 -2
  169. package/Common/Runtime/Content/Utility/DateUtility.cs +2 -2
  170. package/Common/Runtime/Content/Validation/AggregateContentValidationException.cs +2 -2
  171. package/Common/Runtime/Content/Validation/CannotBeBlank.cs +2 -2
  172. package/Common/Runtime/Content/Validation/CannotBeEmpty.cs +2 -2
  173. package/Common/Runtime/Content/Validation/ContentValidationException.cs +2 -2
  174. package/Common/Runtime/Content/Validation/FederationMustBeValid.cs +2 -2
  175. package/Common/Runtime/Content/Validation/MustBeComparatorString.cs +2 -2
  176. package/Common/Runtime/Content/Validation/MustBeCurrency.cs +2 -2
  177. package/Common/Runtime/Content/Validation/MustBeCurrencyOrItem.cs +2 -2
  178. package/Common/Runtime/Content/Validation/MustBeDateString.cs +2 -2
  179. package/Common/Runtime/Content/Validation/MustBeItem.cs +2 -2
  180. package/Common/Runtime/Content/Validation/MustBeLeaderboard.cs +2 -2
  181. package/Common/Runtime/Content/Validation/MustBeNonDefault.cs +2 -2
  182. package/Common/Runtime/Content/Validation/MustBeNonNegative.cs +2 -2
  183. package/Common/Runtime/Content/Validation/MustBeOneOf.cs +2 -2
  184. package/Common/Runtime/Content/Validation/MustBePositive.cs +2 -2
  185. package/Common/Runtime/Content/Validation/MustBeSlugString.cs +2 -2
  186. package/Common/Runtime/Content/Validation/MustBeTimeSpanDuration.cs +2 -2
  187. package/Common/Runtime/Content/Validation/MustBeValidCron.cs +2 -2
  188. package/Common/Runtime/Content/Validation/MustContain.cs +2 -2
  189. package/Common/Runtime/Content/Validation/MustReferenceContent.cs +2 -2
  190. package/Common/Runtime/Content/Validation/RouteParametersMustBeValid.cs +2 -2
  191. package/Common/Runtime/Content/Validation/ServiceRouteMustBeValid.cs +2 -2
  192. package/Common/Runtime/Content/Validation/TimeSpanDisplayAttribute.cs +2 -2
  193. package/Common/Runtime/Content/Validation/ValidationAttribute.cs +2 -2
  194. package/Common/Runtime/Content/Validation/ValidationContext.cs +2 -2
  195. package/Common/Runtime/CronExpression/CronLocale.cs +2 -2
  196. package/Common/Runtime/CronExpression/ErrorData.cs +2 -2
  197. package/Common/Runtime/CronExpression/ExpressionParser.cs +2 -2
  198. package/Common/Runtime/CronExpression/Options.cs +2 -2
  199. package/Common/Runtime/Debug.cs +2 -2
  200. package/Common/Runtime/DefaultQuery.cs +2 -2
  201. package/Common/Runtime/Dependencies/DependencyBuilder.cs +2 -2
  202. package/Common/Runtime/Dependencies/DependencyProvider.cs +2 -2
  203. package/Common/Runtime/Dependencies/Exceptions.cs +2 -2
  204. package/Common/Runtime/Dependencies/IDependencyList.cs +2 -2
  205. package/Common/Runtime/Dependencies/IDependencyNameProvider.cs +2 -2
  206. package/Common/Runtime/Dependencies/RegisterBeamableDependenciesAttribute.cs +2 -2
  207. package/Common/Runtime/Dependencies/ServiceStorage.cs +2 -2
  208. package/Common/Runtime/Dependencies/Utils.cs +2 -2
  209. package/Common/Runtime/DocUtils.cs +2 -2
  210. package/Common/Runtime/Environment/PackageVersion.cs +2 -2
  211. package/Common/Runtime/Federation/FederatedGameServer.cs +2 -2
  212. package/Common/Runtime/Federation/FederatedInventory.cs +2 -2
  213. package/Common/Runtime/Federation/FederatedLogin.cs +2 -2
  214. package/Common/Runtime/Federation/FederatedPlayerInit.cs +2 -2
  215. package/Common/Runtime/Federation/Federation.cs +2 -2
  216. package/Common/Runtime/IRuntimeConfigProvider.cs +2 -2
  217. package/Common/Runtime/ISearchableElement.cs +2 -2
  218. package/Common/Runtime/JsonSerializable/DeleteStream.cs +2 -2
  219. package/Common/Runtime/JsonSerializable/DiffStream.cs +2 -2
  220. package/Common/Runtime/JsonSerializable/JsonData.cs +2 -2
  221. package/Common/Runtime/JsonSerializable/JsonSaveStream.cs +2 -2
  222. package/Common/Runtime/JsonSerializable/JsonSerializable.cs +2 -2
  223. package/Common/Runtime/JsonSerializable/LoadStream.cs +2 -2
  224. package/Common/Runtime/JsonSerializable/MessagePackStream.cs +2 -2
  225. package/Common/Runtime/JsonSerializable/SaveStream.cs +2 -2
  226. package/Common/Runtime/JsonSerializable/TypeLookupFactory.cs +2 -2
  227. package/Common/Runtime/Modules/Announcements/AnnouncementApiContent.cs +2 -2
  228. package/Common/Runtime/Modules/Announcements/AnnouncementContent.cs +2 -2
  229. package/Common/Runtime/Modules/Announcements/AnnouncementRef.cs +2 -2
  230. package/Common/Runtime/Modules/Calendars/CalendarContent.cs +2 -2
  231. package/Common/Runtime/Modules/Calendars/CalendarRef.cs +2 -2
  232. package/Common/Runtime/Modules/Groups/GroupDonationContentRef.cs +2 -2
  233. package/Common/Runtime/Modules/Groups/GroupDonationsContent.cs +2 -2
  234. package/Common/Runtime/Modules/Inventory/CurrencyContent.cs +2 -2
  235. package/Common/Runtime/Modules/Inventory/CurrencyRef.cs +2 -2
  236. package/Common/Runtime/Modules/Inventory/ItemContent.cs +2 -2
  237. package/Common/Runtime/Modules/Inventory/ItemRef.cs +2 -2
  238. package/Common/Runtime/Modules/Inventory/VipContent.cs +2 -2
  239. package/Common/Runtime/Modules/Leaderboards/LeaderboardContent.cs +2 -2
  240. package/Common/Runtime/Modules/Leaderboards/LeaderboardRef.cs +2 -2
  241. package/Common/Runtime/Modules/SharedContent/ApiContent.cs +2 -2
  242. package/Common/Runtime/Modules/SharedContent/EmailContent.cs +2 -2
  243. package/Common/Runtime/Modules/SharedContent/EventContent.cs +2 -2
  244. package/Common/Runtime/Modules/SharedContent/PlayerReward.cs +2 -2
  245. package/Common/Runtime/Modules/SharedContent/ScheduleDefinition.cs +2 -2
  246. package/Common/Runtime/Modules/SharedContent/ScheduleExtensions.cs +2 -2
  247. package/Common/Runtime/Modules/SharedContent/SimGameType.cs +2 -2
  248. package/Common/Runtime/Modules/Shop/ListingContent.cs +2 -2
  249. package/Common/Runtime/Modules/Shop/ListingLink.cs +2 -2
  250. package/Common/Runtime/Modules/Shop/ListingRef.cs +2 -2
  251. package/Common/Runtime/Modules/Shop/SKUContent.cs +2 -2
  252. package/Common/Runtime/Modules/Shop/SKURef.cs +2 -2
  253. package/Common/Runtime/Modules/Shop/StoreContent.cs +2 -2
  254. package/Common/Runtime/Modules/Shop/StoreRef.cs +2 -2
  255. package/Common/Runtime/Modules/Steam/ISteamService.cs +2 -2
  256. package/Common/Runtime/Modules/Tournaments/TournamentColorConstants.cs +2 -2
  257. package/Common/Runtime/Modules/Tournaments/TournamentContent.cs +2 -2
  258. package/Common/Runtime/ObjectExtensions.cs +2 -2
  259. package/Common/Runtime/OpenApi/AccountsBasic.gs.cs +2 -2
  260. package/Common/Runtime/OpenApi/AccountsBasicCommon.gs.cs +2 -2
  261. package/Common/Runtime/OpenApi/AccountsObject.gs.cs +2 -2
  262. package/Common/Runtime/OpenApi/AnnouncementsBasic.gs.cs +2 -2
  263. package/Common/Runtime/OpenApi/AnnouncementsBasicCommon.gs.cs +2 -2
  264. package/Common/Runtime/OpenApi/AnnouncementsObject.gs.cs +2 -2
  265. package/Common/Runtime/OpenApi/AuthBasic.gs.cs +2 -2
  266. package/Common/Runtime/OpenApi/AuthBasicCommon.gs.cs +2 -2
  267. package/Common/Runtime/OpenApi/BeamAuth.gs.cs +2 -2
  268. package/Common/Runtime/OpenApi/BeamAuthCommon.gs.cs +2 -2
  269. package/Common/Runtime/OpenApi/BeamBeamo.gs.cs +2 -2
  270. package/Common/Runtime/OpenApi/BeamBeamoCommon.gs.cs +2 -2
  271. package/Common/Runtime/OpenApi/BeamBeamootel.gs.cs +2 -2
  272. package/Common/Runtime/OpenApi/BeamBeamootelCommon.gs.cs +2 -2
  273. package/Common/Runtime/OpenApi/BeamBilling.gs.cs +2 -2
  274. package/Common/Runtime/OpenApi/BeamBillingCommon.gs.cs +2 -2
  275. package/Common/Runtime/OpenApi/BeamCustomer.gs.cs +2 -2
  276. package/Common/Runtime/OpenApi/BeamCustomerCommon.gs.cs +2 -2
  277. package/Common/Runtime/OpenApi/BeamLobby.gs.cs +2 -2
  278. package/Common/Runtime/OpenApi/BeamLobbyCommon.gs.cs +2 -2
  279. package/Common/Runtime/OpenApi/BeamMailbox.gs.cs +2 -2
  280. package/Common/Runtime/OpenApi/BeamMailboxCommon.gs.cs +2 -2
  281. package/Common/Runtime/OpenApi/BeamMatchmaking.gs.cs +2 -2
  282. package/Common/Runtime/OpenApi/BeamMatchmakingCommon.gs.cs +2 -2
  283. package/Common/Runtime/OpenApi/BeamParty.gs.cs +2 -2
  284. package/Common/Runtime/OpenApi/BeamPartyCommon.gs.cs +2 -2
  285. package/Common/Runtime/OpenApi/BeamPlayer.gs.cs +2 -2
  286. package/Common/Runtime/OpenApi/BeamPlayerCommon.gs.cs +2 -2
  287. package/Common/Runtime/OpenApi/BeamPlayerlobby.gs.cs +2 -2
  288. package/Common/Runtime/OpenApi/BeamPlayerlobbyCommon.gs.cs +2 -2
  289. package/Common/Runtime/OpenApi/BeamPlayerparty.gs.cs +2 -2
  290. package/Common/Runtime/OpenApi/BeamPlayerpartyCommon.gs.cs +2 -2
  291. package/Common/Runtime/OpenApi/BeamPlayersession.gs.cs +2 -2
  292. package/Common/Runtime/OpenApi/BeamPlayersessionCommon.gs.cs +2 -2
  293. package/Common/Runtime/OpenApi/BeamPlayerstats.gs.cs +2 -2
  294. package/Common/Runtime/OpenApi/BeamPlayerstatsCommon.gs.cs +2 -2
  295. package/Common/Runtime/OpenApi/BeamPlayerticket.gs.cs +2 -2
  296. package/Common/Runtime/OpenApi/BeamPlayerticketCommon.gs.cs +2 -2
  297. package/Common/Runtime/OpenApi/BeamPresence.gs.cs +2 -2
  298. package/Common/Runtime/OpenApi/BeamPresenceCommon.gs.cs +2 -2
  299. package/Common/Runtime/OpenApi/BeamRealmsecrets.gs.cs +2 -2
  300. package/Common/Runtime/OpenApi/BeamRealmsecretsCommon.gs.cs +2 -2
  301. package/Common/Runtime/OpenApi/BeamScheduler.gs.cs +2 -2
  302. package/Common/Runtime/OpenApi/BeamSchedulerCommon.gs.cs +2 -2
  303. package/Common/Runtime/OpenApi/BeamSession.gs.cs +2 -2
  304. package/Common/Runtime/OpenApi/BeamSessionCommon.gs.cs +2 -2
  305. package/Common/Runtime/OpenApi/BeamStats.gs.cs +2 -2
  306. package/Common/Runtime/OpenApi/BeamStatsCommon.gs.cs +2 -2
  307. package/Common/Runtime/OpenApi/BeamoBasic.gs.cs +2 -2
  308. package/Common/Runtime/OpenApi/BeamoBasicCommon.gs.cs +2 -2
  309. package/Common/Runtime/OpenApi/CalendarsObject.gs.cs +2 -2
  310. package/Common/Runtime/OpenApi/CalendarsObjectCommon.gs.cs +2 -2
  311. package/Common/Runtime/OpenApi/CloudsavingBasic.gs.cs +2 -2
  312. package/Common/Runtime/OpenApi/CloudsavingBasicCommon.gs.cs +2 -2
  313. package/Common/Runtime/OpenApi/CommerceBasic.gs.cs +2 -2
  314. package/Common/Runtime/OpenApi/CommerceBasicCommon.gs.cs +2 -2
  315. package/Common/Runtime/OpenApi/CommerceObject.gs.cs +2 -2
  316. package/Common/Runtime/OpenApi/ContentBasic.gs.cs +2 -2
  317. package/Common/Runtime/OpenApi/ContentBasicCommon.gs.cs +2 -2
  318. package/Common/Runtime/OpenApi/Event-playersObject.gs.cs +2 -2
  319. package/Common/Runtime/OpenApi/Event-playersObjectCommon.gs.cs +2 -2
  320. package/Common/Runtime/OpenApi/EventsBasic.gs.cs +2 -2
  321. package/Common/Runtime/OpenApi/EventsBasicCommon.gs.cs +2 -2
  322. package/Common/Runtime/OpenApi/EventsObject.gs.cs +2 -2
  323. package/Common/Runtime/OpenApi/Group-usersObject.gs.cs +2 -2
  324. package/Common/Runtime/OpenApi/Group-usersObjectCommon.gs.cs +2 -2
  325. package/Common/Runtime/OpenApi/GroupsObject.gs.cs +2 -2
  326. package/Common/Runtime/OpenApi/GroupsObjectCommon.gs.cs +2 -2
  327. package/Common/Runtime/OpenApi/InventoryBasic.gs.cs +2 -2
  328. package/Common/Runtime/OpenApi/InventoryBasicCommon.gs.cs +2 -2
  329. package/Common/Runtime/OpenApi/InventoryObject.gs.cs +2 -2
  330. package/Common/Runtime/OpenApi/LeaderboardsBasic.gs.cs +2 -2
  331. package/Common/Runtime/OpenApi/LeaderboardsBasicCommon.gs.cs +2 -2
  332. package/Common/Runtime/OpenApi/LeaderboardsObject.gs.cs +2 -2
  333. package/Common/Runtime/OpenApi/MailBasic.gs.cs +2 -2
  334. package/Common/Runtime/OpenApi/MailBasicCommon.gs.cs +2 -2
  335. package/Common/Runtime/OpenApi/MailObject.gs.cs +2 -2
  336. package/Common/Runtime/OpenApi/Models.gs.cs +2 -2
  337. package/Common/Runtime/OpenApi/NotificationBasic.gs.cs +2 -2
  338. package/Common/Runtime/OpenApi/NotificationBasicCommon.gs.cs +2 -2
  339. package/Common/Runtime/OpenApi/PaymentsBasic.gs.cs +2 -2
  340. package/Common/Runtime/OpenApi/PaymentsBasicCommon.gs.cs +2 -2
  341. package/Common/Runtime/OpenApi/PaymentsObject.gs.cs +2 -2
  342. package/Common/Runtime/OpenApi/PushBasic.gs.cs +2 -2
  343. package/Common/Runtime/OpenApi/PushBasicCommon.gs.cs +2 -2
  344. package/Common/Runtime/OpenApi/RealmsBasic.gs.cs +2 -2
  345. package/Common/Runtime/OpenApi/RealmsBasicCommon.gs.cs +2 -2
  346. package/Common/Runtime/OpenApi/SessionBasic.gs.cs +2 -2
  347. package/Common/Runtime/OpenApi/SessionBasicCommon.gs.cs +2 -2
  348. package/Common/Runtime/OpenApi/SocialBasic.gs.cs +2 -2
  349. package/Common/Runtime/OpenApi/SocialBasicCommon.gs.cs +2 -2
  350. package/Common/Runtime/OpenApi/StatsBasic.gs.cs +2 -2
  351. package/Common/Runtime/OpenApi/StatsBasicCommon.gs.cs +2 -2
  352. package/Common/Runtime/OpenApi/StatsObject.gs.cs +2 -2
  353. package/Common/Runtime/OpenApi/TournamentsBasic.gs.cs +2 -2
  354. package/Common/Runtime/OpenApi/TournamentsBasicCommon.gs.cs +2 -2
  355. package/Common/Runtime/OpenApi/TournamentsObject.gs.cs +2 -2
  356. package/Common/Runtime/OpenApi/TrialsBasic.gs.cs +2 -2
  357. package/Common/Runtime/OpenApi/TrialsBasicCommon.gs.cs +2 -2
  358. package/Common/Runtime/OpenApiExtensions/BeamoExtensions.cs +2 -2
  359. package/Common/Runtime/OpenApiExtensions/LegacyConverterExtensions.cs +2 -2
  360. package/Common/Runtime/OpenApiSystem.cs +2 -2
  361. package/Common/Runtime/Player/Lazy.cs +2 -2
  362. package/Common/Runtime/Player/Observables.cs +2 -2
  363. package/Common/Runtime/Pooling/ClassPool.cs +2 -2
  364. package/Common/Runtime/Pooling/StringBuilderPool.cs +2 -2
  365. package/Common/Runtime/Promise.cs +2 -2
  366. package/Common/Runtime/ReflectionCache/BeamContextSystemAttribute.cs +2 -2
  367. package/Common/Runtime/ReflectionCache/INamingAttribute.cs +2 -2
  368. package/Common/Runtime/ReflectionCache/IReflectionAttribute.cs +2 -2
  369. package/Common/Runtime/ReflectionCache/PreserveAttribute.cs +2 -2
  370. package/Common/Runtime/ReflectionCache/ReflectionCache.cs +2 -2
  371. package/Common/Runtime/ReflectionCache/ReflectionCache_Attributes.cs +2 -2
  372. package/Common/Runtime/ReflectionCache/ReflectionCache_BaseTypes.cs +2 -2
  373. package/Common/Runtime/ReflectionCache/ReflectionCache_SignatureMatching.cs +2 -2
  374. package/Common/Runtime/Scheduler/BeamScheduler.cs +2 -2
  375. package/Common/Runtime/Scheduler/Cron.cs +2 -2
  376. package/Common/Runtime/Scheduler/CronValidation.cs +2 -2
  377. package/Common/Runtime/Semantics/BeamAccountId.cs +2 -2
  378. package/Common/Runtime/Semantics/BeamCid.cs +2 -2
  379. package/Common/Runtime/Semantics/BeamContentId.cs +2 -2
  380. package/Common/Runtime/Semantics/BeamContentManifestId.cs +2 -2
  381. package/Common/Runtime/Semantics/BeamGamerTag.cs +2 -2
  382. package/Common/Runtime/Semantics/BeamPid.cs +2 -2
  383. package/Common/Runtime/Semantics/BeamStats.cs +2 -2
  384. package/Common/Runtime/Semantics/IBeamSemanticType.cs +2 -2
  385. package/Common/Runtime/Semantics/ServiceName.cs +2 -2
  386. package/Common/Runtime/SmallerJSON/IRawJsonProvider.cs +2 -2
  387. package/Common/Runtime/SmallerJSON/SmallerJSON.ArrayDict.cs +2 -2
  388. package/Common/Runtime/SmallerJSON/SmallerJSON.FromString.cs +2 -2
  389. package/Common/Runtime/SmallerJSON/SmallerJSON.cs +2 -2
  390. package/Common/Runtime/Spew/Logger.cs +2 -2
  391. package/Common/Runtime/Spew/SpewLoggerAttribute.cs +2 -2
  392. package/Common/Runtime/Trie.cs +2 -2
  393. package/Common/Runtime/TypeExtensions.cs +2 -2
  394. package/Common/Runtime/Util/BeamAssemblyVersionUtil.cs +2 -2
  395. package/Common/Runtime/Util/BeamFileUtil.cs +2 -2
  396. package/Common/Runtime/Util/DocsPageHelper.cs +2 -2
  397. package/Common/Runtime/Util/NaturalStringComparer.cs +2 -2
  398. package/Editor/BeamCli/BeamCli.cs +26 -0
  399. package/Editor/BeamCli/BeamWebCommand.cs +50 -12
  400. package/Editor/BeamCli/Commands/BeamPortalExtensionAddLibrary.cs +62 -0
  401. package/Editor/BeamCli/Commands/BeamPortalExtensionAddLibrary.cs.meta +11 -0
  402. package/Editor/BeamCli/Commands/BeamProjectNewPortalExtensionLib.cs +65 -0
  403. package/Editor/BeamCli/Commands/BeamProjectNewPortalExtensionLib.cs.meta +11 -0
  404. package/Editor/BeamEditor.cs +52 -7
  405. package/Editor/Toolbar/MenuItems/BeamableRealmMenuItem.cs +2 -1
  406. package/Editor/UI/AccountWindow/AccountWindow_Games.cs +19 -3
  407. package/Editor/UI/AccountWindow/AccountWindow_SignedIn.cs +3 -2
  408. package/Runtime/Environment/Resources/env-default.json +3 -3
  409. package/Runtime/Environment/Resources/versions-default.json +1 -1
  410. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
  //#define PREPEND_SPEW_METADATA
5
5
  // With PREPEND_SPEW_METADATA defined, all spew logs will have frame # and time prepended.
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
  using System;
5
5
  using System.Diagnostics;
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
  using System;
5
5
  using System.Collections.Generic;
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
 
5
5
  using System;
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
  using Beamable.Common.Spew;
5
5
  using System;
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
  using System;
5
5
  using System.IO;
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
  namespace Beamable.Common.Util
5
5
  {
@@ -1,5 +1,5 @@
1
- // this file was copied from nuget package Beamable.Common@7.2.0-PREVIEW.RC6
2
- // https://www.nuget.org/packages/Beamable.Common/7.2.0-PREVIEW.RC6
1
+ // this file was copied from nuget package Beamable.Common@7.2.0
2
+ // https://www.nuget.org/packages/Beamable.Common/7.2.0
3
3
 
4
4
  using System.Collections.Generic;
5
5
 
@@ -71,6 +71,7 @@ namespace Beamable.Editor.BeamCli
71
71
  private ConfigRoutesWrapper _routesInvoke;
72
72
  private ProjectAddUnityProjectWrapper _linkCommand;
73
73
  private ProjectAddPathsWrapper _addPathsInvoke;
74
+ private Promise _refreshPromise;
74
75
 
75
76
  // public Dictionary<string, BeamOrgRealmData> pidToRealm = new Dictionary<string, BeamOrgRealmData>();
76
77
 
@@ -105,6 +106,26 @@ namespace Beamable.Editor.BeamCli
105
106
  }
106
107
 
107
108
  public async Promise Refresh()
109
+ {
110
+ // Refresh owns shared command wrappers; overlapping refreshes cancel each other's requests.
111
+ if (_refreshPromise != null)
112
+ {
113
+ await _refreshPromise;
114
+ return;
115
+ }
116
+
117
+ _refreshPromise = RefreshImpl();
118
+ try
119
+ {
120
+ await _refreshPromise;
121
+ }
122
+ finally
123
+ {
124
+ _refreshPromise = null;
125
+ }
126
+ }
127
+
128
+ private async Promise RefreshImpl()
108
129
  {
109
130
  _addPathsInvoke?.Cancel();
110
131
  var configPath = Path.Combine(latestConfig?.configPath ?? ".beamable", "config.beam.json");
@@ -349,6 +370,11 @@ namespace Beamable.Editor.BeamCli
349
370
  var initPromise = initInvoke.Run();
350
371
  await initPromise;
351
372
 
373
+ if (!string.IsNullOrEmpty(latestLoginError))
374
+ {
375
+ return;
376
+ }
377
+
352
378
  await Refresh();
353
379
  }
354
380
 
@@ -135,12 +135,12 @@ namespace Beamable.Editor.BeamCli
135
135
  _serverCommand = null;
136
136
  }
137
137
 
138
- public void InvalidateServer(Exception cause)
138
+ public Promise InvalidateServer(Exception cause)
139
139
  {
140
140
  // Marshal back to the editor coroutine thread — port, _serverCommand,
141
141
  // and discoveryRequest are all touched by ServerDiscoveryLoop and
142
142
  // shouldn't race with an async continuation.
143
- dispatcher.Schedule(() =>
143
+ var jobId = dispatcher.Schedule(() =>
144
144
  {
145
145
  _history.AddServerEvent(
146
146
  $"Server invalidated: {cause.GetType().Name}: {cause.Message}");
@@ -149,6 +149,8 @@ namespace Beamable.Editor.BeamCli
149
149
  port = _options.startPortOverride.GetOrElse(8432);
150
150
  discoveryRequest++;
151
151
  });
152
+
153
+ return dispatcher.WaitForJobIds(new List<long> { jobId });
152
154
  }
153
155
 
154
156
  public string GetServerProcess()
@@ -379,6 +381,7 @@ namespace Beamable.Editor.BeamCli
379
381
  private CancellationTokenSource _cts;
380
382
  private BeamWebCliCommandHistory _history;
381
383
  private Promise _runPromise;
384
+ private const int MaxPreResponseTransportRetries = 2;
382
385
 
383
386
  public BeamWebCommand(BeamWebCommandFactory factory, BeamWebCliCommandHistory history)
384
387
  {
@@ -406,6 +409,33 @@ namespace Beamable.Editor.BeamCli
406
409
  {
407
410
  _history.UpdateResolvingHostTime(id);
408
411
 
412
+ for (var attempt = 0;; attempt++)
413
+ {
414
+ try
415
+ {
416
+ await RunHttpRequestOnce();
417
+ return;
418
+ }
419
+ catch (PreResponseTransportException ex) when (attempt < MaxPreResponseTransportRetries)
420
+ {
421
+ if (attempt == 0)
422
+ {
423
+ _history.AddCustomLog(id,
424
+ $"[Unity] local CLI transport failed before response; confirming server before retry. attempt=[{attempt + 1}]");
425
+ await _factory.EnsureServerIsRunning();
426
+ }
427
+ else
428
+ {
429
+ _history.AddCustomLog(id,
430
+ $"[Unity] local CLI transport failed before response; invalidating server before retry. attempt=[{attempt + 1}]");
431
+ await _factory.InvalidateServer(ex.InnerException ?? ex);
432
+ }
433
+ }
434
+ }
435
+ }
436
+
437
+ private async Promise RunHttpRequestOnce()
438
+ {
409
439
  await _factory.EnsureServerIsRunning();
410
440
 
411
441
  _history.UpdateStartTime(id, _factory.ExecuteUrl);
@@ -417,6 +447,7 @@ namespace Beamable.Editor.BeamCli
417
447
  CliLogger.Log("Sending cli web request, " + json);
418
448
  var dispatchedIds = new List<long>();
419
449
  var p = new Promise();
450
+ var responseStarted = false;
420
451
 
421
452
  try
422
453
  {
@@ -430,6 +461,7 @@ namespace Beamable.Editor.BeamCli
430
461
  _history.AddCustomLog(id, "[Unity] sent request...");
431
462
 
432
463
  using HttpResponseMessage response = await sendTask;
464
+ responseStarted = true;
433
465
  _history.AddCustomLog(id, "[Unity] opened response...");
434
466
 
435
467
  using Stream streamToReadFrom = await response.Content.ReadAsStreamAsync();
@@ -486,17 +518,9 @@ namespace Beamable.Editor.BeamCli
486
518
  }
487
519
 
488
520
  }
489
- catch (Exception ex) when (
490
- (IsTransportFailure(ex) || ex is OperationCanceledException)
491
- && !_cts.IsCancellationRequested)
521
+ catch (Exception ex) when (IsRecoverableLocalTransportFailure(ex) && !responseStarted)
492
522
  {
493
- // The loopback connection to the CLI server is unhealthy
494
- // (server died, port stale, half-closed socket). Mono surfaces
495
- // some of these as TaskCanceledException even though the token
496
- // wasn't tripped \u2014 treat them as transport failures and force
497
- // rediscovery before we keep hammering a dead endpoint.
498
- _factory.InvalidateServer(ex);
499
- throw;
523
+ throw new PreResponseTransportException(ex);
500
524
  }
501
525
  finally
502
526
  {
@@ -530,6 +554,20 @@ namespace Beamable.Editor.BeamCli
530
554
  || ex is IOException;
531
555
  }
532
556
 
557
+ private bool IsRecoverableLocalTransportFailure(Exception ex)
558
+ {
559
+ return !_cts.IsCancellationRequested &&
560
+ (IsTransportFailure(ex) || ex is OperationCanceledException);
561
+ }
562
+
563
+ private class PreResponseTransportException : Exception
564
+ {
565
+ public PreResponseTransportException(Exception innerException)
566
+ : base(innerException.Message, innerException)
567
+ {
568
+ }
569
+ }
570
+
533
571
  public IBeamCommand On<T>(Func<ReportDataPointDescription, bool> predicate, Action<ReportDataPoint<T>> cb)
534
572
  {
535
573
  On(desc =>
@@ -0,0 +1,62 @@
1
+
2
+ namespace Beamable.Editor.BeamCli.Commands
3
+ {
4
+ using Beamable.Common;
5
+ using Beamable.Common.BeamCli;
6
+
7
+ public partial class PortalExtensionAddLibraryArgs : Beamable.Common.BeamCli.IBeamCommandArgs
8
+ {
9
+ /// <summary>The shared library that will be a new dependency of the specified Portal Extensions</summary>
10
+ public string library;
11
+ /// <summary>The list of Portal Extension names that the library will be added to (separated by whitespace)</summary>
12
+ public string[] extensions;
13
+ /// <summary>Serializes the arguments for command line usage.</summary>
14
+ public virtual string Serialize()
15
+ {
16
+ // Create a list of arguments for the command
17
+ System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
18
+ // Add the library value to the list of args.
19
+ genBeamCommandArgs.Add(this.library.ToString());
20
+ // If the extensions value was not default, then add it to the list of args.
21
+ if ((this.extensions != default(string[])))
22
+ {
23
+ for (int i = 0; (i < this.extensions.Length); i = (i + 1))
24
+ {
25
+ // The parameter allows multiple values
26
+ genBeamCommandArgs.Add(("--extensions=" + this.extensions[i]));
27
+ }
28
+ }
29
+ string genBeamCommandStr = "";
30
+ // Join all the args with spaces
31
+ genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
32
+ return genBeamCommandStr;
33
+ }
34
+ }
35
+ public partial class BeamCommands
36
+ {
37
+ public virtual PortalExtensionAddLibraryWrapper PortalExtensionAddLibrary(PortalExtensionAddLibraryArgs addLibraryArgs)
38
+ {
39
+ // Create a list of arguments for the command
40
+ System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
41
+ genBeamCommandArgs.Add("beam");
42
+ genBeamCommandArgs.Add(defaultBeamArgs.Serialize());
43
+ genBeamCommandArgs.Add("portal");
44
+ genBeamCommandArgs.Add("extension");
45
+ genBeamCommandArgs.Add("add-library");
46
+ genBeamCommandArgs.Add(addLibraryArgs.Serialize());
47
+ // Create an instance of an IBeamCommand
48
+ Beamable.Common.BeamCli.IBeamCommand command = this._factory.Create();
49
+ // Join all the command paths and args into one string
50
+ string genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
51
+ // Configure the command with the command string
52
+ command.SetCommand(genBeamCommandStr);
53
+ PortalExtensionAddLibraryWrapper genBeamCommandWrapper = new PortalExtensionAddLibraryWrapper();
54
+ genBeamCommandWrapper.Command = command;
55
+ // Return the command!
56
+ return genBeamCommandWrapper;
57
+ }
58
+ }
59
+ public partial class PortalExtensionAddLibraryWrapper : Beamable.Common.BeamCli.BeamCommandWrapper
60
+ {
61
+ }
62
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: b535bb0f927551efdf4089b44a92caf9
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,65 @@
1
+
2
+ namespace Beamable.Editor.BeamCli.Commands
3
+ {
4
+ using Beamable.Common;
5
+ using Beamable.Common.BeamCli;
6
+
7
+ public partial class ProjectNewPortalExtensionLibArgs : Beamable.Common.BeamCli.IBeamCommandArgs
8
+ {
9
+ /// <summary>Name of the new project</summary>
10
+ public Beamable.Common.Semantics.ServiceName name;
11
+ /// <summary>Relative path to the .sln file to use for the new project. If the .sln file does not exist, it will be created. When no option is configured, if this command is executing inside a .beamable folder, then the first .sln found in .beamable/.. will be used. If no .sln is found, the .sln path will be <name>.sln. If no .beamable folder exists, then the <project>/<project>.sln will be used</summary>
12
+ public string sln;
13
+ /// <summary>Relative path to directory where project should be created. Defaults to "SOLUTION_DIR/services"</summary>
14
+ public string serviceDirectory;
15
+ /// <summary>Serializes the arguments for command line usage.</summary>
16
+ public virtual string Serialize()
17
+ {
18
+ // Create a list of arguments for the command
19
+ System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
20
+ // Add the name value to the list of args.
21
+ genBeamCommandArgs.Add(this.name.ToString());
22
+ // If the sln value was not default, then add it to the list of args.
23
+ if ((this.sln != default(string)))
24
+ {
25
+ genBeamCommandArgs.Add(("--sln=" + this.sln));
26
+ }
27
+ // If the serviceDirectory value was not default, then add it to the list of args.
28
+ if ((this.serviceDirectory != default(string)))
29
+ {
30
+ genBeamCommandArgs.Add(("--service-directory=" + this.serviceDirectory));
31
+ }
32
+ string genBeamCommandStr = "";
33
+ // Join all the args with spaces
34
+ genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
35
+ return genBeamCommandStr;
36
+ }
37
+ }
38
+ public partial class BeamCommands
39
+ {
40
+ public virtual ProjectNewPortalExtensionLibWrapper ProjectNewPortalExtensionLib(ProjectNewPortalExtensionLibArgs portalExtensionLibArgs)
41
+ {
42
+ // Create a list of arguments for the command
43
+ System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
44
+ genBeamCommandArgs.Add("beam");
45
+ genBeamCommandArgs.Add(defaultBeamArgs.Serialize());
46
+ genBeamCommandArgs.Add("project");
47
+ genBeamCommandArgs.Add("new");
48
+ genBeamCommandArgs.Add("portal-extension-lib");
49
+ genBeamCommandArgs.Add(portalExtensionLibArgs.Serialize());
50
+ // Create an instance of an IBeamCommand
51
+ Beamable.Common.BeamCli.IBeamCommand command = this._factory.Create();
52
+ // Join all the command paths and args into one string
53
+ string genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
54
+ // Configure the command with the command string
55
+ command.SetCommand(genBeamCommandStr);
56
+ ProjectNewPortalExtensionLibWrapper genBeamCommandWrapper = new ProjectNewPortalExtensionLibWrapper();
57
+ genBeamCommandWrapper.Command = command;
58
+ // Return the command!
59
+ return genBeamCommandWrapper;
60
+ }
61
+ }
62
+ public partial class ProjectNewPortalExtensionLibWrapper : Beamable.Common.BeamCli.BeamCommandWrapper
63
+ {
64
+ }
65
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 30c0879710d428b5d97e9ddb978367c0
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -629,19 +629,41 @@ namespace Beamable
629
629
  await BeamCli.Login(host, cid, email, password);
630
630
  ApplyRequesterToken();
631
631
  OnUserChange?.Invoke(BeamCli.latestUser);
632
-
633
- if (!ConfigDatabaseProvider.HasConfigFile())
632
+ // When the account has exactly one game, there is no game-selection step.
633
+ // Use that game's production/root PID as the first-run build PID. Multi-game
634
+ // accounts wait for the user to choose a game/realm before we write build config.
635
+ if (BeamCli.latestGames?.VisibleGames?.Length == 1)
634
636
  {
635
- CommitConfigDefaults();
637
+ var productionPid = BeamCli.latestGames.VisibleGames[0].Pid;
638
+ CommitProductionBuildConfigDefaultsIfMissing(productionPid);
636
639
  }
637
640
  }
638
641
 
639
- public void CommitConfigDefaults()
642
+ public void CommitProductionBuildConfigDefaultsIfMissing(string productionPid = null)
643
+ {
644
+ var config = ServiceScope.GetService<ConfigDatabaseProvider>();
645
+ config.Reload();
646
+
647
+ if (!string.IsNullOrEmpty(config.Pid))
648
+ {
649
+ return;
650
+ }
651
+
652
+ productionPid ??= BeamCli.CurrentRealm?.FindRoot()?.Pid;
653
+ if (string.IsNullOrEmpty(productionPid))
654
+ {
655
+ return;
656
+ }
657
+
658
+ CommitConfigDefaults(productionPid);
659
+ }
660
+
661
+ public void CommitConfigDefaults(string pidOverride = null)
640
662
  {
641
663
  var config = new ConfigData()
642
664
  {
643
665
  cid = BeamCli.Cid,
644
- pid = BeamCli.Pid,
666
+ pid = pidOverride ?? BeamCli.Pid,
645
667
  alias = BeamCli.Alias,
646
668
  host = BeamCli.HostUrl,
647
669
  portalUrl = BeamCli.PortalUrl
@@ -663,13 +685,14 @@ namespace Beamable
663
685
 
664
686
  if (writeConfig)
665
687
  {
688
+ var wasNewConfigFile = !File.Exists(path);
666
689
  string directoryName = Path.GetDirectoryName(path);
667
690
  if (!string.IsNullOrWhiteSpace(directoryName))
668
691
  {
669
692
  Directory.CreateDirectory(directoryName);
670
693
  }
671
694
 
672
- if (File.Exists(path))
695
+ if (!wasNewConfigFile)
673
696
  {
674
697
  var fileInfo = new FileInfo(path);
675
698
  fileInfo.IsReadOnly = false;
@@ -684,8 +707,30 @@ namespace Beamable
684
707
  Debug.LogWarning($"Unable to checkout: {path}");
685
708
  }
686
709
  }
687
-
710
+
688
711
  File.WriteAllText(path, asJson);
712
+ if (wasNewConfigFile)
713
+ {
714
+ // Import synchronously so Unity's AssetDatabase can see the newly-created
715
+ // Resources asset before callers continue. This matters for first-run setup,
716
+ // where config-defaults.txt may not have existed a moment earlier.
717
+ AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceSynchronousImport | ImportAssetOptions.ForceUpdate);
718
+
719
+ // ImportAsset can still fail to resolve the asset immediately in some editor
720
+ // timing cases, so fall back to a synchronous refresh before reloading config.
721
+ if (AssetDatabase.LoadAssetAtPath<TextAsset>(path) == null)
722
+ {
723
+ AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport);
724
+ }
725
+
726
+ // Keep the Project window in sync for editor-driven writes, but avoid repainting
727
+ // editor UI while Unity is in the build pipeline.
728
+ if (!BuildPipeline.isBuildingPlayer)
729
+ {
730
+ EditorApplication.RepaintProjectWindow();
731
+ }
732
+ }
733
+
689
734
  ServiceScope.GetService<ConfigDatabaseProvider>().Reload();
690
735
  }
691
736
  }
@@ -86,7 +86,8 @@ namespace Beamable.Editor.ToolbarExtender
86
86
  });
87
87
  if(!sameEditorAndBuildPids)
88
88
  {
89
- menu.AddItem(new GUIContent(rootDisplay.text + "/Save to config-defaults"), false, editor.CommitConfigDefaults);
89
+ menu.AddItem(new GUIContent(rootDisplay.text + "/Save to config-defaults"), false,
90
+ () => editor.CommitConfigDefaults());
90
91
  }
91
92
  }
92
93
  }
@@ -10,6 +10,8 @@ namespace Beamable.Editor.Accounts
10
10
  {
11
11
  public partial class AccountWindow
12
12
  {
13
+ private bool _isSelectingRealm;
14
+
13
15
  public bool needsGameSelection;
14
16
  public int gameSelectionIndex = 0;
15
17
  public int realmSelectionIndex = 0;
@@ -104,14 +106,28 @@ namespace Beamable.Editor.Accounts
104
106
  EditorGUILayout.Space(24);
105
107
 
106
108
  {
107
- GUI.enabled = realmSelectionIndex >= 0;
109
+ GUI.enabled = realmSelectionIndex >= 0 && !_isSelectingRealm;
108
110
  var wasClicked = BeamGUI.PrimaryButton(new GUIContent("Continue"), allowEnterKeyToClick: true);
109
111
  GUI.enabled = true;
110
112
 
111
113
  if (wasClicked)
112
114
  {
113
- var _ = context.SwitchRealm(availableRealms[realmSelectionIndex].Pid);
114
- needsGameSelection = false;
115
+ _isSelectingRealm = true;
116
+
117
+ var selectedPid = availableRealms[realmSelectionIndex].Pid;
118
+ var switchPromise = context.SwitchRealm(selectedPid);
119
+ switchPromise.Then(_ =>
120
+ {
121
+ context.CommitProductionBuildConfigDefaultsIfMissing();
122
+ needsGameSelection = false;
123
+ _isSelectingRealm = false;
124
+ });
125
+
126
+ switchPromise.Error(ex =>
127
+ {
128
+ _isSelectingRealm = false;
129
+ Debug.LogError($"[AccountWindow_Games] Failed to switch realm: {ex}");
130
+ });
115
131
  }
116
132
  }
117
133
 
@@ -1,3 +1,4 @@
1
+ using Beamable.Common.Api.Realms;
1
2
  using Beamable.Config;
2
3
  using Beamable.Editor.BeamCli;
3
4
  using Beamable.Editor.Content;
@@ -70,13 +71,13 @@ namespace Beamable.Editor.Accounts
70
71
  RenderLabel("Runtime Cid", config.Cid, "No value set");
71
72
 
72
73
  var realmDisplay = config.Pid;
73
- if (cli.pidToRealm.TryGetValue(config.Pid, out var realm))
74
+ if (!string.IsNullOrEmpty(config.Pid) && cli.pidToRealm.TryGetValue(config.Pid, out RealmView realm))
74
75
  {
75
76
  realmDisplay = realm.GetDisplayName();
76
77
  }
77
78
  RenderLabel("Runtime Realm", realmDisplay, "No value set");
78
79
 
79
- List<string> missingRuntimeFields = new List<string>();
80
+ var missingRuntimeFields = new List<string>();
80
81
  if (string.IsNullOrEmpty(config.HostUrl))
81
82
  {
82
83
  missingRuntimeFields.Add("host");
@@ -1,9 +1,9 @@
1
- {
2
- "environment": "staging",
1
+ {
2
+ "environment": "prod",
3
3
  "apiUrl": "https://api.beamable.com",
4
4
  "portalUrl": "https://portal.beamable.com",
5
5
  "beamMongoExpressUrl": "https://storage.beamable.com",
6
6
  "dockerRegistryUrl": "https://microservices.beamable.com/v2/",
7
7
  "isUnityVsp": "false",
8
- "sdkVersion": "5.1.0-PREVIEW.RC9"
8
+ "sdkVersion": "5.1.0"
9
9
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "nugetPackageVersion": "7.2.0-PREVIEW.RC6"
2
+ "nugetPackageVersion": "7.2.0"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "com.beamable",
3
- "version": "5.1.0-PREVIEW.RC9",
3
+ "version": "5.1.0",
4
4
  "displayName": "Beamable",
5
5
  "description": "A better way to build games in Unity\n",
6
6
  "unity": "2021.3",