Advertisement · 728 × 90

Posts by comet.sh

hmm. anyone possibly interested in getting together to figure out a standard music & playlist lexicon like @standard.site? #AtmosphereConf has sharing-pilled me

2 weeks ago 32 1 7 1
defmodule MyAppWeb.Router do
	use Plug.Router
	use Atex.XRPC.Router
	
	plug :match
	plug :dispatch
	
	# GET /xrpc/com.example.getProfile
	# `conn.assigns[:params]` if lexicon defines a schema for it.
	query Com.Example.GetProfile do
		conn
		|> send_resp(200, JSON.encode!(%{
		  handle: "example.com",
			displayName: "Example response"
		}))
  end
  
  # POST /xrpc/com.example.createPost
  # `conn.assigns[:params]`/`conn.assigns[:body]` if lexicon defines a schema for them.
  # Service auth header is required and verified thanks to `require_auth`.
  procedure Com.Example.CreatePost, require_auth: true do
    # ...
  end
  
  # You can also just do a plain string, and it won't do any validation for incoming data.
  query "com.example.anotherThing" do
  	# ...
  end
end

defmodule MyAppWeb.Router do use Plug.Router use Atex.XRPC.Router plug :match plug :dispatch # GET /xrpc/com.example.getProfile # `conn.assigns[:params]` if lexicon defines a schema for it. query Com.Example.GetProfile do conn |> send_resp(200, JSON.encode!(%{ handle: "example.com", displayName: "Example response" })) end # POST /xrpc/com.example.createPost # `conn.assigns[:params]`/`conn.assigns[:body]` if lexicon defines a schema for them. # Service auth header is required and verified thanks to `require_auth`. procedure Com.Example.CreatePost, require_auth: true do # ... end # You can also just do a plain string, and it won't do any validation for incoming data. query "com.example.anotherThing" do # ... end end

what's this? an atex release during #ATmosphereConf?? you better believe it!

atex 0.8.0 brings a lot to the table, including:
- an XRPC server router (pictured)
- a plc.directory client
- atproto crypto utilities
- and a few more misc. things!

tangled.org/comet.sh/atex

2 weeks ago 30 8 0 0
A very basic, unstyled, audio upload form with a file input, title text field, description text area, and an explicit content toggle. There is text below it stating the success of the upload, with some information about the uploaded results as AT Protocol blobs and records.

A very basic, unstyled, audio upload form with a file input, title text field, description text area, and an explicit content toggle. There is text below it stating the success of the upload, with some information about the uploaded results as AT Protocol blobs and records.

yippee

1 month ago 14 1 0 1
Preview
comet.sh/drinkup Elixir ATProtocol firehose & subscription listener

finally released a new version of Drinkup, bringing breaking changes for how to use it, but also new support for Tap and Jetstream!

tangled.org/comet.sh/dri...
#elixir #atproto

2 months ago 15 6 0 0
Elixir code screenshot:

Atex.OAuth.Permission.repo(["app.bsky.feed.post", "fm.teal.alpha.feed.play"], create: true)
# => "repo?collection=app.bsky.feed.post&collection=fm.teal.alpha.feed.play&action=create"

Atex.OAuth.Permission.rpc("app.bsky.graph.getBlocks", aud: "*")
# => "rpc:app.bsky.graph.getBlocks?aud=*"

# Requires a session from `Atex.OAuth.Plug` or manually acquired and set through
# `Atex.OAuth.SessionStore`
{:ok, client} = %Atex.XRPC.OAuthClient{did: "did:web:comet.sh"}
{:ok, response, _} = Atex.XRPC.get(client, %Com.Atproto.Repo.CreateRecord{...})

Elixir code screenshot: Atex.OAuth.Permission.repo(["app.bsky.feed.post", "fm.teal.alpha.feed.play"], create: true) # => "repo?collection=app.bsky.feed.post&collection=fm.teal.alpha.feed.play&action=create" Atex.OAuth.Permission.rpc("app.bsky.graph.getBlocks", aud: "*") # => "rpc:app.bsky.graph.getBlocks?aud=*" # Requires a session from `Atex.OAuth.Plug` or manually acquired and set through # `Atex.OAuth.SessionStore` {:ok, client} = %Atex.XRPC.OAuthClient{did: "did:web:comet.sh"} {:ok, response, _} = Atex.XRPC.get(client, %Com.Atproto.Repo.CreateRecord{...})

atex v0.7.0 is out and it's a doozy!

- Much easier to use OAuth client.
- Utilities for helping create new permission scopes.
- Identity cache has a TTL now.
- Cache for OAuth server info
- OAuth Plug is actually usable, with a new `:callback` parameter!

tangled.org/comet.sh/atex
#elixir #atproto

3 months ago 19 3 0 0

hello all! if you’ve been tracking your plays, we made you a year-end thing.

we’re not data scientists, but we tried crunching your numbers anyway. your top tracks, listening patterns, and all the stats you (probably?) didn’t know you wanted.

happy new year from all of us!

yearinmusic.teal.fm

3 months ago 86 18 15 21

Statusphere Elixir has been published! it serves as a proper example for atex and Drinkup, and also has taught me a bunch I need to change in those libraries to make the developer experience nicer, before diving into Comet proper.

tangled.org/comet.sh/sta...
#elixir #atproto

3 months ago 24 4 1 0
macOS screenshot of two side-by-side windows. The left window is a VS Code window with a "statusphere_elixir" project opened, showing some database code and a terminal with some debug logs. The right window is a web browser page of the project. It has a title saying "Statusphere Elixir" with a header welcoming the user (me) and asking for their status. Below that is a grid of buttons containing various emoji and a timeline showing a few status events from the logged in user.

macOS screenshot of two side-by-side windows. The left window is a VS Code window with a "statusphere_elixir" project opened, showing some database code and a terminal with some debug logs. The right window is a web browser page of the project. It has a title saying "Statusphere Elixir" with a header welcoming the user (me) and asking for their status. Below that is a grid of buttons containing various emoji and a timeline showing a few status events from the logged in user.

👀

#elixir #atproto

3 months ago 17 3 0 1

i should find a designer for Comet's branding, and probably UI

4 months ago 7 1 0 0

actually i don't think i need to touch anything more on the atex side just yet. Might finally get a start on properly working on Comet!

4 months ago 5 1 0 0
Advertisement
An image showing the same text inside of the post. comet.sh/atex
⭐️ 13

An image showing the same text inside of the post. comet.sh/atex ⭐️ 13

comet.sh/atex
⭐️ 13

5 months ago 16 3 0 0

considering it...

5 months ago 5 1 0 0
Preview
@comet.sh/atex A set of utilities for working with the AT Protocol in Elixir.

v0.5.0 of atex is out now!
some breaking changes with `Atex.XRPC.Client` being renamed to `Atex.XRPC.LoginClient` and `Atex.HTTP` has been ditched, and now we have OAuth support and a new `Atex.XRPC.OAuthClient` for acting as an authenticated user!

tangled.org/@comet.sh/at...

#elixir #atproto

6 months ago 12 3 0 0

I'm building an alternative streaming option for artists called tracklist:// where they will be able to self-host their music catalog and stream it directly to fans.

As musicians ourselves, our goal is to empower artists with connection.

Sign up for our waitlist here; www.tracklist.diy

6 months ago 126 32 10 2
Preview
feat: basic OAuth Plug and utils · cometsh/atex@1164a1e

ok well in the meantime while i'm trying to figure out hooking up atex's oauth stuff to a HTTP client, i have finally pushed the Plug for implementing the flow! github.com/cometsh/atex...

6 months ago 7 1 0 0
@comet.sh/atex A set of utilities for working with the AT Protocol in Elixir.

v0.4.0 of atex is now released! bringing along the `deflexicon` macro to get runtime validation schemas and typespecs from a lexicon definition, and `mix atex.lexicons` to generate modules with `deflexicon` from a directory of lexicons!

#elixir #atproto

7 months ago 8 3 0 0
Preview
anisota for Bluesky & ATProto a new, experimental way to experience social media

Welcome.
Anisota is here.
Step inside.

🕯️ anisota.net 🕯️

7 months ago 295 81 46 46
Screenshot of the comet.sh landing page, showing off the roadmap.

Screenshot of the comet.sh landing page, showing off the roadmap.

We now have a public roadmap available on the website! This is subject to change as we get through the goals, but it'll give you an idea of what we're hoping to achieve.

comet.sh

7 months ago 68 18 3 1
Screenshot of Elixir code, showing an AT Protocol lexicon definition in a `deflexicon` macro.

Screenshot of Elixir code, showing an AT Protocol lexicon definition in a `deflexicon` macro.

Screenshot of Elixir REPL, demonstrating the generated validation functions from the code in the previous image.

Screenshot of Elixir REPL, demonstrating the generated validation functions from the code in the previous image.

almost done with my lexicon to runtime-validation schema stuff for atex! just need to handle subscriptions, queries, and procedures - all of which should come along faster since the bulk of it is done - and then a command for codegen and it's good to go!

8 months ago 8 1 0 1
Advertisement

Comet's code (and related projects) are now available on @tangled.sh! Stuff will still be a bit GitHub-centric, but I'll do my best to keep them synced and responsive on both sides.

tangled.sh/@comet.sh

8 months ago 14 7 0 0

DJ/"radio" streams in Comet, anyone? 👀

9 months ago 8 0 1 0
Player Component How to set up and use the Player component from @streamplace/components.

STREAMPLACE 0.7 is OUT NOW!!! Two huge features:

1. You can now stream directly from the Streamplace iOS/Android app! Grab the latest version from the App/Play store and try it out!

2. Our TypeScript SDK is live! Add livestreaming to your own #atproto apps!

stream.place/docs/compone...

9 months ago 83 25 2 8

Still around! Got sick for about a week and it really took me out, but I'm better now and back on my shit!

9 months ago 0 1 0 0
Join the Comet Discord Server! Check out the Comet community on Discord – hang out with 1 other members and enjoy free voice and text chat.

We now have a Discord server for talking about development and music stuff! discord.gg/ZKK7DnubD9

10 months ago 4 1 0 0
Preview
GitHub - cometsh/drinkup: Elixir ATProtocol firehose & subscription listener Elixir ATProtocol firehose & subscription listener - cometsh/drinkup

Drinkup is now released! If you ever wanted an easy way to read from the ATProto firehose in Elixir.
github.com/cometsh/drin...

10 months ago 2 1 0 0
Preview
Ovyerus comet Rfcs · Discussions Explore the GitHub Discussions forum for Ovyerus comet in the Rfcs category.

Discussions/RFCs for some important topics for the future (copyright, moderation, social graph) are now open!
github.com/Ovyerus/come...

10 months ago 3 0 1 0
atp.tools

owo what's this?
atp.tools/at:/did%3Apl...

10 months ago 3 2 0 0
Preview
GitHub - Ovyerus/comet: Music on ATProto! Music on ATProto! Contribute to Ovyerus/comet development by creating an account on GitHub.

Now on GitHub! Very early days, current focus is on finishing up the lexicons, and then probably moving over to Rust because I don't want to write TS.

Contributions and suggestions are welcome!
github.com/Ovyerus/comet

10 months ago 21 3 2 1