Tree:
a768be22e6
imwald
imwald-v0.58.10
imwald-v0.58.5
main
v0.1.0
v0.10.0
v0.10.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.12.0
v0.12.1
v0.12.2
v0.12.3
v0.13.0
v0.13.1
v0.13.2
v0.14.0
v0.14.1
v0.14.2
v0.14.3
v0.14.4
v0.15.0
v0.16.0
v0.16.1
v0.16.2
v0.16.3
v0.17.0
v0.17.1
v0.17.10
v0.17.11
v0.17.12
v0.17.13
v0.17.14
v0.17.15
v0.17.16
v0.17.17
v0.17.18
v0.17.2
v0.17.3
v0.17.4
v0.17.5
v0.17.6
v0.17.7
v0.17.8
v0.17.9
v0.18.0
v0.19.0
v0.19.1
v0.19.10
v0.19.2
v0.19.3
v0.19.4
v0.19.5
v0.19.6
v0.19.7
v0.19.8
v0.19.9
v0.2.0
v0.2.1
v0.20.0
v0.20.1
v0.20.2
v0.20.3
v0.20.4
v0.20.5
v0.20.6
v0.21.0
v0.21.1
v0.21.2
v0.21.3
v0.21.4
v0.22.0
v0.23.0
v0.23.1
v0.23.3
v0.23.4
v0.24.0
v0.24.1
v0.24.2
v0.24.3
v0.24.4
v0.24.5
v0.24.6
v0.24.7
v0.25.0
v0.25.1
v0.25.3
v0.25.4
v0.25.5
v0.25.6
v0.25.7
v0.26.0
v0.26.1
v0.26.2
v0.26.3
v0.26.4
v0.27.0
v0.27.1
v0.27.2
v0.27.3
v0.27.4
v0.27.5
v0.27.6
v0.27.7
v0.27.8
v0.27.9
v0.28.0
v0.28.1
v0.28.3
v0.29.0
v0.29.1
v0.29.10
v0.29.11
v0.29.12
v0.29.13
v0.29.14
v0.29.15
v0.29.16
v0.29.17
v0.29.18
v0.29.19
v0.29.2
v0.29.20
v0.29.3
v0.29.4
v0.29.6
v0.29.7
v0.29.8
v0.29.9
v0.3.0
v0.3.1
v0.3.2
v0.30.0
v0.30.1
v0.30.2
v0.30.3
v0.31.0
v0.31.1
v0.31.1-bump
v0.31.10
v0.31.11
v0.31.2
v0.31.3
v0.31.4
v0.31.5
v0.31.6
v0.31.7
v0.31.8
v0.31.9
v0.32.0
v0.32.1
v0.32.2
v0.32.3
v0.32.4
v0.32.5
v0.32.6
v0.32.7
v0.33.0
v0.33.1
v0.34.0
v0.34.1
v0.34.2
v0.34.3
v0.34.4
v0.34.5
v0.34.6
v0.34.7
v0.35.0
v0.35.1
v0.35.2
v0.35.3
v0.35.4
v0.35.5
v0.36.0
v0.36.1
v0.36.10
v0.36.11
v0.36.12
v0.36.13
v0.36.14
v0.36.15
v0.36.16
v0.36.17
v0.36.18
v0.36.19
v0.36.2
v0.36.20
v0.36.21
v0.36.22
v0.36.23
v0.36.3
v0.36.4
v0.36.5
v0.36.6
v0.36.7
v0.36.8
v0.36.9
v0.37.0
v0.37.1
v0.37.2
v0.37.3
v0.38.0
v0.38.1
v0.39.0
v0.39.1
v0.39.2
v0.39.3
v0.39.4
v0.4.0
v0.4.1
v0.4.2
v0.4.3
v0.4.4
v0.4.5
v0.4.6
v0.4.9
v0.40.0
v0.40.1
v0.41.0
v0.42.0
v0.43.0
v0.43.1
v0.44.0
v0.44.1
v0.44.2
v0.44.3
v0.44.4
v0.44.5
v0.44.6
v0.44.7
v0.46.0
v0.46.1
v0.46.2
v0.47.0
v0.47.1
v0.48.1
v0.48.10
v0.48.11
v0.48.12
v0.48.13
v0.48.14
v0.48.15
v0.48.8
v0.48.9
v0.49.0
v0.49.1
v0.49.2
v0.50.0
v0.50.1
v0.51.0
v0.52.0
v0.52.1
v0.52.10
v0.52.11
v0.52.12
v0.52.17
v0.52.2
v0.52.3
v0.52.4
v0.52.5
v0.52.6
v0.52.7
v0.52.8
v0.52.9
v0.53.0
v0.53.1
v0.54.0
v0.55.0
v0.55.10
v0.55.11
v0.55.4
v0.55.5
v0.55.6
v0.56.0
v0.56.1
v0.56.2
v0.56.3
v0.56.4
v0.56.5
v0.56.6
v0.56.8
v0.56.9
v0.57.0
v0.57.1
v0.57.2
v0.58.0
v0.58.1
v0.58.2
v0.58.3
v0.58.4
v0.58.5
v0.6.0
v0.6.1
v0.6.2
v0.6.3
v0.6.4
v0.7.1
v0.8.0
v0.8.1
v0.8.2
v0.8.3
v0.8.4
v0.8.5
v0.8.6
v0.8.7
v0.8.8
v0.8.9
v0.9.0
v0.9.1
v0.9.2
v0.9.3
v4.1.0
${ noResults }
8 Commits (a768be22e635ac22cbaa7cd3e69cd60e24f96c8e)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
9da1784b1b
|
Add Blossom bandwidth limiting and tune rate limiters (v0.49.0)
- Add token-bucket bandwidth rate limiting for Blossom uploads - ORLY_BLOSSOM_RATE_LIMIT enables limiting (default: false) - ORLY_BLOSSOM_DAILY_LIMIT_MB sets daily limit (default: 10MB) - ORLY_BLOSSOM_BURST_LIMIT_MB sets burst cap (default: 50MB) - Followed users, admins, owners are exempt (unlimited) - Change emergency mode throttling from exponential to linear scaling - Old: 16x multiplier at emergency threshold entry - New: 1x at threshold, +1x per 20% excess pressure - Reduce follows ACL throttle increment from 200ms to 25ms per event - Update dependencies Files modified: - app/blossom.go: Pass rate limit config to blossom server - app/config/config.go: Add Blossom rate limit config options - pkg/blossom/ratelimit.go: New bandwidth limiter implementation - pkg/blossom/server.go: Add rate limiter integration - pkg/blossom/handlers.go: Check rate limits on upload/mirror/media - pkg/ratelimit/limiter.go: Linear emergency throttling - pkg/acl/follows.go: Reduce default throttle increment Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
4 months ago |
|
|
ab2ac1bf4c
|
Add Blossom admin UI for viewing all users' storage (v0.36.21)
- Add ListAllUserStats() storage method to aggregate user blob stats - Add handleAdminListUsers() handler for admin endpoint - Add /blossom/admin/users route requiring admin ACL - Add Admin button to Blossom UI for admin/owner roles - Add admin view showing all users with file counts and sizes - Add user detail view to browse individual user's files - Fetch user profiles (avatar, name) for admin list display Files modified: - pkg/blossom/storage.go: Add UserBlobStats struct and ListAllUserStats() - pkg/blossom/handlers.go: Add handleAdminListUsers() handler - pkg/blossom/server.go: Add admin/users route - app/web/src/BlossomView.svelte: Add admin view state, UI, and styles 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
5 months ago |
|
|
da058c37c0
|
blossom works fully correctly
|
6 months ago |
|
|
1c376e6e8d
|
migrate to new nostr library
|
6 months ago |
|
|
9d13811f6b
|
Add test files and enhance logging in various components
- Introduced test files for the blossom and database packages to improve test coverage and ensure functionality. - Updated logging practices by suppressing unnecessary log outputs during tests to enhance clarity and focus on relevant information. - Refactored error handling in the `handle-message` and `handle-req` functions to avoid logging expected context cancellation errors during shutdown. - Bumped version to v0.25.2 to reflect these updates. |
7 months ago |
|
|
edcdec9c7e
|
Add Blossom blob storage server and subscription management
- Introduced the `initializeBlossomServer` function to set up the Blossom blob storage server with dynamic base URL handling and ACL configuration. - Implemented the `blossomHandler` method to manage incoming requests to the Blossom API, ensuring proper URL handling and context management. - Enhanced the `PaymentProcessor` to support Blossom service levels, allowing for subscription extensions based on payment metadata. - Added methods for parsing and validating Blossom service levels, including storage quota management and subscription extension logic. - Updated the configuration to include Blossom service level settings, facilitating dynamic service level management. - Integrated storage quota checks in the blob upload process to prevent exceeding allocated limits. - Refactored existing code to improve organization and maintainability, including the removal of unused blob directory configurations. - Added tests to ensure the robustness of new functionalities and maintain existing behavior across blob operations. |
7 months ago |
|
|
3567bb26a4
|
Enhance blob storage functionality with file extension support
- Added an `Extension` field to `BlobMetadata` to store file extensions alongside existing metadata. - Updated the `SaveBlob` method to handle file extensions, ensuring they are stored and retrieved correctly. - Modified the `GetBlob` method to read blob data from the filesystem based on the stored extension. - Enhanced the `Storage` struct to manage blob files in a specified directory, improving organization and access. - Introduced utility functions for determining file extensions from MIME types, facilitating better file handling. - Added comprehensive tests for new functionalities, ensuring robust behavior across blob operations. |
7 months ago |
|
|
9082481129
|
Add Blossom package with core functionalities for blob storage and authorization
- Introduced the Blossom package, implementing essential features for handling blob storage, including upload, retrieval, and deletion of blobs. - Added authorization mechanisms for secure access to blob operations, validating authorization events based on Nostr standards. - Implemented various HTTP handlers for managing blob interactions, including GET, HEAD, PUT, and DELETE requests. - Developed utility functions for SHA256 hash calculations, MIME type detection, and range request handling. - Established a storage layer using Badger database for efficient blob data management and metadata storage. - Included placeholder implementations for media optimization and payment handling, setting the groundwork for future enhancements. - Documented the new functionalities and usage patterns in the codebase for better maintainability and understanding. |
7 months ago |