enable OTP email, add debug logs and enable realtime locally #62
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The current version of
supabase-ex
lacks comprehensive logging capabilities, making it difficult for developers to debug issues when interacting with Supabase services. Additionally, the local development configuration needs updates to enable essential services like Realtime and Inbucket for testing. Documentation also requires updates to reflect new dependency versions and available integrations.Solution
This PR implements several focused improvements:
config.toml
) to enable Realtime, Inbucket, and appropriate authentication settings0.5
to0.6
The changes ensure that error handling in the HTTP client provides appropriate log messages at debug and error levels, respecting the application's configured log level.
Rationale
These improvements address several practical needs:
Enhanced Logging: The strategic placement of log statements in error handling paths provides better visibility into request failures without being overly verbose. Using the standard Logger module ensures compatibility with existing logging backends and configuration.
Development Configuration: Enabling Realtime, Inbucket and authentication services in the local development environment makes it easier for contributors to test their changes comprehensively.
Documentation Updates: The README changes ensure users are aware of all available integrations and use the correct dependency versions.
The implementation maintains backward compatibility while improving developer experience. The logging approach follows established Elixir conventions by using appropriate log levels (debug for general issues, error for exceptions) and provides context-rich messages that will help diagnose issues during development and in production.