Skip to content

feat(ragfs): add s3 key normalization encoding#1685

Merged
MaojiaSheng merged 1 commit intomainfrom
s3_normalize_encoding
Apr 24, 2026
Merged

feat(ragfs): add s3 key normalization encoding#1685
MaojiaSheng merged 1 commit intomainfrom
s3_normalize_encoding

Conversation

@zhoujh01
Copy link
Copy Markdown
Collaborator

Description

Related Issue

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test update

Changes Made

Testing

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have tested this on the following platforms:
    • Linux
    • macOS
    • Windows

Checklist

  • My code follows the project's coding style
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Screenshots (if applicable)

Additional Notes

@github-actions
Copy link
Copy Markdown

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Align normalize_encoding default to False

The normalize_encoding default value is inconsistent with the test expectation and
Rust plugin defaults. Change the default to False to align with the test
test_agfs_s3_normalize_encoding_defaults_to_false and the Rust codebase.

openviking_cli/utils/config/agfs_config.py [74-79]

     normalize_encoding: bool = Field(
-        default=True,
+        default=False,
         description="Normalize URL-unsafe path segments before writing S3 object keys. "
         "When enabled, reserved or unsafe URL bytes such as ?, &, #, spaces, %, @, or + are "
         "escaped in place as !HH hexadecimal bytes, while / ! - _ . * ' ( ) remain unescaped.",
     )
Suggestion importance[1-10]: 8

__

Why: The default value for normalize_encoding in S3Config is inconsistent with the test expectation (test_agfs_s3_normalize_encoding_defaults_to_false) and Rust plugin defaults (both use False). Fixing this avoids test failures and ensures cross-codebase consistency.

Medium
General
Update normalize_encoding doc default

Align the documented default value for normalize_encoding with the actual code
defaults (False). This ensures consistency between documentation and implementation.

docs/en/guides/01-configuration.md [780]

- | `normalize_encoding` | bool | Escape only URL-reserved or URL-unsafe characters in S3 object keys as `!HH` hexadecimal bytes while preserving safe characters | `true` |2
+ | `normalize_encoding` | bool | Escape only URL-reserved or URL-unsafe characters in S3 object keys as `!HH` hexadecimal bytes while preserving safe characters | `false` |2
Suggestion importance[1-10]: 5

__

Why: The documented default value for normalize_encoding should be aligned with the actual code defaults (False) to avoid user confusion.

Low

@MaojiaSheng MaojiaSheng merged commit ce090be into main Apr 24, 2026
5 checks passed
@MaojiaSheng MaojiaSheng deleted the s3_normalize_encoding branch April 24, 2026 11:44
@github-project-automation github-project-automation Bot moved this from Backlog to Done in OpenViking project Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants