annot.at is a service for syncing static websites, such as blogs, to atproto and standard.site annot.at
elixir atproto standardsite
3

Configure Feed

Select the types of activity you want to include in your feed.

Fix a couple of bugs

Spec says authorization_servers has to be a single item.

Also avatar should be avatar_url

Johanna Larsson (Jun 27, 2026, 10:18 PM +0100) 96d2cfa6 aae6ac66

+3 -2
+2 -1
lib/annot_at/atproto/oauth/discovery.ex
··· 42 42 defp authorization_server(resource, pds_endpoint) do 43 43 with :ok <- verify_resource(resource, pds_endpoint) do 44 44 case Map.get(resource, "authorization_servers") do 45 - [issuer | _] when is_binary(issuer) -> {:ok, issuer} 45 + # There has to be exactly one issuer according to the spec. 46 + [issuer] when is_binary(issuer) -> {:ok, issuer} 46 47 _ -> {:error, :no_authorization_server} 47 48 end 48 49 end
+1 -1
lib/annot_at/atproto/oauth/login.ex
··· 185 185 186 186 {:error, reason} -> 187 187 Logger.warning("failed to fetch profile for #{handle}: #{inspect(reason)}") 188 - %{display_name: nil, avatar: nil} 188 + %{display_name: nil, avatar_url: nil} 189 189 end 190 190 end 191 191 end