Repository navigation
feat(chat): carry image upload proofs and MIME metadata - #81
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Current chat uploads retain display labels such as
Imageinstead of the original MIME type and provide no proof that an image upload belongs to the authenticated user. This change carries a scoped upload receipt and real MIME metadata through the existing upload flow into the structured chat attachment payload, enabling the companion backend image-input feature without changing text messages.Validation: 746 offline frontend tests passed, including the actual presign route, current-turn MIME/proof payload and HTTP cancellation integration. Targeted type checking reports the same two pre-existing lib/auth.ts errors as the unmodified main branch; full type checking is not clean on main. The i18n scan output is identical to main; locale parity passes. No paid model calls, production changes or private-repository synchronization.
Rollout: deploy the corresponding private frontend synchronization before enabling the companion ragent-service backend feature. Older backends ignore the new optional receipt; the new backend requires it for image inputs. Public main merge alone does not deploy the private frontend.