- Updated privilege check log messages in `publisher.go` and `handleReq.go` for better clarity and consistency
- Improved event serialization by replacing `WriteTo` with `Serialize` in `export.go`
- Added unit tests for `Export` functionality in `export_test.go`
- Introduced tests for JSON tag handling in `json_tags_test.go`
- Simplified condition in `spider-fetch.go` by removing redundant checks
- Added `Export` method in `database/database.go` to export events to an io.Writer
- Implemented detailed logic for exporting all or specific pubkeys' events
- Removed placeholder `Export` function with TODO comment from `database/database.go`
- Updated error handling in `handleReq.go` and `publisher.go` by using `err != nil` instead of `chk.E(err)`
- Added more detailed logging in privilege check conditions in both `publisher.go` and `handleReq.go`
- Introduced new imports such as `"fmt"` in `connection.go` for improved error message formatting
- Created a new file `export.go` under the `database` package with complete implementation of export functionality
- Updated `handleMessage.go` to include the real remote address in the log message when a message is received
- Removed `regexp` import and `NIP20prefixmatcher` variable from `publisher.go`
- Modified `server.go` to remove an unused parameter from the `AddEvent` method
- Added `NIP20prefixmatcher` variable and used it for checking error messages in `addEvent.go`
- Removed unused `authedIsAuthor` variable and simplified privilege check logic in `check-privilege.go`
- Replaced conditional return based on `authedIsAuthor` with direct use of `privileged` flag
- Simplified the logic for checking if authed pubkey is mentioned in event tags
- Updated log message to use correct plurals for `owners`, `pubkey`, and related variables
- Added background fetching of profile metadata, relay list metadata, and DM relays list using `SpiderFetch` in the goroutine
- Modified `server.go` to import `"orly.dev/pkg/protocol/socketapi"` correctly and initialize `listeners` with the updated constructor
- Added `DMRelaysList.K` constant to `pkg/encoders/kind/kind.go`
- Removed unused `"errors"` import from `pkg/protocol/ws/connection.go`
- Updated error messages in `WriteMessage`, `ReadMessage`, and related functions in `pkg/protocol/ws/connection.go` to include the remote address for better debugging
- Changed error handling from `chk.E(err)` to `chk.T(err)` in `pkg/encoders/envelopes/eventenvelope/eventenvelope.go`
- Updated ticker interval from 30 minutes to 1 hour in `pkg/app/relay/server.go`
- Updated `pkg/protocol/socketapi/handleClose.go` to use "# Parameters" and "# Return Values" for consistent comment formatting
- Updated `pkg/protocol/socketapi/handleReq.go` with standardized parameter and return value documentation
- Modified `pkg/interfaces/relay/interface.go` to align comment style with parameter/return value sections
- Standardized comments in `pkg/protocol/socketapi/pinger.go` using "# Parameters" format
- Improved comment structure in `pkg/protocol/socketapi/socketapi.go` for parameter documentation
- Updated `pkg/protocol/socketapi/handleEvent.go` with consistent return value comment formatting
- Updated `pkg/app/main.go` with comprehensive parameter descriptions, return value explanations, and "Expected behaviour" sections for `AcceptFilter` and `AcceptReq` functions
- Improved `pkg/app/config/config.go` comments using consistent terminology (British spelling) and added detailed implementation notes for configuration methods
- Standardized function documentation format across both files with aligned parameter/return value descriptions
- **pkg/app/config/config.go**
- Added detailed comments explaining configuration struct purpose, environment loading behavior, and error handling in `New`
- Expanded function documentation with parameter descriptions, return value explanations, and expected behavior details for all exported methods
- Improved docstring formatting consistency across the file
- Clarified .env file handling logic in multiple functions
- Added implementation notes for key-value operations and sorting behavior
### Modified Files
- **pkg/app/relay/server-publish.go**
- Added comprehensive function documentation for `Publish`.
- Clarified parameters, return values, and expected behavior.
- Updated comments to improve readability and understanding of the method's functionality.
### Modified Files
- **pkg/app/relay/auth.go**
- Updated comments to clarify function purpose, parameters, return values, and expected behavior.
- Enhanced documentation to include details on protocol determination and URL construction.
- **pkg/app/relay/auth.go**
- Updated comments to clarify function purpose, parameters, return values, and expected behavior.
- Enhanced documentation to include details on protocol determination and URL construction.
pkg/app/relay/auth.go
- Added comprehensive function documentation for ServiceURL
- Clarified parameters, return values, and expected behavior
- Included implementation details for protocol determination
- Specified construction logic for WebSocket URL
Update .gitignore and refactor main.go, pkg/app/main.go
### Modified Files
- **.gitignore**
- Added `.idea/material_theme_project_new.xml` and `.idea/orly.iml` to be ignored.
- **main.go**
- Moved `os` import to the top.
- Adjusted the order of imports for better readability.
- Commented out the unused `profile` import.
- **pkg/app/main.go**
- Added detailed comments for types and methods in the `Relay` struct.
- Reorganized method descriptions for clarity.
- Ensured consistent documentation style throughout the file.