Admin note: Moved from the App Server 1.13 announcement post to its own thread in Q&A
Thanks for this, excited to start using some of the newer features in production!
Unfortunately I’ve hit a bug straight away when logging into an app with google:
The callback is returning 500 so the login doesn’t go through.
From the console:
[ERROR anvil.util] Reporting uncaught exception in GET /_/client_auth_callback
java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
at java.util.regex.Matcher.reset(Matcher.java:309)
at java.util.regex.Matcher.<init>(Matcher.java:229)
at java.util.regex.Pattern.matcher(Pattern.java:1093)
at clojure.core$re_matcher.invokeStatic(core.clj:4882)
at clojure.core$re_matches.invokeStatic(core.clj:4912)
at clojure.core$re_matches.invoke(core.clj:4912)
at anvil.app_server.core$load_app.invokeStatic(core.clj:39)
at anvil.app_server.core$load_app.invoke(core.clj:37)
at anvil.app_server.core$fn__447.invokeStatic(core.clj:126)
at anvil.app_server.core$fn__447.invoke(core.clj:126)
at anvil.runtime.app_data$get_app_content_with_dependencies.invokeStatic(app_data.clj:139)
at anvil.runtime.app_data$get_app_content_with_dependencies.invoke(app_data.clj:137)
at anvil.runtime.app_data$get_app.invokeStatic(app_data.clj:250)
at anvil.runtime.app_data$get_app.invoke(app_data.clj:247)
at anvil.runtime.server$get_app_from_request.invokeStatic(server.clj:80)
at anvil.runtime.server$get_app_from_request.invoke(server.clj:77)
at anvil.runtime.server$get_app_from_request.invokeStatic(server.clj:78)
at anvil.runtime.server$get_app_from_request.invoke(server.clj:77)
at anvil.runtime.server$fn__3118.invokeStatic(server.clj:482)
at anvil.runtime.server$fn__3118.invoke(server.clj:473)
at compojure.core$wrap_response$fn__4684.invoke(core.clj:158)
at compojure.core$wrap_route_middleware$fn__4668.invoke(core.clj:128)
at compojure.core$wrap_route_info$fn__4673.invoke(core.clj:137)
at compojure.core$wrap_route_matches$fn__4677.invoke(core.clj:146)
at compojure.core$routing$fn__4692.invoke(core.clj:185)
at clojure.core$some.invokeStatic(core.clj:2718)
at clojure.core$some.invoke(core.clj:2709)
at compojure.core$routing.invokeStatic(core.clj:185)
at compojure.core$routing.doInvoke(core.clj:182)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$apply.invoke(core.clj:662)
at compojure.core$routes$fn__4696.invoke(core.clj:192)
at clojure.lang.Var.invoke(Var.java:384)
at compojure.core$routing$fn__4692.invoke(core.clj:185)
at clojure.core$some.invokeStatic(core.clj:2718)
at clojure.core$some.invoke(core.clj:2709)
at compojure.core$routing.invokeStatic(core.clj:185)
at compojure.core$routing.doInvoke(core.clj:182)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$apply.invoke(core.clj:662)
at compojure.core$routes$fn__4696.invoke(core.clj:192)
at clojure.lang.Var.invoke(Var.java:384)
at anvil.app_server.core$wrap_with_origin_scheme_and_port$fn__520.invoke(core.clj:222)
at anvil.app_server.core$wrap_provide_source$fn__499.invoke(core.clj:177)
at ring.middleware.json$wrap_json_response$fn__1645.invoke(json.clj:139)
at anvil.core.ring.middleware.absolute_redirects$wrap_absolute_redirects$fn__28246.invoke(absolute_redirects.clj:60)
at ring.middleware.flash$wrap_flash$fn__596.invoke(flash.clj:39)
at ring.middleware.session$wrap_session$fn__689.invoke(session.clj:108)
at ring.middleware.keyword_params$wrap_keyword_params$fn__727.invoke(keyword_params.clj:53)
at ring.middleware.nested_params$wrap_nested_params$fn__777.invoke(nested_params.clj:89)
at ring.middleware.multipart_params$wrap_multipart_params$fn__958.invoke(multipart_params.clj:173)
at ring.middleware.params$wrap_params$fn__974.invoke(params.clj:67)
at ring.middleware.cookies$wrap_cookies$fn__23425.invoke(cookies.clj:198)
at ring.middleware.resource$wrap_resource_prefer_resources$fn__982.invoke(resource.clj:25)
at ring.middleware.content_type$wrap_content_type$fn__1041.invoke(content_type.clj:34)
at ring.middleware.default_charset$wrap_default_charset$fn__1057.invoke(default_charset.clj:31)
at ring.middleware.not_modified$wrap_not_modified$fn__1030.invoke(not_modified.clj:61)
at ring.middleware.x_headers$wrap_x_header$fn__567.invoke(x_headers.clj:22)
at ring.middleware.x_headers$wrap_x_header$fn__567.invoke(x_headers.clj:22)
at ring.middleware.x_headers$wrap_x_header$fn__567.invoke(x_headers.clj:22)
at anvil.app_server.run$handle_BANG_.invokeStatic(run.clj:324)
at anvil.app_server.run$handle_BANG_.invoke(run.clj:323)
at anvil.app_server.run$launch_runtime_server_BANG_$handler__1803.invoke(run.clj:358)
at anvil.util$wrap_correct_forwarded_remote_addr$fn__5102.invoke(util.clj:498)
at anvil.app_server.core$wrap_retrieve_original_remote_address$fn__514.invoke(core.clj:218)
at org.httpkit.server.HttpHandler.run(RingHandler.java:117)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at anvil.core.worker_pool$run_one_task_BANG_.invokeStatic(worker_pool.clj:55)
at anvil.core.worker_pool$run_one_task_BANG_.invoke(worker_pool.clj:38)
at anvil.core.worker_pool$launch_thread_BANG_$fn__5553.invoke(worker_pool.clj:94)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:750)