|
|
532cf95d59
|
Debug s3 api issues on Granian
|
2026-03-22 11:14:32 +08:00 |
|
|
|
366f8ce60d
|
the middleware now also triggers when Content-Length is '0' but X-Amz-Decoded-Content-Length or aws-chunked headers indicate a body should be present
|
2026-03-22 00:24:04 +08:00 |
|
|
|
7612cb054a
|
further fixes
|
2026-03-22 00:16:30 +08:00 |
|
|
|
966d524dca
|
Fix 0-byte uploads caused by Granian stripping Expect header and missing CONTENT_LENGTH for chunked transfers
|
2026-03-22 00:04:55 +08:00 |
|
|
|
e84f1f1851
|
Fix SigV4 SignatureDoesNotMatch when Expect header is stripped by WSGI server
|
2026-03-21 23:48:19 +08:00 |
|
|
|
a059f0502d
|
Fix 0-byte uploads caused by Granian default buffer size; Add SERVER_MAX_BUFFER_SIZE config
|
2026-03-21 22:57:48 +08:00 |
|
|
|
aa4f9f5566
|
Bypass boto3 proxy for object streaming, read directly from storage layer; Add streaming object iterator to eliminate O(n²) directory rescanning on large buckets; Add iter_objects_shallow delegation to EncryptedObjectStorage
|
2026-03-20 17:35:10 +08:00 |
|
|
|
a496862902
|
Fix stale object count on dashboard after deleting all objects in bucket
|
2026-03-17 23:25:30 +08:00 |
|
|
|
df4f27ca2e
|
Fix IAM policy editor injecting prefix on existing policies without one
|
2026-03-15 16:04:35 +08:00 |
|
|
|
d72e0a347e
|
Overhaul IAM: granular actions, multi-key users, prefix-scoped policies
|
2026-03-14 23:50:44 +08:00 |
|
|
|
6ed4b7d8ea
|
Add System page: server info, feature flags, GC and integrity scanner UI
|
2026-03-14 20:27:57 +08:00 |
|
|
|
d878134ebf
|
Switch from Waitress to Granian (Rust/hyper WSGI server) for improved concurrency
|
2026-03-14 18:17:39 +08:00 |
|
|
|
55568d6892
|
Fix video seekbar in static website hosting by adding HTTP Range request support
|
2026-03-10 22:21:55 +08:00 |
|
|
|
a4ae81c77c
|
Add integrity scanner: background detection and healing of corrupted objects, orphaned files, phantom metadata, stale versions, etag cache inconsistencies, and legacy metadata drift
|
2026-03-10 22:14:39 +08:00 |
|
|
|
de5377e5ac
|
Add garbage collection: background cleanup of orphaned temp files, multipart uploads, lock files, metadata, versions, and empty directories
|
2026-03-09 17:34:21 +08:00 |
|
|
|
6c912a3d71
|
Add conditional GET/HEAD headers: If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since
|
2026-03-09 15:09:15 +08:00 |
|
|
|
03353a0aec
|
Add credential expiry support: per-user expires_at with UI management, presets, and badge indicators; Add credential expiry support: per-user expires_at with UI management, presets, and badge indicators; Fix IAM card dropdown clipped by overflow: remove gradient bar, allow overflow visible
|
2026-03-08 13:08:57 +08:00 |
|
|
|
72f5d9d70c
|
Restore data integrity guarantees: Content-MD5 validation, fsync durability, atomic metadata writes, concurrent write protection
|
2026-03-07 17:54:00 +08:00 |
|
|
|
be63e27c15
|
Reduce per-request CPU overhead: eliminate double stat(), cache content type and policy context, gate logging, configurable stat intervals
|
2026-03-07 14:08:23 +08:00 |
|
|
|
81ef0fe4c7
|
Fix stale object count in bucket header and metrics dashboard after deletes
|
2026-03-03 19:42:37 +08:00 |
|
|
|
5f24bd920d
|
Reduce P99 tail latency: defer etag index writes, eliminate double cache rebuild, skip redundant stat() in bucket config
|
2026-03-02 22:39:37 +08:00 |
|
|
|
8552f193de
|
Reduce CPU/lock contention under concurrent uploads: split cache lock, in-memory stats, dict copy, lightweight request IDs, defaultdict metrics
|
2026-03-02 22:05:54 +08:00 |
|
|
|
5536330aeb
|
Move performance-critical Python functions to Rust: streaming I/O, multipart assembly, and AES-256-GCM encryption
|
2026-02-27 22:55:20 +08:00 |
|
|
|
3827235232
|
Reduce CPU usage on heavy uploads: skip SHA256 body hashing in SigV4, use Rust md5_file post-write instead of per-chunk _HashingReader
|
2026-02-27 21:57:13 +08:00 |
|
|
|
dfc0058d0d
|
Extend myfsio_core Rust extension with 7 storage hot paths (directory scanning, metadata I/O, object listing, search, bucket stats, cache building)
|
2026-02-27 12:22:39 +08:00 |
|
|
|
27aef84311
|
Fix rclone CopyObject SignatureDoesNotMatch caused by internal metadata leaking as X-Amz-Meta headers
|
2026-02-26 21:39:43 +08:00 |
|
|
|
5003514a3d
|
Fix null ETags in shallow listing by updating etag index on store/delete
|
2026-02-26 18:09:08 +08:00 |
|
|
|
a356bb0c4e
|
perf: shallow listing, os.scandir stats, server-side search for large buckets
|
2026-02-26 17:11:07 +08:00 |
|
|
|
1c328ee3af
|
Fix list performance for large buckets: delimiter-aware shallow listing, cache TTL increase, UI delimiter streaming. header badge shows total bucket objects, fix status bar text concatenation
|
2026-02-26 16:29:28 +08:00 |
|
|
|
5bf7962c04
|
Fix UI: versioning modals and object browser panel showing 'null'
|
2026-02-24 20:41:39 +08:00 |
|
|
|
e06f653606
|
Fix version panel showing 'null' instead of timestamp, exclude current version from list, auto-refresh versions after upload
|
2026-02-24 17:19:12 +08:00 |
|
|
|
9c2809c195
|
Backwards compatibility for Proxy trust config
|
2026-02-22 18:03:38 +08:00 |
|
|
|
fb32ca0a7d
|
Harden security: fail-closed policies, presigned URL time/expiry validation, SSRF DNS pinning, lockout cap, proxy trust config
|
2026-02-22 17:55:40 +08:00 |
|
|
|
6ab702a818
|
Use cached etag in HEAD instead of re-hashing entire file
|
2026-02-22 16:01:46 +08:00 |
|
|
|
550e7d435c
|
Move SigV4 canonical request construction to Rust unified verify function
|
2026-02-22 14:03:12 +08:00 |
|
|
|
776967e80d
|
Add Rust index reader, metadata read cache, and 256KB stream chunks
|
2026-02-19 23:01:40 +08:00 |
|
|
|
082a7fbcd1
|
Move index JSON read to Rust for GIL-released parsing (serde_json)
|
2026-02-19 22:43:28 +08:00 |
|
|
|
ff287cf67b
|
Improve Sites page UI/UX: dropdown actions, collapsible forms, AJAX submissions, Check All Health, safer selectors
|
2026-02-16 22:04:46 +08:00 |
|
|
|
bddf36d52d
|
Fix domain mapping cross-process staleness, filter bucket dropdown to website-enabled only
|
2026-02-16 17:48:21 +08:00 |
|
|
|
cf6cec9cab
|
Add 5 missing S3 API operations: DeleteBucketEncryption, GetObjectAcl, PutObjectAcl, GetObjectAttributes, GetBucketPolicyStatus
|
2026-02-16 16:41:27 +08:00 |
|
|
|
4c661477d5
|
Add Rust extension module (myfsio_core) for SigV4, hashing, and validation hot paths
|
2026-02-16 16:04:15 +08:00 |
|
|
|
f3f52f14a5
|
Fix domain mapping bugs and improve UI/UX: normalize domains, fix delete, add validation and search
|
2026-02-16 00:51:19 +08:00 |
|
|
|
c627f41f53
|
UI/UX enhancements to Metrics page
|
2026-02-15 23:56:18 +08:00 |
|
|
|
bcad0cd3da
|
Improve web UI: sort/search/context menu, fix security and UX bugs
|
2026-02-15 23:30:26 +08:00 |
|
|
|
67f057ca1c
|
Add static website hosting
|
2026-02-15 20:57:02 +08:00 |
|
|
|
01e79e6993
|
Fix object browser UI issues
|
2026-02-10 11:41:02 +08:00 |
|
|
|
1e3c4b545f
|
Migrate UI backend from direct storage calls to S3 API proxy via boto3
|
2026-02-09 22:33:47 +08:00 |
|
|
|
aa6d7c4d28
|
Optimize replication failure caching, batch UI auth checks, add bulk download size limit, background parent cleanup
|
2026-02-09 18:23:45 +08:00 |
|
|
|
6e6d6d32bf
|
Optimize KMS: cache AESGCM instance, remove duplicate get_provider
|
2026-02-09 17:01:19 +08:00 |
|
|
|
54705ab9c4
|
Fix Content-Length mismatch on range requests (206 Partial Content)
|
2026-02-06 16:14:35 +08:00 |
|