able-flag-99402
12/03/2025, 12:51 PMbig-crayon-53518
12/03/2025, 2:40 PMalert-exabyte-3603
12/04/2025, 12:47 AMthousands-alarm-48630
12/04/2025, 6:45 AMnutritious-dog-12771
12/04/2025, 10:58 AMlively-kitchen-7419
12/04/2025, 3:36 PM_async_ _def_ on_experiment_viewed(...))
• the python source code doesn't seem to have any async behavior or types, seems to just run the method (and the README itself doesn't mention the async def option).
Is this a docs discrepancy?ambitious-journalist-94494
12/05/2025, 11:49 PMgorgeous-thailand-87135
12/07/2025, 9:24 AMdamp-sandwich-78508
12/08/2025, 4:44 AMbored-address-72606
12/08/2025, 8:08 PMmany-jackal-19590
12/09/2025, 8:28 AMgorgeous-thailand-87135
12/09/2025, 10:28 AMmicroscopic-honey-15884
12/09/2025, 10:29 AMicy-salesclerk-92186
12/09/2025, 1:31 PMlively-kitchen-7419
12/09/2025, 2:51 PMnarrow-night-29710
12/09/2025, 4:38 PMhallowed-salesmen-49252
12/10/2025, 11:33 AMnutritious-garden-91325
12/10/2025, 1:15 PMgreen-fall-98011
12/10/2025, 2:03 PMForceResultSource
Would it be possible to create a PR to add a percentage rollout type?
Use case - I would like to track how many users were evaluated by given rule - but I want to measure it only for percentage rolloutlate-ambulance-66508
12/10/2025, 4:26 PM/upload/signed-url-for-upload returns 200 with 4 keys: signedUrl, fileUrl, filePath, expiresAt
• then, request <https://storage.googleapis.com/$MY_BUCKET/$MY_ORG/$MY_MONTH/$IMAGE?GoogleAccessId=$MY_ACCOUNT&Expires=$MY_EXP&Signature=$MY_SIGNATURE> fails due to CORS error
I tried to execute 2nd request via curl, and it uploaded empty file (it's ok), so the credentials are correctflaky-rain-76756
12/10/2025, 8:34 PMquick-ability-87647
12/10/2025, 10:28 PMmysterious-hospital-86275
12/11/2025, 6:40 AMquiet-appointment-16980
12/11/2025, 9:59 AMdamp-receptionist-34609
12/11/2025, 1:25 PM@Configuration
class GrowthBookConfig {
@Bean
suspend fun growthBook(): GrowthBookSDK {
val growthBook = GBSDKBuilder(
apiKey = System.getenv("GROWTHBOOK_API_KEY"),
hostURL = "<https://cdn.growthbook.io/>",
attributes = mapOf("environment" to "production"),
networkDispatcher = NetworkDispatcherOkHttp()
).initialize()
growthBook.refreshCache()
return growthBook
}
}
@RestController
@RequestMapping("/api")
class FeatureController(private val growthBook: GrowthBookSDK) {
@GetMapping("/features/{userId}")
suspend fun getUserFeatures(@PathVariable userId: String): Map<String, Any?> {
// Set user-specific attributes
growthBook.setAttributes(mapOf(
"id" to userId,
"environment" to "production"
))
return mapOf(
"newDashboard" to growthBook.feature("new-dashboard").on,
"maxItems" to growthBook.feature("max-items").value,
"premiumFeatures" to growthBook.feature("premium-features").on
)
}adorable-balloon-99556
12/11/2025, 4:39 PMhundreds-psychiatrist-3940
12/12/2025, 10:01 AMenough-ice-36370
12/16/2025, 11:24 AMX and also has attribute targeting setup, say attribute a1=value1. During the onboarding of a user into our app, the user is presented with a series of screens. One of the screens is where we set the users attribute a1=value1 by calling await growthbook.setAttributes(growthbookAttributes);. Then, after a few more screens, we access the growthbook feature X.
At what point would the experiment be started for this user? Would it be as soon as we have set their attributes or would it be only once we have accessed feature X in our code?brainy-honey-82139
12/16/2025, 3:39 PMabundant-monitor-46
12/16/2025, 10:59 PM