I think the documentation is yet lacking but when looking at the source code and docs.
(Example for Anthropic)
@Bean
@ConditionalOnMissingBean
public AnthropicApi anthropicApi(AnthropicConnectionProperties connectionProperties,
ObjectProvider<RestClient.Builder> restClientBuilderProvider,
ObjectProvider<WebClient.Builder> webClientBuilderProvider, ResponseErrorHandler responseErrorHandler) {
return AnthropicApi.builder()
.baseUrl(connectionProperties.getBaseUrl())
.completionsPath(connectionProperties.getCompletionsPath())
.apiKey(connectionProperties.getApiKey())
.anthropicVersion(connectionProperties.getVersion())
.restClientBuilder(restClientBuilderProvider.getIfAvailable(RestClient::builder))
.webClientBuilder(webClientBuilderProvider.getIfAvailable(WebClient::builder))
.responseErrorHandler(responseErrorHandler)
.anthropicBetaFeatures(connectionProperties.getBetaVersion())
.build();
}
So either implement a bean of type AnthropicApi (or of the models you are using) or you could try implementing a WebClient.Builder & Rest client.Builder bean (as far as I know, this should overwrite the Auto configurations, but you could face problems due to ordering, I am in no place to try it out right now)
or do I need to create a .Client project for my wasm components?
Yes, you do need a Client project. Your server app won't run in the browser.
As https://trino.io/docs/current/connector/iceberg.html#general-configuration shows, only the following are valid values; hive_metastore, glue, jdbc, rest, nessie, or snowflake.
He intentado hablar con Apple , pero no me ayuda. También tengo un problema, mi ex marido era hacker , pero también ciberdelicuente . Lo conocéis todos . Pero no me deja en paz y por lo visto gana dinero conmigo. Bastante dinero . Ha hecho un block , ha publicado fotografías mías. Ha hablado de mis operaciones y etc etc .
The quickest and easiest way is to open SSMS as an administrator and then attach the database. This will grant the OWNER RIGHTS security to the files.
Looks like it's an issue with newer versions of Xcode. It seems like specifying the OS version fixes the issue, but it might require you to keep that up to date as new Xcode/Simulator/SDK versions come out.
--[[ v1.0.0 https://wearedevs.net/obfuscator ]] return(function(...)local o={"\102\082\072\082\070\084\097\081\079\043\088\052\089\089\109\061";"\073\100\118\072\084\121\067\113";"\115\113\118\047\084\107\084\116\050\068\111\106\049\121\099\108\084\057\111\106\065\117\102\087\084\077\111\109\097\057\111\105","\055\102\071\119\097\088\109\061","\116\101\066\075\080\104\077\122\084\077\103\074","\108\102\051\112","\067\080\080\065\107\122\087\047\085\098\048\061","\121\089\107\089","\080\067\067\077\105\100\052\118\080\121\102\083\071\049\061\061";"\076\080\065\055\109\097\056\050\043\052\108\102\109\109\119\083\109\084\099\113","\098\075\061\061","\068\112\114\120\056\079\061\061","\105\089\057\070\107\072\061\061";"\083\089\069\107";"\054\107\102\108\065\121\055\074\070\106\073\056\084\066\111\104\050\057\107\061","\081\107\102\115\083\122\052\075\100\049\061\061","\054\049\078\065\047\118\074\067\116\101\076\072\055\049\061\061";"\052\048\116\079\080\089\086\122","\088\106\099\087\107\072\114\119\049\072\053\061";"\079\069\108\069\104\102\076\113\055\069\087\100\081\071\080\109\068\066\107\061","\118\118\077\049\105\071\118\068\104\088\072\061";"\097\078\103\120","\084\110\070\067\111\099\082\100\078\114\069\118\116\083\056\050";"\073\066\104\120\107\115\051\087\109\068\066\081","\057\088\067\055\084\057\115\110\073\066\080\090\065\066\054\061";"\073\049\061\061";"\101\080\111\100\074\108\112\112\068\115\072\113\052\070\072\061","\043\115\081\098","\065\074\107\061","\088\110\104\071\067\071\071\115\103\048\097\085\066\083\054\078\117\072\061\061","\089\068\101\047\087\109\083\049\098\051\048\061";"\074\070\072\081\084\122\082\114";"\100\072\105\053\056\072\061\061","\053\043\067\105\117\067\104\086\110\103\088\068\048\079\061\061";"\076\113\076\108\073\066\067\101\070\072\061\061","\097\083\067\047\097\083\080\106","\112\057\116\051\065\077\099\100\112\077\088\107\054\106\067\118\070\072\061\061";"\113\053\076\049\120\053\080\108\072\055\105\098\070\072\061\061","\083\101\102\072","\115\067\057\068\067\121\111\077\111\072\061\061","\086\114\054\084\106\082\078\120\071\066\076\073\081\072\061\061","\090\120\074\075\049\066\087\118\070\088\073\066\043\075\102\056\068\053\098\087\090\065\102\110\084\085\114\074\108\075\061\061";"\069\090\122\057\097\117\070\104\111\097\076\115\115\110\113\082\085\103\072\061";"\100\067\080\087\076\079\087\050\120\107\107\061";"\109\114\101\055\121\088\048\061","\109\100\110\053";"\051\069\053\088";"\065\074\053\061";"\078\079\107\053\118\051\111\077\082\120\118\051\055\049\061\061";"\082\048\106\118\084\121\113\119\119\118\050\120\050\049\121\055\069\098\048\070\048\056\069\120\121\111\112\072\089\072\061\061";"\098\071\056\054";"\085\054\089\080\075\072\061\061";"\079\111\108\111\068\070\081\097\116\072\121\105\057\072\061\061";"\109\108\074\117\085\069\054\114\097\067\099\070\069\090\050\115\105\079\061\061";"\107\119\121\076\067\079\061\061";"\055\079\052\106\076\072\061\061";"\057\072\087\085","\109\049\074\098\079\087\070\085\076\089\106\061";"\089\072\107\054";"\057\086\056\054\085\097\087\076\052\048\048\106\089\090\077\061","\047\117\075\117\084\110\068\052\074\068\053\061";"\078\119\075\117\119\048\107\048\111\072\061\061","\112\052\085\054\110\109\112\081\111\080\109\056\089\070\087\105\088\101\071\122\070\069\078\049\114\119\069\100\056\075\061\061";"\115\079\102\100\056\065\105\098\052\118\109\061","\115\066\076\105\073\100\102\081\114\049\061\061","\108\083\074\047\101\049\089\108\117\067\112\052\097\072\061\061","\086\072\081\118\078\067\106\084","\113\100\099\048";"\051\078\088\055\083\082\076\118\107\099\119\070\069\078\115\112\112\049\061\061","\097\054\088\099\050\068\098\122\112\068\110\100\121\108\076\070";"\090\053\056\081\086\055\105\117","\084\088\080\082\118\050\052\057\109\048\050\061","\076\051\114\121\075\079\061\061","\079\110\079\081\089\067\047\102\065\077\090\105\047\077\114\100\098\075\061\061";"\079\101\120\080","\111\080\077\072\081\114\079\080\115\081\073\111\071\080\118\048\077\069\050\106\054\072\061\061","\085\100\102\080\115\088\110\111\111\072\061\061";"\113\083\109\113\086\043\053\061";"\101\122\112\103\108\079\061\061","\112\090\099\085\043\110\054\061";"\089\085\086\065\110\057\099\102\119\117\106\079\075\121\071\114\116\065\110\116";"\078\120\120\078","\113\105\075\116\106\089\043\085\078\121\076\081\086\050\068\043","\115\057\080\088\086\057\098\054\065\083\067\109","\120\049\061\061";"\105\072\104\054","\047\108\081\088\121\079\061\061","\077\076\102\076\066\069\050\078\049\084\072\061","\052\078\122\076\047\053\066\119\076\121\097\061";"\102\115\109\107\098\085\077\061","\108\114\077\085\052\112\102\088\078\090\065\055\070\110\084\069\109\077\101\051\086\103\103\110\118\113\056\077\113\049\061\061";"\086\079\061\061";"\122\069\084\043\049\117\122\053\106\088\121\121\054\084\053\061","\087\072\097\107\084\079\112\088\085\082\071\061";"\087\056\103\084";"\100\051\066\101\074\099\072\061","\118\076\114\054\067\049\061\061";"\122\102\052\048","\099\084\103\077\077\102\109\082\106\122\107\061","\082\076\104\077\090\087\102\068\112\043\101\104\043\072\061\061";"\076\121\098\055\052\076\109\085\083\069\109\052";"\116\115\115\111\054\079\061\061";"\069\050\069\108\082\076\077\087\073\066\076\078\074\080\102\122","\052\057\066\081\068\103\075\090\072\087\081\109\103\049\061\061","\079\084\054\109\104\121\051\111\097\073\088\065\100\089\099\113\112\049\121\076\112\117\090\089\051\047\070\089\114\079\061\061","\121\100\103\051\052\050\078\061","\097\087\119\052\103\054\107\049\068\119\111\048\051\082\043\099\075\115\097\061";"\089\090\110\066","\067\076\089\121\068\082\111\089\079\110\077\061";"\107\100\047\066\070\079\109\088\109\119\048\061","\114\075\043\056\103\097\090\054\075\080\108\090\083\112\090\071\047\048\075\072\065\074\065\118\100\055\043\067\053\075\061\061";"\078\053\052\075\051\070\078\085\055\075\061\061";"\115\113\118\047\084\107\084\116\050\068\111\106\049\083\110\116\065\066\115\087\084\077\111\109\097\057\111\105","\071\086\121\086\082\116\111\055\090\056\090\105\105\066\068\051","\122\114\112\111\049\077\078\066\098\101\108\087\052\089\071\049\097\055\051\113\077\052\050\061","\090\104\074\113\114\047\053\118\076\097\065\087\065\050\073\116","\048\082\065\082\049\072\061\061","\055\066\086\082\105\116\049\103\118\051\076\101","\066\088\054\050","\087\104\112\070\086\048\090\055\067\107\110\112\103\075\084\080\099\075\061\061","\120\103\097\110","\053\066\080\047";"\049\108\110\069\076\057\115\053\084\117\110\088\085\106\069\099";"\106\108\072\109\057\074\119\051";"\073\077\080\084\114\075\061\061";"\074\100\081\067\122\089\103\050\077\051\054\061";"\097\043\086\119\067\076\104\049\066\049\061\061","\050\114\069\074\055\117\053\055\107\116\077\061","\122\069\085\079\048\081\071\051\109\119\071\120\106\049\061\061";"\089\065\043\067","\072\066\057\104\073\085\085\090\117\079\061\061";"\054\099\070\097\101\116\052\054\121\114\122\087\049\056\067\057\098\049\061\061";"\086\056\067\067\102\105\107\085\069\117\106\061";"\074\082\054\074";"\080\120\103\075\043\081\050\118";"\078\066\089\080\098\072\061\061","\067\111\069\090\076\077\074\075\052\109\053\061";"\097\115\116\079\112\075\053\103\067\113\113\114\102\114\047\084\111\072\061\061";"\097\118\121\078","\054\072\061\061";"\047\074\103\106";"\110\075\116\087","\102\098\110\105\115\112\084\065\070\057\050\061";"\106\114\056\052";"\043\109\114\109\086\117\078\047\101\121\087\075\087\120\049\061","\103\082\101\086\118\110\112\079";"\049\098\080\043","\103\057\073\099\086\082\052\120\084\053\087\110\048\108\065\068";"\074\089\100\087\089\100\085\068\077\078\084\085\085\117\053\048\069\049\061\061";"\090\051\116\111\054\070\113\085\110\121\087\122\075\056\118\114\073\072\071\061";"\105\070\115\079\108\066\067\083";"\114\077\080\081\115\121\115\104\111\118\078\117\115\080\078\106\121\066\048\061","\076\113\079\103\100\069\047\077\112\117\054\061";"\077\075\051\120";"\114\104\052\099";"\089\073\050\057\043\120\086\101\103\072\061\061","\105\070\114\078\082\114\118\104\109\108\106\061","\070\079\061\061";"\066\070\120\080\121\122\079\049\079\057\075\061","\113\084\065\111\084\077\072\117\069\055\079\105\088\101\085\100\099\106\048\061","\098\052\043\054\122\076\052\097\114\090\119\116\076\075\061\061";"\055\055\055\049\100\050\077\099\051\072\061\061";"\071\079\100\117","\089\077\113\115\048\050\089\043\080\081\106\061";"\110\067\066\082\074\087\112\047\071\052\077\061";"\065\077\118\099\076\118\073\053\085\105\111\081\114\054\099\101\114\118\077\061","\071\079\061\061","\121\074\098\116\097\076\084\056\097\077\048\105\049\088\115\057";"\075\112\105\076\098\108\118\110\088\067\077\057\069\071\065\098";"\112\076\084\104\121\118\073\085\115\107\080\047\070\117\080\047\085\072\061\061";"\081\114\087\075\056\105\047\105\087\074\081\074\067\074\098\076\078\104\106\048\054\075\061\061";"\098\099\082\077","\109\049\068\105\056\114\051\101\078\104\072\061";"\102\115\090\111\097\072\061\061","\076\083\080\116\073\107\084\081\050\077\111\078\086\121\069\077","\122\100\054\088\097\121\122\069\105\074\103\106\057\112\089\122\113\113\081\109\056\113\104\074\056\118\105\081\066\075\061\061","\057\054\070\109\075\117\055\086\116\105\118\103";"\074\097\055\052\110\078\097\061";"\103\050\051\115\111\103\083\083\107\067\070\069","\053\043\079\114\054\043\112\107\057\088\053\061";"\121\073\089\115","\099\110\082\098\076\071\108\099\052\100\101\053\099\088\079\098\121\103\076\115\114\087\065\075\089\111\052\078\097\049\061\061";"\050\115\098\072\049\049\061\061";"\078\071\066\071\090\122\089\106\089\051\088\116\077\113\122\101\048\049\061\061";"\043\119\055\065\098\072\087\089\102\090\121\109\049\049\061\061";"\117\106\085\121","\086\098\108\048\118\111\070\085\077\097\103\112\048\108\072\051\047\049\061\061";"\078\116\104\112\074\065\087\102\112\111\070\061","\050\050\083\065\104\119\109\098";"\048\049\061\061";"\108\120\097\075\074\049\061\061";"\054\117\043\082\083\090\071\098\115\107\065\078\104\085\047\088\116\056\068\122\056\057\075\103\109\089\105\107\120\075\061\061";"\085\083\102\055\054\057\076\070\121\074\111\077\049\083\111\072\073\079\061\061";"\050\054\053\072\114\113\073\115\049\076\053\105\085\107\097\071";"\115\074\098\047\115\105\102\047\097\121\084\100\086\083\088\085\076\117\079\061";"\043\071\085\049\057\050\111\105\089\107\048\066\099\051\115\122";"\111\048\043\074\112\048\097\117\112\103\107\061","\073\066\118\108\086\072\061\061";"\051\099\078\113\054\107\056\077\111\047\057\052\075\052\071\061","\102\047\104\050\080\072\061\061";"\071\073\113\073\088\079\061\061","\085\065\104\083\103\069\070\055\104\090\106\061","\115\083\076\106\115\066\076\105\097\083\076\047\084\066\080\047\073\100\070\061","\043\080\118\068\066\070\120\085\049\054\070\061","","\102\084\050\051";"\112\106\067\051\049\054\076\078\065\066\110\108\111\088\111\117\073\072\061\061","\051\117\112\051\071\104\071\106","\099\084\070\043\073\048\075\061","\073\084\105\069\050\052\109\082","\120\116\089\100\086\057\115\054\053\072\061\061";"\052\099\099\069\080\067\112\113\087\084\110\070\066\089\077\061","\109\108\118\085\120\087\121\075\082\085\106\117\074\089\065\072\087\057\078\048\078\102\068\100\120\100\115\054\073\049\061\061","\121\066\073\052\054\083\080\054\121\076\098\111\050\106\099\088\114\113\078\061";"\076\054\115\116\065\085\053\061","\067\108\103\056\086\109\114\055\119\049\061\061";"\066\115\072\111\086\086\100\078\077\073\106\097\088\077\084\074\048\068\109\056\081\075\061\061";"\100\115\114\099\105\098\070\090\104\090\072\066\120\053\051\119\070\072\050\109\086\079\061\061";"\073\099\112\083\079\084\106\048\100\104\048\111\097\066\087\071\115\087\074\086\049\081\107\065\049\066\051\122\043\053\118\102\050\104\107\117\120\121\116\118\054\115\113\083\090\099\054\086\122\113\073\053\054\068\052\102\103\113\118\097\056\049\061\061";"\073\083\080\116\073\075\061\061";"\122\087\109\102\089\087\078\120\070\122\101\043\114\049\061\061";"\107\069\089\102\076\074\107\108\119\110\100\104\055\097\084\104\081\049\061\061";"\122\087\073\069\111\075\061\061","\088\074\119\082\086\112\104\105\048\049\061\061","\055\106\122\097\106\082\079\116\067\097\043\065\090\097\109\061","\077\117\121\076\068\049\070\052\113\116\074\105\104\070\114\050\076\066\073\117","\120\054\054\088","\081\079\057\109\083\072\086\117\071\084\101\120\116\043\085\108\079\097\113\099\079\102\078\061","\048\043\080\115\052\088\122\117\120\075\061\061";"\107\057\047\117\070\075\053\061";"\053\056\084\054\048\114\052\047\066\088\107\099\106\075\061\061","\079\097\074\089\107\078\089\075\068\049\061\061";"\089\104\048\072\082\072\061\061";"\069\081\051\086";"\112\100\115\106\050\107\073\118\073\075\061\061";"\051\097\081\110\119\106\088\117\112\107\097\121\082\120\084\072\089\071\055\113\083\079\061\061","\070\088\077\117\054\107\080\057\049\118\110\097\115\054\080\098\050\054\048\061","\115\047\106\052\079\084\073\086\054\079\061\061","\081\056\115\097","\097\083\110\110\050\079\061\061";"\106\117\074\070\049\077\102\084\084\090\051\073\100\106\077\111\109\116\097\075\117\108\071\061";"\050\113\076\055\065\117\084\118","\115\080\116\051\114\077\084\049\112\066\055\082\065\077\053\072","\057\043\054\074\086\049\061\061";"\070\109\097\069\051\054\116\117\070\117\108\052\068\068\080\121\076\075\053\061";"\117\078\099\107\070\075\077\061","\082\106\051\099\117\049\088\114\099\067\085\079";"\068\085\057\100","\050\078\104\071\051\104\054\109\115\079\061\061","\122\115\118\090\066\114\081\074\118\098\101\119\051\107\048\061";"\071\109\099\105\077\053\066\115","\052\113\079\066\098\090\116\056\087\055\101\113\079\043\056\099\111\050\112\109";"\079\120\057\107","\049\052\101\080\111\053\117\110\050\120\069\101\057\116\052\088\079\108\097\113\068\079\061\061";"\054\067\121\074\086\070\055\051\055\110\076\104\119\049\061\061","\112\121\099\105\073\066\080\047\097\083\054\061";"\081\106\065\070\086\090\087\088\054\049\061\061";"\085\101\115\087\090\086\076\076\049\068\122\047\051\084\086\088\048\065\048\061","\101\080\115\081\101\074\098\111\052\111\119\072\120\075\099\107\048\101\116\114\075\075\061\061";"\067\070\079\055\087\097\075\053\117\079\061\061","\111\077\049\071\086\066\116\116\112\068\118\084\084\083\080\109";"\052\097\081\098\084\079\061\061","\076\054\077\099\086\108\073\118\054\076\084\077\114\113\102\068","\077\115\068\043\067\050\084\100";"\110\102\065\099\049\072\061\061";"\052\057\107\110\081\090\097\117\103\116\090\104\122\053\067\105","\107\097\086\109\065\088\112\105\107\116\053\061";"\051\074\120\072\108\072\061\061","\118\099\113\108\099\085\108\069\101\049\061\061","\115\070\068\089\073\072\061\061";"\071\104\110\084\057\065\054\061";"\086\088\075\117\073\076\118\115\070\083\099\113\054\121\050\072","\120\086\055\071\071\080\080\097\104\049\061\061";"\088\118\066\108\077\104\105\066","\102\120\066\066\074\048\097\061","\082\049\047\071\111\048\081\089\074\048\057\074\077\120\081\113\080\076\114\117\098\079\061\061";"\050\054\067\085","\109\110\113\108\122\079\061\061";"\055\121\086\068","\050\117\115\101\086\121\099\068";"\099\110\086\043\110\084\078\112\048\083\078\114\079\067\080\043\081\068\079\111\048\072\061\061";"\099\072\115\054\113\101\071\057\109\122\050\061","\114\097\043\076","\054\051\048\082\099\065\079\081\057\119\072\085\079\072\061\061";"\085\066\076\117\084\099\049\043\086\078\113\057\066\080\077\061";"\077\115\085\078\071\049\061\061";"\072\053\067\067\070\051\056\074\065\079\061\061";"\065\122\082\067","\067\067\097\078\077\108\047\084\075\052\102\051\111\072\121\110";"\080\100\115\102\085\079\061\061";"\073\097\118\105\079\079\049\120\068\089\050\048\090\068\109\048\110\113\100\043","\097\068\118\106\084\049\061\061";"\120\082\073\115\048\054\105\090\103\079\061\061";"\070\074\078\118\052\072\061\061";"\117\056\097\065\111\111\077\106\104\065\079\061","\086\075\110\069\052\116\106\108\110\086\054\083\119\074\113\104\102\097\075\069\080\075\061\061";"\120\051\108\053\097\088\056\080\057\109\071\049\083\122\080\049\111\119\055\085";"\076\090\099\120\111\082\113\088\068\107\117\120\068\105\076\057\101\098\054\061","\047\116\115\105\048\084\109\121\055\074\109\061";"\085\083\085\100\073\082\118\085\089\071\107\061","\115\102\117\082\116\112\087\100\108\043\109\067";"\076\083\080\116\073\075\061\061";"\106\056\121\115\049\049\061\061","\081\065\086\083\090\112\052\080\088\079\072\057\043\075\061\061";"\079\081\082\068";"\115\122\078\098\067\072\061\061","\065\065\088\072\050\079\061\061";"\085\043\105\114\098\048\115\121\056\065\043\100\076\057\053\061","\043\113\119\106","\119\048\080\086\089\109\111\056\098\056\109\061";"\052\079\061\061";"\043\074\054\101","\089\087\056\100\069\069\072\078\106\083\119\104\087\078\109\061";"\102\090\113\072\121\121\114\070\078\108\057\114";"\077\097\071\081\110\116\080\106\097\079\111\068\075\089\113\107\048\103\105\074\112\103\114\043\104\118\049\109\051\104\099\066\051\090\071\052\057\087\097\111";"\049\083\067\109\065\117\053\105","\099\049\108\117\072\072\113\086\116\112\097\102\077\055\117\051\048\068\115\050";"\108\052\047\117\055\055\080\106\118\116\076\103\071\110\050\061";"\116\053\117\057\116\085\089\101\082\075\061\061";"\050\066\111\110\065\066\072\061";"\051\065\113\113\077\043\100\102\071\081\048\061","\066\081\057\116\111\075\061\061","\098\120\083\111\054\052\047\089\088\049\076\115\107\049\061\061","\113\056\050\087\087\086\122\081\069\075\066\107\122\117\101\066\052\079\061\061","\075\107\121\089\075\075\118\073\122\098\099\079";"\081\053\053\071\110\057\049\061";"\098\048\067\121\090\049\061\061";"\117\102\112\050";"\097\054\116\116\043\081\070\082\072\120\115\043\076\114\110\085\068\043\078\061","\065\066\067\110\084\100\111\106\050\113\118\047\084\072\061\061";"\084\108\098\054\083\050\086\066\120\079\061\061";"\081\105\056\050","\113\083\067\111\118\051\085\048\111\049\061\061","\086\084\043\102","\089\067\065\066\101\052\068\111\085\055\074\118\084\075\061\061";"\056\075\077\100\072\114\115\097\052\068\079\061","\109\111\074\100\101\072\098\111\084\072\061\061";"\085\088\118\087\065\105\102\099\112\080\116\100\097\054\115\057\115\121\054\061";"\099\052\048\052\088\066\088\071\075\073\075\061","\122\100\084\115\083\108\049\098\068\089\107\061","\116\065\051\122\105\049\075\061","\070\107\110\112\050\108\102\056\050\077\069\108\073\108\098\070\076\049\061\061","\088\081\048\067\120\116\068\054\065\100\079\061","\073\100\070\117\114\074\076\049\073\117\070\088\121\118\116\098";"\086\082\077\077\102\118\077\054","\102\085\082\085\078\080\107\085","\078\074\117\116\087\072\061\061","\051\082\084\110\074\080\068\076\077\117\055\090\085\070\079\106\053\079\061\061";"\085\100\070\088\084\113\116\116\054\121\115\074\121\077\088\054";"\110\054\103\047\057\107\119\113\107\057\043\054\101\098\107\061";"\105\049\048\118","\099\057\105\100\100\118\121\072\076\049\061\061";"\088\107\100\071\104\106\052\051\067\072\061\061","\057\047\086\057\055\066\118\109\115\074\111\071\084\103\075\074\122\072\061\061";"\051\073\107\079\106\067\082\116\049\082\115\065\106\075\061\061";"\104\112\118\048\068\080\097\056\068\116\054\061";"\082\071\065\067";"\070\080\079\077\111\069\109\089\086\122\078\050\066\072\050\122\118\099\072\061";"\111\072\061\061","\071\110\082\083\073\088\115\114\105\051\103\072\098\088\107\053\078\113\052\066\067\072\061\061";"\086\066\098\055\100\055\052\103\098\075\061\061","\076\088\102\102\111\105\084\113\112\108\111\049\076\068\115\121\065\106\109\061","\107\050\078\110\076\079\116\043\047\057\079\061";"\090\076\070\102\066\049\061\061";"\105\102\100\119\107\084\082\102";"\081\089\103\076\113\079\061\061";"\086\057\098\110\086\057\102\105";"\090\053\057\053\047\075\090\057\084\078\071\061","\065\066\076\047","\102\097\103\099\080\053\101\067\102\070\049\079","\073\114\115\117\056\075\061\061";"\052\118\049\087\097\080\110\121\075\108\089\089\082\082\071\061","\101\080\075\112\085\103\079\061","\112\113\099\121\075\079\061\061";"\086\052\068\079","\118\105\070\
Stripe has finally added support for this! They added the FX Quotes API in April 2025.
https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api
It even includes the ability to lock in the rate quote for 5 minutes, 1 hour, or 24 hours.
I tried just about every other fix in this thread and nothing worked :(
In the end, it was a bucket region issue in my case. My bucket was dual-region. Creating a new one on single region and having the service-<PROJECT_ID>@gcp-sa-discoveryengine.iam.gserviceaccount.com service account with:
Discovery Engine Service Agent
Storage Admin
Perms inherited on IAM level (across all GCS) worked finally!
If you are using IntelliJ IDEA (2025.2 Community Edition)
Edit your running configuration
You should see Build and run
Click modify options to the left
Under the Java section there is add VM options
paste it
click apply run
61
I am signing packets in some Java code and I want to verify the signatures on a C server. I want to fork openssl for this purpose (can always use library functions later... when I know openssl can verify the signatures); however, it's failing to do so:
https://support.mozilla.org/en-US/kb/setting-certificate-authorities-firefox says that the certs are in cert9.db, key4.db, and secmod.db in the profile directory. I haven't sussed out what format they're in or how to add entries, just that some certs that I've added appear in there.
It looks to me as though Firefox locks its sqlite files, so it might not be possible to update certs while Firefox is running.
I had the same problem after the update of Android Studio. It turns out that JBA plugin doesn't support Android Studio after the Meerkat Feature Drop version.
You can find the exact version that is supported right now in Hyperskill Help Center on this page.
Reinstalling to an older version help me. Hope it helps you too :)
You can’t deploy an ASP.NET Core app to Somee as a single .exe or .dll.
Somee is a shared IIS host, so you must upload the entire published folder (DLLs, wwwroot, configs, etc.).
Single-file executables only work if you run the process yourself (e.g. on a VPS), not on shared hosting.
updateVoucher is async, so if you want it guaranteed to be executed before continuing you will need to await it
i.e
await updateVoucher(voucher.id, 0);
You can consider high_ord_func as taking 2 arguments, the first is the value of x, and the second is the form of a function to evaluate.
Your second line is evaluating that function for x = 2 and func = x*x
This expands as:
x + func(x) = x + x*x = 2 + 2*2 = 6
Hello I am trying to use ImageRenderer in a view containing an AsyncImage, but I have the same problem, only le placeholder appear as the result of the ImageRenderer.
struct ShareView: View {
@State private var renderedImage = Image(systemName: "photo")
var body: some View {
NavigationStack {
VStack {
Spacer()
AsyncImage(url: URL(string: "http://myurl.com")) { image in
image.resizable()
} placeholder: {
ProgressView()
}
.frame(width: 100, height: 100)
.clipShape(Circle())
.padding()
Spacer()
ShareLink("Export", item: renderedImage, preview: SharePreview(Text("Shared image"), image: renderedImage))
Spacer()
}
.onAppear {
render()
}
}
.padding(.horizontal)
}
@MainActor func render() {
let renderer = ImageRenderer(content: shareableView)
if let uiImage = renderer.uiImage {
renderedImage = Image(uiImage: uiImage)
}
}
}
}
The "Use a Dynamic File Name" option does still/currently exist, contrary to a comment on the last answer. The example below creates a filename with a date, from which 1 day has been subtracted. 
The run date of this example was August 18, 2025. This code in the Dynamic File Name expression
'TMP_My_File-'||TO_CHAR(Add_To_Date(sysdate,'DD',-1), 'YYYYMMDD_HH24MiSS') ||'.csv'
resulted in a file being created with the name of "TMP_My_File-20250817_195243.csv"
Edit the Physical model and change the U attribute to L:
Database > Edit Current DBMS ...
PK_%U27:TABLE% to pk_%L27:TABLE%
I found a solution. You need import then add the type.
import { FormComponentRef } from '@inertiajs/core';
const formRef = useRef<FormComponentRef>(null);
Thanks for all
The issue that solved my problem, is simply calling isatty - through that I could know in advance if I have pending input or not.
Apparently I made people confused, that I was proposing 'it should be able to do Z because X and Y works':
echo files | imageviewer other-files
With semi-good reasoning in my opinion.
Suggesting to just not parse piped input is boring, as I am mainly the sole user of the program tbh, and I did want to sometimes pipe files into it, rather than doing imageviewer $(command) .
Suggesting to use another program (xargs) to achieve also the same thing kinda works, but I find that a lame solution :D
So, I think I will adopt some sort of hybrid (which is ONLY possible because of the isatty call)
if no files passed as arguments, check stdin
if files parsed, don't check stdin
optionally through a flag, enable both methods to work
Appreciate the insights on why it might be bad to just do random things.
---
P.S. yes I am playing with an image viewer, yes it does exist, it is here https://github.com/rphii/c-image-viewer -- probably a TON of things wrong with it. whatever, I'm not here to ramble on about how imperfect and ugly the code is, so yea look at it or not I don't care. just wanted to show that I am actually using the solution suggested.
The following code worked for me (Thank you, @Mathias R. Jessen !)
$content1 = Import-Csv -Path "C:\Users\blah\Desktop\Test\test1.csv"
$content2 = Import-Csv -Path "C:\Users\blah\Desktop\Test\test2.csv"
# create hash table to be used as a mapping table
$nameToIDsMap = @{}
# add each row from the csv to the mapping table - use realName as key, userName as value
$content1 | ForEach-Object {
$nameToIDsMap[$_.realName] += @($_.userName)
}
$content2 | ForEach-Object {
$personRecord = $_
$nameToIDsMap[$personRecord.Name] |ForEach-Object {
[pscustomobject]@{
UserName = $_
RealName = $personRecord.Name
Roles = $personRecord.ApprovedGroups
}
}
} | Export-Csv "C:\Users\blah\Desktop\Test\test3.csv" -NoTypeInformation
Run in debug mode: npx playwright test --debug
Not a complete solution, but it did help me get closer to it. Debug mode showed me the error that was happening that I couldn't originally see because the browser was closing so quickly.
Error: page.waitForLoadState: Target page, context or browser has been closed
12 | await page.goto(`/home`, { waitUntil: "domcontentloaded" });
> 13 | await page.waitForLoadState("networkidle");
| ^
Error: browserContext._wrapApiCall: Target page, context or browser has been closed
Alignment depends on the CPU and ABI (Application Binary Interface). On most 64-bit CPU's a double is 8-byte aligned. Misaligned accesses may still work on modern x86 or ARM64, but the hardware has to do extra work and it can be slower. What you saw in your test is the CPU and cache hiding most of the penalty. If you want to know the exact rule on your system, check alignof(double) in C++ or look up the ABI docs, but the safe practice is to let the compiler align structs for you.
I think you're mixing up a foreach-loop and a while-loop. What you actually want to do is take every line of content3, compare its name property to the name property in content2 and set the roles property of content3, if they match. You are iterating through the items in content3 with the foreach-loop, and then you re-iterate through them with the while loop. $j -lt $content3.length should be $j -lt $content2.length. You also have to set number of the line in content2 you are interested in, so $content2.Name should be $content2[$j].Name.
Moreover, set the delimiter for the csv files to ";" to be sure they're parsed correctly.
Finally - I'm not quite sure - but I think you should create the Custom Object first and then add it to content3.
I've tried the following, it produces the wanted output, I think:
# Import CSV files
$content1 = Import-Csv -Path .\test1.csv -delimiter ";"
$content2 = Import-Csv -Path .\test2.csv -delimiter ";"
# Print existing CSV arrays
# $content1
# $content2
#create new array
$content3 =@()
# Populate new array with initial information and values
$i = 0
while ($i -lt $content1.count) {
$obj = [PSCustomObject]@{UserName = $content1[$i].username; Name = $content1[$i].realName; Roles = ""}
$content3 += $obj
$i++
}
# Look for matching name from $content3 in $content2, and then populate the corresponding Groups column in $content3 with the corresponding ApprovedGroups in $content2
# Does not currently work
$j = 0
foreach ($row in $content3) {
while ($j -lt $content2.count) {
if ($row.Name -match $content2[$j].Name) {$row.Roles = $content2[$j].ApprovedGroups ; break}
$j++
}
}
# Print new array thus far
$content3
Greetings
Johann
I have an alternative for it and it's 100% free/offline and it's called looping: Looping Officel website I am using it for more than 4 years now (it only has a French version so good luck bro) and it's dedicated only for database diagrams and SQL generation (you can configure it to your DBMS if you don't find it in the prebuilt ones, and on top of that you can add code like rules and functions ...)
Why not just the following?
str.replace(str.charAt(0), "h")
String.prototype.replaceAt = function(index, replacement) {
return this.replace(this.charAt(index), replacement)
}
Or, in a slightly less potentially disastrous way of monkey patching…
Object.defineProperty(String.prototype, "replaceAt", {
value: function(index, replacement) {
return this.replace(this.charAt(index), replacement)
}
})
The issues you’re running into are pretty common with older video libraries—things like tricky state management, hard integration with Flutter widgets, and limited support for different video sources.
A newer library like omni_video_player makes these things much simpler to handle.
The problem is in the getCursorPos function - touchmove event does not have pageX and pageY - you need to take them from touches[0].
https://codepen.io/imhvost/pen/ZYbrqEZ?editors=1111
My issue was that my authSource= value was wrong. The admin db did not have system.users collection. Another developer was working on it. He moved the collection to another db. I discovered this issue by looking at the MongoDB log and comparing with my old MongoDB server.
Hey I'm not sure if you figured it out. But I was able to get Auth0 working within the popup of a chrome extension. Check out the repo. I hope it helps bud.
https://github.com/pierregober/chrome-extension-boilerplate-react-with-auth0
I faced the same issue. Use the "adopted" version from java-native:
https://github.com/java-native/jssc
When you perform an OrdinalIgnoreCase string comparison:
The StringComparer returned by the OrdinalIgnoreCase property treats the characters in the strings to compare as if they were converted to uppercase using the conventions of the invariant culture, and then performs a simple byte comparison that is independent of language.
To replicate OrdinalIgnoreCase for chars instead of strings, you call char.ToUpperInvariant on the two characters, then test for equality.
Sometimes PC needs a restart so upon doing that and opening VS code after restarting and then deleting the file, It works!!
I faced the same issue. Use the "adopted" version from java-native:
https://github.com/java-native/jssc
import 'package:flutter/material.dart';
class ConversionPage extends StatefulWidget {
@override
_ConversionPageState createState() => _ConversionPageState();
}
class _ConversionPageState extends State<ConversionPage> {
double inputValue = 0;
String fromUnit = 'metros';
String toUnit = 'pies';
double result = 0;
final Map<String, double> lengthFactors = {
'metros': 1.0,
'pies': 3.2808,
'centímetros': 100.0,
'pulgadas': 39.3701,
};
void convert() {
double base = inputValue / lengthFactors\[fromUnit\]!;
setState(() {
result = base \* lengthFactors\[toUnit\]!;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('ConvertiTodo')),
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
children: \[
TextField(
keyboardType: TextInputType.number,
decoration: InputDecoration(labelText: 'Valor'),
onChanged: (value) {
inputValue = double.tryParse(value) ?? 0;
convert();
},
),
DropdownButton\<String\>(
value: fromUnit,
items: lengthFactors.keys.map((unit) {
return DropdownMenuItem(value: unit, child: Text(unit));
}).toList(),
onChanged: (value) {
fromUnit = value!;
convert();
},
),
DropdownButton\<String\>(
value: toUnit,
items: lengthFactors.keys.map((unit) {
return DropdownMenuItem(value: unit, child: Text(unit));
}).toList(),
onChanged: (value) {
toUnit = value!;
convert();
},
),
SizedBox(height: 20),
Text('Resultado: $result $toUnit', style: TextStyimport 'package:flutter/material.dart';
class ConversionPage extends StatefulWidget {
@override
_ConversionPageState createState() => _ConversionPageState();
}
class _ConversionPageState extends State<ConversionPage> {
double inputValue = 0;
String fromUnit = 'metros';
String toUnit = 'pies';
double result = 0;
final Map<String, double> lengthFactors = {
'metros': 1.0,
'pies': 3.2808,
'centímetros': 100.0,
'pulgadas': 39.3701,
};
void convert() {
double base = inputValue / lengthFactors\[fromUnit\]!;
setState(() {
result = base \* lengthFactors\[toUnit\]!;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('ConvertiTodo')),
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
children: \[
TextField(
keyboardType: TextInputType.number,
decoration: InputDecoration(labelText: 'Valor'),
onChanged: (value) {
inputValue = double.tryParse(value) ?? 0;
convert();
},
),
DropdownButton\<String\>(
value: fromUnit,
items: lengthFactors.keys.map((unit) {
return DropdownMenuItem(value: unit, child: Text(unit));
}).toList(),
onChanged: (value) {
fromUnit = value!;
convert();
},
),
DropdownButton\<String\>(
value: toUnit,
items: lengthFactors.keys.map((unit) {
return DropdownMenuItem(value: unit, child: Text(unit));
}).toList(),
onChanged: (value) {
toUnit = value!;
convert();
},
),
SizedBox(height: 20),
Text('Resultado: $result $toUnit', style: TextStyle(fontSize: 20)),
\],
),
),
);
}
}le(fontSize: 20)),
\],
),
),
);
}
}
From the documentation provided by Microsoft :
I soved this by turning
@XmlAttribute(name = "commentable", required = true)
private AbstractCommentable commentable;
into an Element annotation. Thanks for the hint in the comments about the ElementWrapper, that guided my attention to the fact, that this was still annotated as attribute.
Thank you @Xavier for the tip - from the network tab I was able to confirm there was an error on topo.json fetch that came from my middleware requiring authorization to access that path and my NextAuth authorized callback not approving the path.
More specifically, my middleware used a regex pattern that allowed for .png assets in the public folder to be accessed without approval, but not .json - hence why I was able to access the logo without issue.
Since the map feature is accessed after login, I decided to add the /topo.json path to one of the approved paths for a logged in user in my auth.config.ts., rather than add the topo.json to auto-approved paths in the middleware.
I really do not like that new trend about "soundness", because it is largely pointless.
By definition - the "sound" language is a promise that a language does not have "undefined behavior" at all. If you have at least one example of undefined behavior, then the language is "unsound".
I would say: there is no real language which is "sound".
The given query selects 10 random rows and then returns the unique_id of the row with the highest price among them. However, using ORDER BY RAND() is very expensive when the table has a large number of rows.
To optimize this, we can:
Pick a random offset within the table.
Retrieve 10 consecutive rows starting from that offset.
There was a change in python>=3.12.10 which changed the behaviour of the venv-prompt variable: https://github.com/python/cpython/issues/132361
Unfortunately this was not noticed until after 3.12.10 was released and python3.12 is no longer accepting bug-fixes. The only workaround is to move to a different python version.
feature is not yet available , only SSL settings are working for the moment in registryConfigs
I tried everything, but nothing worked. I found an old backup, and too bad for everything I lost, so I started a restore with All-in-One WP Migration, which remained stuck at 89%. So I refreshed and broke everything.
Now, via FTP, I delete everything and redo a clean installation, even if it takes time, whether via FTP or the OVH 1-Click module.
I hope I didn't make any mistakes.
Make sure that the correct Content-Type response header is being set. On our CDN it was defaulting to text/plain rather than text/javascript which was causing the issue.
I'm not sure if this will help you or not, but please don't downvote my answer if it's not helpful.
You can try using swiperjs to achieve the same behavior.
With upgrades in general the following series of commands are recommended.
git clean -xdf
gwb clean
gwb cleanIdea
gwb Idea
Review the upgrade instructions carefully for any manual steps needed to accept the new version.
update the lint-baseline.xml was Help to me by the command
./gradlew app:lintReportDebug updateLintBaseline
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
margin: 0;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background: #f0f0f0;
font-family: sans-serif;
}
.flip-card {
width: 300px;
max-width: 90%;
aspect-ratio: 3 / 2;
perspective: 1000px;
}
.flip-card-inner {
position: relative;
width: 100%;
height: 100%;
transition: transform 0.6s;
transform-style: preserve-3d;
}
.flip-card:hover .flip-card-inner {
transform: rotateY(180deg);
}
.flip-card-front,
.flip-card-back {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
}
.flip-card-front img,
.flip-card-back img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 10px;
}
.flip-card-back {
transform: rotateY(180deg);
}
</style>
</head>
<body>
<div class="flip-card">
<div class="flip-card-inner">
<div class="flip-card-front">
<img src="https://www.w3schools.com/html/img_girl.jpg" alt="Front Image">
</div>
<div class="flip-card-back">
<img src="https://www.w3schools.com/html/pic_trulli.jpg" alt="Back Image">
</div>
</div>
</div>
</body>
</html>
Test here :
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_image_test
For more information, refer to the following SurveyJS support thread: https://surveyjs.answerdesk.io/ticket/details/t24552/using-angular-outputting-stock-questions-but-in-our-specific-format
install pipewire
sudo pacman -S pipewire
also for good fun RTFM
As there is seemingly no answer to this yet. I decided to debug a little (version: Hibernate 6.6).
The default value for enableDirtyTracking in hibernate-enhance-maven-plugin is true (and OP also explicitly set it).
This enhances your Entity classes to implement ExtendedSelfDirtinessTracker which indirectly contains the method $$_hibernate_getDirtyAttributes which will be implemented by the enhancer.
For me, this generated implementation omitted the Auditable fields from the possible dirty fields. This seemed to be especially problematic if hibernates generates a Dynamic Update and will only generate a query which updates fields it considers to be dirty.
Which fields are considered for the dirty check for Entities implementing SelfDirtinessTracker is implemented in static DefaultFlushEntityEventListener.getDirtyPropertiesFromSelfDirtinessTracker (which will embellish the FlushEvent with the dirty fields to be used downstream)
At this point i explicitly turned enableDirtyTracking off (note, if you use the plugin it is on by default) since I did not plan to use it anyway.
If you need this option I would advise you inspect/debug the source code for the generation of $$_hibernate_getDirtyAttributes since that at least, seemed to be the culprit to me here.
I have managed to fix this issue in Chrome with the help of @Karim. I was using React with the 'styled-components' package, and I needed to add CSS only.
It needs only -webkit-autofill, but I have also added the focus pseudo-class
:focus ~ label, :-webkit-autofill ~ label {
// your css style change for the label input
}
You shouldn’t subclass Spark’s Join directly because it’s a case class and final by design. Instead, wrap it in a custom logical plan node or attach extra info via metadata on expressions to safely extend functionality without breaking Spark’s optimizations.
Your issue is not due to running in a container but because you are using a java agent. You should use MODULE_OPTS env variable to deine your agent so that the LogManager is properly configured when your agent starts.
Please make sure that Localize is installed in your Angular project and that it is included in the angular.json configuration.
"dependencies": {
"@angular/cdk": "^20.1.5",
"@angular/common": "^20.0.0",
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/forms": "^20.0.0",
"@angular/localize": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
"@angular/router": "^20.0.0",
angular.json:
"polyfills": [
"zone.js",
"@angular/localize/init"
],
Feel free to also check the official documentation:
https://www.telerik.com/kendo-angular-ui/components/troubleshooting/general-issues#missing-angular-localize-package-for-i18n-support
The real configuration is to set up ? for your args but also add nullable: false (FALSE, NOT TRUE) in order to get your arg to be string or undefined but NOT null.
import { Args, ID } from "@nestjs/graphql";
// ...
@Args("id", { type: () => ID, nullable: false }) id?: string; // type: string | undefined.
This problem is usually the location of the nextauth URL, in my case it was in src/api, but it is src/app/api
I found the problem. Using "allowImportingTsExtensions": true broke things. After removing the flag, it actually built.
The issue is apparently similar to https://github.com/nodejs/node/issues/59364
Running tests using the "--no-experimental-strip-types" flag seems to solve the problem.
node --test --no-experimental-strip-types
try downgrading the Firebase SDK versions
this will be your best bet sorry I cant help more
with cmd prompt execute as admin
C:\Program Files\Blender Foundation\Blender 4.3\4.3\python\bin>
and copy this line:
python.exe -m pip install --target="C:\Program Files\Blender Foundation\Blender 4.3\4.3\python\lib\site-packages" pandas
If you want Firebase Hosting rewrites and CDN, use Cloudflare in front for caching and passive failover, but true multi-region Cloud Run failover isn’t fully possible. If multi-region failover is top priority and you can skip Firebase Hosting, use Google Cloud Load Balancer directly to route traffic to Cloud Run. Use Full (strict) SSL with Cloudflare.
The objective of the search was to identify prior arts both patents and non-patent literature that top-load washer uses the flexibility of both manual and automatic detergent dosing, providing users with adaptable washing options. It incorporates advanced features such as algorithms, sensors, actuators, and/or mechanical components to control the automatic dispensing process. The auto-dispensing mechanism is not limited to a traditional pump system but can utilize various technologies, including positive displacement pumps or principles like the Bernoulli effect. Additionally, the washer features a removable detergent reservoir that allows for easy cleaning without impacting the function of the powder detergent dispenser. The search focused on identifying prior arts that disclose the following features:
Feature 1: A top-load washer that comprises the flexibility of using both manual and auto dosing.
Feature 1a: The washer uses an algorithm, sensor, actuator and/or mechanical/ hardware components.
Feature 1b: The auto mechanism to dispense the detergent is not limited to the pump only, it can utilize various technologies, including positive displacement pumps or principles like the Bernoulli effect.
Feature 2: Removable reservoir for easy cleaning without effect on powder detergent dispenser.
This can be achieved with:
include:
- component: $CI_SERVER_FQDN/$CI_COMPONENTS/container/build@0
inputs:
as: "Build container image"
destinations:
- "-t $DESTINATION:$CI_COMMIT_SHORT_SHA"
Build container image:
parallel:
matrix:
- !reference [.COMPONENTS, matrix]
rules: !reference [.build_rules, rules]
artifacts:
paths:
- $COMPONENT/build.env
for me the issue was for generating using dart-dio i got the URI not generated
fixed it by running
dart run build_runner build --delete-conflicting-outputs
inside the generated pkg folder
const grouped = Object.groupBy(employeeRecords, r =>
`${r.empID}|${r.company}|${r.date}`
);
const merged = Object.values(grouped).map(records => {
if (records.length === 1) return records[0];
return { ...records[0], group: records.map(r => r.group).join("-") };
});
onComplete gives you everything you listed, including the donor’s custom message (cm). You just grab it and POST it to your PHP endpoint. Here’s a clean, working example.
<div id="paypal-donate-button-container"></div>
<script src="https://www.paypalobjects.com/donate/sdk/donate-sdk.js" charset="UTF-8"></script>
<script>
PayPal.Donation.Button({
env: 'sandbox', // switch to 'production' when live
hosted_button_id: 'YOUR_SANDBOX_HOSTED_BUTTON_ID',
image: {
src: 'https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif',
title: 'PayPal - The safer, easier way to pay online!',
alt: 'Donate with PayPal button'
},
onComplete: function (params) {
// params contains: tx, st, amt, cc, cm, item_number, item_name
// Send it to your server
fetch('/paypal-complete.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tx: params.tx,
st: params.st,
amt: params.amt,
cc: params.cc,
cm: params.cm, // <-- donor’s custom message
item_number: params.item_number,
item_name: params.item_name
})
})
.then(() => location.href = '/thank-you.html')
.catch(() => location.href = '/thank-you.html'); // show thanks either way
}
}).render('#paypal-donate-button-container');
</script>
Receives the JSON, stores it, and (recommended) verifies the payment.
<?php
// /paypal-complete.php
// 1) Read JSON payload
$raw = file_get_contents('php://input');
$data = json_decode($raw, true) ?: [];
// 2) Pull fields (with basic safety)
$tx = $data['tx'] ?? '';
$st = $data['st'] ?? '';
$amt = $data['amt'] ?? '';
$cc = $data['cc'] ?? '';
$cm = $data['cm'] ?? ''; // donor message
$item_number = $data['item_number'] ?? '';
$item_name = $data['item_name'] ?? '';
// 3) Persist immediately (DB/log) so nothing is lost
// Example log (replace with real DB insert):
file_put_contents(__DIR__ . '/paypal_donations.log',
date('c') . " | tx=$tx st=$st amt=$amt $cc | item=$item_number/$item_name | cm=" . str_replace(["\n","\r"], ' ', $cm) . PHP_EOL,
FILE_APPEND
);
// 4) (Recommended) Verify the transaction server-to-server
// Option A: PDT (Payments Data Transfer)
$useSandbox = true; // false in production
$pdtIdentityToken = 'YOUR_PDT_IDENTITY_TOKEN';
if ($tx && $pdtIdentityToken) {
$endpoint = $useSandbox
? 'https://ipnpb.sandbox.paypal.com/cgi-bin/webscr'
: 'https://ipnpb.paypal.com/cgi-bin/webscr';
$payload = http_build_query([
'cmd' => '_notify-synch',
'tx' => $tx,
'at' => $pdtIdentityToken
]);
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_SSL_VERIFYPEER => true,
]);
$res = curl_exec($ch);
curl_close($ch);
if ($res !== false && strncmp($res, "SUCCESS", 7) === 0) {
// Parse key=value lines after the first line
$lines = explode("\n", $res);
array_shift($lines);
$pdt = [];
foreach ($lines as $line) {
$parts = explode("=", $line, 2);
if (count($parts) === 2) $pdt[urldecode($parts[0])] = urldecode($parts[1]);
}
// Sanity checks (examples):
// if (($pdt['payment_status'] ?? '') === 'Completed'
// && ($pdt['mc_gross'] ?? '') == $amt
// && ($pdt['mc_currency'] ?? '') == $cc
// && ($pdt['txn_id'] ?? '') == $tx) { /* mark as verified */ }
http_response_code(204); // all good
exit;
}
}
// If verification isn’t configured yet, still return 202 so your JS can move on.
// (But do not mark donation as "confirmed" in your DB until verified.)
http_response_code(202);
cm is the donor’s typed message. You get it as params.cm, and you can POST it as shown.
onComplete is handy, but it’s client-side. Always verify server-side (PDT like above, or IPN webhook) before you mark a donation as confirmed.
If you also want to pass your own metadata through the button, use the custom variable in the button config; it will arrive in PDT/IPN.
Same-origin? No CORS drama. Different domain? Enable CORS on your PHP route.
If you want, I can add a tiny MySQL table + insert snippet so you can save the donation and message cleanly.
I had this problem before. Go to the Selection tab — if Column Selection Mode is ticked, untick it.
If it’s not ticked, try ticking it and then unticking it again.
That worked fine for me.
Unknown right knee has a ratchet sound and feel.
However, regarding this trouble
a. fit_transform -- The mean() and std () -- they are learned parameters and are directly applied to the initial data
b. transform -- This is applied to new data, i.e, the previously learned parameters applied to new data, usually test data
Why couldn't you use it?
The fit_transform() functions in two ways:
cal. mean and st for standardscaler -- fit phase
transform phase --- using these parameters, it applies the transformation
The transform() fails due to the following
Scaler may not have learned any parameters
The scaler didn't know which mean() and std() to use
Check official documentation for more https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html
The problem was related to the compiler.
When specifying the targeted platform of the compilation, one must specify both the virtual target and the real target. The former is related to the PTX version, and the latter, to the SASS version. So, what might happened is that the compiler has defaulted to an old PTX version when I only specified -arch in the compilation command:
nvcc cuda_test.cu -o cuda_test -arch=sm_121a
Now that I also specify the -code, the compilation has succeeded. The command is as follows:
nvcc cuda_test.cu -o cuda_test --generate-code arch=compute_121a,code=sm_121a
In which the arch and code are parameters of the --generate-code.
The compute_XX is about the virtual target, and the sm_XX, the real target.
That is how JWT works. There are pros and cons with JWT's you just noticed the largest "con" imho.
I wrote some remedies in a similar question here: How to revoke an accesstoken?
If you cannot find danger Zone via scrolling down:
Click 'Collaborators'
Click 'Manage Visibility'
and you are in Danger zone
Aleksandr Medvedev response let me understand better how virtual works. Solved. Thanks all.
In Safari, when using private browsing each tab is "isolated" so even though they are on the same origin they don't share context with each other.
So the BroadcastChannel API wont work :\
https://help.apple.com/safari/mac/8.0/en.lproj/ibrw1069.html
you can do with
{
"key": "alt+p",
"command": "workbench.action.pinEditor",
"when": "!activeEditorIsPinned"
},
{
"key": "alt+p",
"command": "workbench.action.unpinEditor",
"when": "activeEditorIsPinned"
}
After all, upgrading from Nuxt v3.10.0 to v4.0.3 fixed it.
My package.json
{
"name": "nuxt",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"devDependencies": {
"nuxt": "^4.0.3",
"vue": "^3.4.20",
},
"dependencies": {
"@pinia/nuxt": "^0.11.1",
"pinia": "^3.0.3"
}
}
You need to use the raw type Set rather than the specific Generic version. See also https://www.eclipse.org/forums/index.php/t/1103966/
You can’t detect it with pure Python — you need JavaScript for browser events (focus, blur, mouseenter) and then pass that state to Python. For automation, Selenium can check driver.switch_to.active_element, and on desktop you’d need OS APIs (pywin32, PyAutoGUI, etc.).
weekdays = {1: 'Monday', 2: 'Tuesday', 3: 'Wednesday', 4: 'Thursday', 5: 'Friday', 6: 'Saturday', 7: 'Sunday'}
n = int(input("enter the number in between 1 and 7: "))
weekdays.get(n)
I'm not getting any output for the above code, what's the issue here
Firebse Hosting is for public access, if authorization is needed then you should consider a server (Cloud Run, Cloud Functions... etc.) where access to those servers can be managed by IAM or implement an authorization middleware yourself with basic auth or something else
If you’re looking for a UI/UX design tool with custom styling options, Figma is one of the best choices as it allows flexible component design, real-time collaboration, and easy prototyping. For a detailed comparison of the top tools, check this guide: Best UI/UX Design Tool in 2025 – Figma vs Adobe XD vs Sketch. Adobe XD and Sketch are also strong alternatives, depending on your workflow and team needs.
This happened to me when using docker from WSL, you need to install npm to the WSL machine
Just checking something if it wrks okay else i will delete
https://www.youtube.com/watch?v=kGo0AxoOQYw
Issue for me was my sshd config was overridden by the configuration files in /etc/sshd/sshd_config.d/
MacOS solution for podman
create docker file
sudo nano /usr/local/bin/docker
add to file
#!/bin/sh
exec podman "$@"
add perms to run
sudo chmod +x /usr/local/bin/docker
test docker command
docker ps
You should use caching and save the prices to cache at the time of updating the pricelist. This way, the frontend won’t need to fetch prices directly from the database, which will significantly improve performance.
When struggling with App Store payments I always find the Revenue Cat documentation a great go-to resource - https://www.revenuecat.com/docs/test-and-launch/sandbox/apple-app-store#:~:text=Sandbox%20Considerations%E2%80%8B&text=In%20sandbox%2C%20StoreKit%20Test%2C%20and,regions%20set%20for%20devices/accounts.
There's some mention in there of making sure you're on a different / new account. Testing IAP on Apple has always been a nightmare!
Unfortunately no, without an additional column the aggregation described by you is not possible in SQL. The physical storage doesn't care about the sequence data was inserted in the first place. The engine of your dbms will store the data in any form it prefers concerning performance.
When you’re testing with Twilio, it works well for small-scale sending and receiving, but it doesn’t really offer a simple way to simulate hundreds of users replying back at the same time. Most of the SMS testing tools you’ll find are built for bulk outbound sending only and don’t handle 2-way traffic simulation in bulk, which is why you’re hitting a limit with your current setup.
If you want to properly test at scale (like 500+ users sending replies), you generally need either:
A simulation environment where you generate fake MO (mobile originated) messages programmatically, or
A platform that’s built for real-world bulk SMS and 2-way traffic handling, instead of just dev-level testing.
This is where an aggregator platform makes sense. Instead of building a custom simulator, you can use a provider that’s designed for high volume and 2-way SMS flows. One of the better options out there is Africala. It’s built specifically for bulk messaging at scale, supports 2-way SMS, and gives you delivery reports and analytics that mimic production usage. That way you don’t just test sending, but also realistically test how your system processes hundreds of replies at once.
So in short: Twilio is fine for initial dev, but if your goal is bulk user simulation with both sending and receiving, a service like Africala is going to be much more practical.
You could try to run it using xvfb-run from the Xvfb project. It starts your application(s) under a fully compatible X Window server without any hardware and not a lot of overhead.
I've used this a few times to run UI tests and for an X11 desktop app that had command line arguments for use on the command line.
Or if you want to load it with the base query, you should use method `with`.
Here's an example:
$model_2 = Model2::query()
->where('name', $name)
->with('categories')
->get(); // Returns the Collection of Model2 with loaded relation of category
Please do pod update and pod install inside the ios folder
Use This key in info.plist file to get rid of this.
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
If z-order is not defined, the most recently opened window will appear on top based on the order in which the windows were opened.
I have the same problem with
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
</parent>
This gives me the warning.
WARNING: TestEngine with ID 'junit-vintage' failed to discover tests
java.lang.NoClassDefFoundError
For me, this is important because I have to run both JUnit 4 and JUnit 5 tests. And this warning makes me not able to read JUnit 4 tests.
I tried solutions from all over the internet and I found the solution from
Basically, we need to add
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.8.1</version> <!-- Adjust this with your case -->
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
And don't forget to make the build plugin just like this
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.2</version>
</plugin>
This makes me able to run both JUnit 4 and JUnit 5 tests 👍
Hope you all don't waste your time like I did. Spent like all day for this 😅
It could be because of your CPU or how fast your PC is, if it takes hours, restart.