Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Force display token instance page #7097

Merged
merged 3 commits into from
Mar 27, 2023

Conversation

vbaranov
Copy link
Member

@vbaranov vbaranov commented Mar 16, 2023

Motivation

#7024 (comment)

  • resolve 500 internal server error with non integer token id provided.

Changelog

Display token instance page even if token instance is not yet saved into the DB.

Checklist for your Pull Request (PR)

@vbaranov vbaranov force-pushed the vb-force-display-token-instance-page branch 2 times, most recently from f8805cd to 5676bd1 Compare March 17, 2023 09:14
Copy link
Collaborator

@sl1depengwyn sl1depengwyn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Request: GET /api/v2/tokens/0x495f947276749ce646f68ac8c248420045cb7b5e/instances/asd
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in BlockScoutWeb.API.V2.FallbackController.call/2
        (block_scout_web 5.1.1) lib/block_scout_web/controllers/api/v2/fallback_controller.ex:6: BlockScoutWeb.API.V2.FallbackController.call(%Plug.Conn{adapter: {Plug.Cowboy.Conn, :...}, assigns: %{}, body_params: %{}, cookies: %{"AMP_6afb5a6bce" => "JTdCJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJkZXZpY2VJZCUyMiUzQSUyMjRmMTFkYzQzLTBhM2ItNDY3MS1hMjY4LWJiYWZlOTkwZDFiNSUyMiUyQyUyMmxhc3RFdmVudFRpbWUlMjIlM0ExNjcyNjQxODI0NDk2JTJDJTIyc2Vzc2lvbklkJTIyJTNBMTY3MjY0MTgyNDMxOCU3RA==", "AMP_MKTG_6afb5a6bce" => "JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBNDAwMCUyRmJsb2NrJTJGNzE2MDUlMkZ0cmFuc2FjdGlvbnMlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIybG9jYWxob3N0JTNBNDAwMCUyMiU3RA==", "_explorer_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUHdTYmpVZWtNYTBuWjJlYXI1S3RWYUxo.ocYPJu-3xiflKZZ_-XPs_d4HA3kEFAN_d2LazjrwtbI", "_ga" => "GA1.1.197617740.1676378922", "_ga_LHEEE3FJ3R" => "GS1.1.1677309927.2.1.1677309931.0.0.0", "_wobserver" => "8310d1eb27fbada022d6f5153a68c9a31bf0173011acd6e0a28cdf0d55fee2d3", "chakra-ui-color-mode" => "light", "csrftoken" => "gQ6ijcSgpwzxpYRJMWAqJnKFAji8ahGI", "mp_4b03b67c70939e1e9e893e11b280c700_mixpanel" => "%7B%22distinct_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24device_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Flocalhost%3A4000%2Fblock%2F32674%2Ftransactions%22%2C%22%24initial_referring_domain%22%3A%20%22localhost%3A4000%22%7D"}, halted: false, host: "localhost", method: "GET", owner: #PID<0.2408.0>, params: %{"address_hash" => "0x495f947276749ce646f68ac8c248420045cb7b5e", "token_id" => "asd"}, path_info: ["v2", "tokens", "0x495f947276749ce646f68ac8c248420045cb7b5e", "instances", "asd"], path_params: %{"address_hash" => "0x495f947276749ce646f68ac8c248420045cb7b5e", "token_id" => "asd"}, port: 4000, private: %{BlockScoutWeb.ApiRouter => {["api"], %{BlockScoutWeb.API.RPC.RPCTranslator => [], BlockScoutWeb.SmartContractsApiV2Router => ["v2", "smart-contracts"], RPCTranslatorForwarder => []}}, BlockScoutWeb.Router => {[], %{Absinthe.Plug => ["graphql"], Absinthe.Plug.GraphiQL => ["graphiql"], BlockScoutWeb.ApiRouter => ["api"], BlockScoutWeb.WebRouter => []}}, :before_send => [#Function<0.67058429/1 in BlockScoutWeb.Plug.Logger.call/2>, #Function<0.20795500/1 in Plug.CSRFProtection.call/2>, #Function<0.84243074/1 in Plug.Session.before_send/2>, #Function<1.71982575/1 in Phoenix.LiveReloader.before_send_inject_reloader/3>, #Function<2.129814873/1 in BlockScoutWeb.Endpoint.call/2>], :phoenix_action => :instance, :phoenix_controller => BlockScoutWeb.API.V2.TokenController, :phoenix_endpoint => BlockScoutWeb.Endpoint, :phoenix_format => "json", :phoenix_layout => {BlockScoutWeb.LayoutView, :app}, :phoenix_router => BlockScoutWeb.ApiRouter, :phoenix_view => BlockScoutWeb.API.V2.TokenView, :plug_session => %{}, :plug_session_fetch => :done}, query_params: %{}, query_string: "", remote_ip: {127, 0, 0, 1}, req_cookies: %{"AMP_6afb5a6bce" => "JTdCJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJkZXZpY2VJZCUyMiUzQSUyMjRmMTFkYzQzLTBhM2ItNDY3MS1hMjY4LWJiYWZlOTkwZDFiNSUyMiUyQyUyMmxhc3RFdmVudFRpbWUlMjIlM0ExNjcyNjQxODI0NDk2JTJDJTIyc2Vzc2lvbklkJTIyJTNBMTY3MjY0MTgyNDMxOCU3RA==", "AMP_MKTG_6afb5a6bce" => "JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBNDAwMCUyRmJsb2NrJTJGNzE2MDUlMkZ0cmFuc2FjdGlvbnMlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIybG9jYWxob3N0JTNBNDAwMCUyMiU3RA==", "_explorer_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUHdTYmpVZWtNYTBuWjJlYXI1S3RWYUxo.ocYPJu-3xiflKZZ_-XPs_d4HA3kEFAN_d2LazjrwtbI", "_ga" => "GA1.1.197617740.1676378922", "_ga_LHEEE3FJ3R" => "GS1.1.1677309927.2.1.1677309931.0.0.0", "_wobserver" => "8310d1eb27fbada022d6f5153a68c9a31bf0173011acd6e0a28cdf0d55fee2d3", "chakra-ui-color-mode" => "light", "csrftoken" => "gQ6ijcSgpwzxpYRJMWAqJnKFAji8ahGI", "mp_4b03b67c70939e1e9e893e11b280c700_mixpanel" => "%7B%22distinct_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24device_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Flocalhost%3A4000%2Fblock%2F32674%2Ftransactions%22%2C%22%24initial_referring_domain%22%3A%20%22localhost%3A4000%22%7D"}, req_headers: [{"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9,ru;q=0.8"}, {"connection", "keep-alive"}, {"cookie", "AMP_MKTG_6afb5a6bce=JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBNDAwMCUyRmJsb2NrJTJGNzE2MDUlMkZ0cmFuc2FjdGlvbnMlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIybG9jYWxob3N0JTNBNDAwMCUyMiU3RA==; AMP_6afb5a6bce=JTdCJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJkZXZpY2VJZCUyMiUzQSUyMjRmMTFkYzQzLTBhM2ItNDY3MS1hMjY4LWJiYWZlOTkwZDFiNSUyMiUyQyUyMmxhc3RFdmVudFRpbWUlMjIlM0ExNjcyNjQxODI0NDk2JTJDJTIyc2Vzc2lvbklkJTIyJTNBMTY3MjY0MTgyNDMxOCU3RA==; mp_4b03b67c70939e1e9e893e11b280c700_mixpanel=%7B%22distinct_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24device_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Flocalhost%3A4000%2Fblock%2F32674%2Ftransactions%22%2C%22%24initial_referring_domain%22%3A%20%22localhost%3A4000%22%7D; chakra-ui-color-mode=light; _explorer_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUHdTYmpVZWtNYTBuWjJlYXI1S3RWYUxo.ocYPJu-3xiflKZZ_-XPs_d4HA3kEFAN_d2LazjrwtbI; _wobserver=8310d1eb27fbada022d6f5153a68c9a31bf0173011acd6e0a28cdf0d55fee2d3; csrftoken=gQ6ijcSgpwzxpYRJMWAqJnKFAji8ahGI; _ga=GA1.1.197617740.1676378922; _ga_LHEEE3FJ3R=GS1.1.1677309927.2.1.1677309931.0.0.0"}, {"host", "localhost:4000"}, {"sec-ch-ua", "\"Google Chrome\";v=\"113\", \"Chromium\";v=\"113\", \"Not-A.Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"}], request_path: "/api/v2/tokens/0x495f947276749ce646f68ac8c248420045cb7b5e/instances/asd", resp_body: nil, resp_cookies: %{}, resp_headers: [{"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "F04cPG5dU3JgVBwAAAIG"}, {"access-control-allow-credentials", "true"}, {"access-control-allow-origin", "*"}, {"access-control-expose-headers", ""}], scheme: :http, script_name: ["api"], secret_key_base: :..., state: :unset, status: nil}, :error)
        (block_scout_web 5.1.1) lib/block_scout_web/controllers/api/v2/token_controller.ex:1: BlockScoutWeb.API.V2.TokenController.action/2
        (block_scout_web 5.1.1) lib/block_scout_web/controllers/api/v2/token_controller.ex:1: BlockScoutWeb.API.V2.TokenController.phoenix_controller_pipeline/2
        (phoenix 1.5.13) lib/phoenix/router.ex:352: Phoenix.Router.__call__/2
        (phoenix 1.5.13) lib/phoenix/router/route.ex:41: Phoenix.Router.Route.call/2
        (phoenix 1.5.13) lib/phoenix/router.ex:352: Phoenix.Router.__call__/2
        (block_scout_web 5.1.1) lib/block_scout_web/endpoint.ex:1: BlockScoutWeb.Endpoint.plug_builder_call/2
        (block_scout_web 5.1.1) lib/plug/debugger.ex:136: BlockScoutWeb.Endpoint."call (overridable 3)"/2
        (block_scout_web 5.1.1) lib/block_scout_web/endpoint.ex:1: BlockScoutWeb.Endpoint."call (overridable 4)"/2
        (block_scout_web 5.1.1) lib/spandex_phoenix.ex:151: BlockScoutWeb.Endpoint.call/2
        (phoenix 1.5.13) lib/phoenix/endpoint/ (truncated)

I suppose we need to distinguish with clause here


like {:format, {token_id, ""}} <- {:format, Integer.parse(token_id_str)}, and then non integer strings will be handled by

@vbaranov
Copy link
Member Author

Request: GET /api/v2/tokens/0x495f947276749ce646f68ac8c248420045cb7b5e/instances/asd
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in BlockScoutWeb.API.V2.FallbackController.call/2
        (block_scout_web 5.1.1) lib/block_scout_web/controllers/api/v2/fallback_controller.ex:6: BlockScoutWeb.API.V2.FallbackController.call(%Plug.Conn{adapter: {Plug.Cowboy.Conn, :...}, assigns: %{}, body_params: %{}, cookies: %{"AMP_6afb5a6bce" => "JTdCJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJkZXZpY2VJZCUyMiUzQSUyMjRmMTFkYzQzLTBhM2ItNDY3MS1hMjY4LWJiYWZlOTkwZDFiNSUyMiUyQyUyMmxhc3RFdmVudFRpbWUlMjIlM0ExNjcyNjQxODI0NDk2JTJDJTIyc2Vzc2lvbklkJTIyJTNBMTY3MjY0MTgyNDMxOCU3RA==", "AMP_MKTG_6afb5a6bce" => "JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBNDAwMCUyRmJsb2NrJTJGNzE2MDUlMkZ0cmFuc2FjdGlvbnMlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIybG9jYWxob3N0JTNBNDAwMCUyMiU3RA==", "_explorer_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUHdTYmpVZWtNYTBuWjJlYXI1S3RWYUxo.ocYPJu-3xiflKZZ_-XPs_d4HA3kEFAN_d2LazjrwtbI", "_ga" => "GA1.1.197617740.1676378922", "_ga_LHEEE3FJ3R" => "GS1.1.1677309927.2.1.1677309931.0.0.0", "_wobserver" => "8310d1eb27fbada022d6f5153a68c9a31bf0173011acd6e0a28cdf0d55fee2d3", "chakra-ui-color-mode" => "light", "csrftoken" => "gQ6ijcSgpwzxpYRJMWAqJnKFAji8ahGI", "mp_4b03b67c70939e1e9e893e11b280c700_mixpanel" => "%7B%22distinct_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24device_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Flocalhost%3A4000%2Fblock%2F32674%2Ftransactions%22%2C%22%24initial_referring_domain%22%3A%20%22localhost%3A4000%22%7D"}, halted: false, host: "localhost", method: "GET", owner: #PID<0.2408.0>, params: %{"address_hash" => "0x495f947276749ce646f68ac8c248420045cb7b5e", "token_id" => "asd"}, path_info: ["v2", "tokens", "0x495f947276749ce646f68ac8c248420045cb7b5e", "instances", "asd"], path_params: %{"address_hash" => "0x495f947276749ce646f68ac8c248420045cb7b5e", "token_id" => "asd"}, port: 4000, private: %{BlockScoutWeb.ApiRouter => {["api"], %{BlockScoutWeb.API.RPC.RPCTranslator => [], BlockScoutWeb.SmartContractsApiV2Router => ["v2", "smart-contracts"], RPCTranslatorForwarder => []}}, BlockScoutWeb.Router => {[], %{Absinthe.Plug => ["graphql"], Absinthe.Plug.GraphiQL => ["graphiql"], BlockScoutWeb.ApiRouter => ["api"], BlockScoutWeb.WebRouter => []}}, :before_send => [#Function<0.67058429/1 in BlockScoutWeb.Plug.Logger.call/2>, #Function<0.20795500/1 in Plug.CSRFProtection.call/2>, #Function<0.84243074/1 in Plug.Session.before_send/2>, #Function<1.71982575/1 in Phoenix.LiveReloader.before_send_inject_reloader/3>, #Function<2.129814873/1 in BlockScoutWeb.Endpoint.call/2>], :phoenix_action => :instance, :phoenix_controller => BlockScoutWeb.API.V2.TokenController, :phoenix_endpoint => BlockScoutWeb.Endpoint, :phoenix_format => "json", :phoenix_layout => {BlockScoutWeb.LayoutView, :app}, :phoenix_router => BlockScoutWeb.ApiRouter, :phoenix_view => BlockScoutWeb.API.V2.TokenView, :plug_session => %{}, :plug_session_fetch => :done}, query_params: %{}, query_string: "", remote_ip: {127, 0, 0, 1}, req_cookies: %{"AMP_6afb5a6bce" => "JTdCJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJkZXZpY2VJZCUyMiUzQSUyMjRmMTFkYzQzLTBhM2ItNDY3MS1hMjY4LWJiYWZlOTkwZDFiNSUyMiUyQyUyMmxhc3RFdmVudFRpbWUlMjIlM0ExNjcyNjQxODI0NDk2JTJDJTIyc2Vzc2lvbklkJTIyJTNBMTY3MjY0MTgyNDMxOCU3RA==", "AMP_MKTG_6afb5a6bce" => "JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBNDAwMCUyRmJsb2NrJTJGNzE2MDUlMkZ0cmFuc2FjdGlvbnMlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIybG9jYWxob3N0JTNBNDAwMCUyMiU3RA==", "_explorer_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUHdTYmpVZWtNYTBuWjJlYXI1S3RWYUxo.ocYPJu-3xiflKZZ_-XPs_d4HA3kEFAN_d2LazjrwtbI", "_ga" => "GA1.1.197617740.1676378922", "_ga_LHEEE3FJ3R" => "GS1.1.1677309927.2.1.1677309931.0.0.0", "_wobserver" => "8310d1eb27fbada022d6f5153a68c9a31bf0173011acd6e0a28cdf0d55fee2d3", "chakra-ui-color-mode" => "light", "csrftoken" => "gQ6ijcSgpwzxpYRJMWAqJnKFAji8ahGI", "mp_4b03b67c70939e1e9e893e11b280c700_mixpanel" => "%7B%22distinct_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24device_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Flocalhost%3A4000%2Fblock%2F32674%2Ftransactions%22%2C%22%24initial_referring_domain%22%3A%20%22localhost%3A4000%22%7D"}, req_headers: [{"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9,ru;q=0.8"}, {"connection", "keep-alive"}, {"cookie", "AMP_MKTG_6afb5a6bce=JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBNDAwMCUyRmJsb2NrJTJGNzE2MDUlMkZ0cmFuc2FjdGlvbnMlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIybG9jYWxob3N0JTNBNDAwMCUyMiU3RA==; AMP_6afb5a6bce=JTdCJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJkZXZpY2VJZCUyMiUzQSUyMjRmMTFkYzQzLTBhM2ItNDY3MS1hMjY4LWJiYWZlOTkwZDFiNSUyMiUyQyUyMmxhc3RFdmVudFRpbWUlMjIlM0ExNjcyNjQxODI0NDk2JTJDJTIyc2Vzc2lvbklkJTIyJTNBMTY3MjY0MTgyNDMxOCU3RA==; mp_4b03b67c70939e1e9e893e11b280c700_mixpanel=%7B%22distinct_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24device_id%22%3A%20%221856278afe9595-0aff4b71eb805c-17462c6c-1fa400-1856278afea51e%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Flocalhost%3A4000%2Fblock%2F32674%2Ftransactions%22%2C%22%24initial_referring_domain%22%3A%20%22localhost%3A4000%22%7D; chakra-ui-color-mode=light; _explorer_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUHdTYmpVZWtNYTBuWjJlYXI1S3RWYUxo.ocYPJu-3xiflKZZ_-XPs_d4HA3kEFAN_d2LazjrwtbI; _wobserver=8310d1eb27fbada022d6f5153a68c9a31bf0173011acd6e0a28cdf0d55fee2d3; csrftoken=gQ6ijcSgpwzxpYRJMWAqJnKFAji8ahGI; _ga=GA1.1.197617740.1676378922; _ga_LHEEE3FJ3R=GS1.1.1677309927.2.1.1677309931.0.0.0"}, {"host", "localhost:4000"}, {"sec-ch-ua", "\"Google Chrome\";v=\"113\", \"Chromium\";v=\"113\", \"Not-A.Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"}], request_path: "/api/v2/tokens/0x495f947276749ce646f68ac8c248420045cb7b5e/instances/asd", resp_body: nil, resp_cookies: %{}, resp_headers: [{"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "F04cPG5dU3JgVBwAAAIG"}, {"access-control-allow-credentials", "true"}, {"access-control-allow-origin", "*"}, {"access-control-expose-headers", ""}], scheme: :http, script_name: ["api"], secret_key_base: :..., state: :unset, status: nil}, :error)
        (block_scout_web 5.1.1) lib/block_scout_web/controllers/api/v2/token_controller.ex:1: BlockScoutWeb.API.V2.TokenController.action/2
        (block_scout_web 5.1.1) lib/block_scout_web/controllers/api/v2/token_controller.ex:1: BlockScoutWeb.API.V2.TokenController.phoenix_controller_pipeline/2
        (phoenix 1.5.13) lib/phoenix/router.ex:352: Phoenix.Router.__call__/2
        (phoenix 1.5.13) lib/phoenix/router/route.ex:41: Phoenix.Router.Route.call/2
        (phoenix 1.5.13) lib/phoenix/router.ex:352: Phoenix.Router.__call__/2
        (block_scout_web 5.1.1) lib/block_scout_web/endpoint.ex:1: BlockScoutWeb.Endpoint.plug_builder_call/2
        (block_scout_web 5.1.1) lib/plug/debugger.ex:136: BlockScoutWeb.Endpoint."call (overridable 3)"/2
        (block_scout_web 5.1.1) lib/block_scout_web/endpoint.ex:1: BlockScoutWeb.Endpoint."call (overridable 4)"/2
        (block_scout_web 5.1.1) lib/spandex_phoenix.ex:151: BlockScoutWeb.Endpoint.call/2
        (phoenix 1.5.13) lib/phoenix/endpoint/ (truncated)

I suppose we need to distinguish with clause here

like {:format, {token_id, ""}} <- {:format, Integer.parse(token_id_str)}, and then non integer strings will be handled by

Processed in 901519b

@vbaranov vbaranov force-pushed the vb-force-display-token-instance-page branch 10 times, most recently from 26934ae to bcb92bb Compare March 23, 2023 11:42
@vbaranov vbaranov force-pushed the vb-force-display-token-instance-page branch from bcb92bb to 934c01f Compare March 26, 2023 21:24
@vbaranov vbaranov force-pushed the vb-force-display-token-instance-page branch from 934c01f to cc7bc03 Compare March 27, 2023 08:43
@nikitosing nikitosing temporarily deployed to Tests March 27, 2023 09:11 — with GitHub Actions Inactive
@vbaranov vbaranov merged commit d3758c0 into master Mar 27, 2023
@vbaranov vbaranov deleted the vb-force-display-token-instance-page branch March 27, 2023 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants