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

atrium-streams + atrium-streams-client implementation #228

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

oestradiol
Copy link
Contributor

@oestradiol oestradiol commented Sep 13, 2024

This Pull Request adds two new crates:

  • atrium-streams: Definitions for traits, types and utilities for dealing with event stream subscriptions.
  • atrium-streams-client: A library that provides default implementations of the EventStreamClient, Handlers and Subscription defined in atrium-streams for interacting with the variety of subscriptions in ATProto.

TODO:

  • - Implement processing of other payload types for Firehose implementation + add configurations to manually enable payload types to avoid unnecessary computations;
  • - Write unit tests;
  • - Implement other subscriptions, such as com.atproto.label.subscribeLabels + tests;
  • - Implement an alternative client for codebases that do not use Tokio as an asynchronous runtime + tests.
  • - Create crate features so that users can deactivate specific features;
  • - Write CHANGELOG.md and README.md;
  • - Write Github Workflows for both crates + test features;
  • - Prepare for wasm target;
  • - Using std::mem::transmute is not recommended. It works wonderfully for now, but eventually it might not anymore. Think of a way to replace the outdated rs_car crate somehow (if possible).

@oestradiol
Copy link
Contributor Author

Obs.: Refer to #223 for information on name choices, as well as why this Draft was re-created.

@oestradiol oestradiol changed the title Preparing for Draft Pull Request atrium-streams + atrium-streams-client implementation Sep 13, 2024
@oestradiol
Copy link
Contributor Author

oestradiol commented Sep 19, 2024

Force-pushed to re-sync with main.

@sugyan, it seems giraffate/clippy-action@v1 is not causing the workflow to fail whenever there is an error:

Is this expected behaviour?

@sugyan
Copy link
Owner

sugyan commented Sep 20, 2024

I'm not sure since I can't see that event from your link, but it may indeed just be reported and not fail.

I didn't really think much about what should happen at first when I installed it. Now I think... it doesn't have to follow strictly and Not Fail is the expected behavior.

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.

2 participants