Skip to content

fix(api): align avatar upload contract#3318

Draft
aofei wants to merge 3 commits into
goplus:devfrom
aofei:avatar-upload-contract
Draft

fix(api): align avatar upload contract#3318
aofei wants to merge 3 commits into
goplus:devfrom
aofei:avatar-upload-contract

Conversation

@aofei

@aofei aofei commented Jun 29, 2026

Copy link
Copy Markdown
Member

Document avatar upload requirements as format and file size only, and state that uploaded avatars are normalized to 512x512 PNG. This keeps the public contract aligned with backend normalization instead of exposing storage protection limits as client requirements.

Add matching admin upload validation for PNG/JPEG and 5 MB files so the tool rejects unsupported inputs before sending them to the API.

aofei added 3 commits June 26, 2026 16:01
Use `getApiStringLength` for frontend checks tied to OpenAPI
`minLength` and `maxLength` constraints so Unicode input is accepted or
rejected with the same semantics as the API contract.

Move remaining shared limits into API modules, remove native
`maxlength` enforcement where it would count UTF-16 code units, and
apply code point budgets to Copilot and AI description payloads.

Document the frontend validation rule for future API inputs.

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Document the shared REST error envelope, stable error code catalog,
and reusable response components so clients can decode API failures
consistently.

Document OAuth protocol error responses separately from `APIError`,
including no-store headers, client-auth challenges, and the mixed
`APIError` and `OAuthError` shape for identity provider form-post
callback failures.

Decode OAuth error payloads in the frontend client and keep retry
metadata handling aligned with documented backend error responses.

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Document avatar upload requirements as format and file size only, and
state that uploaded avatars are normalized to 512x512 PNG. This keeps
the public contract aligned with backend normalization instead of
exposing storage protection limits as client requirements.

Add matching admin upload validation for PNG/JPEG and 5 MB files so the
tool rejects unsupported inputs before sending them to the API.

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
gemini-code-assist[bot]

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant