feat: add S3 asset sharing with pre-signed URLs and public publish#52
Open
andrewhopper wants to merge 4 commits intomasterfrom
Open
feat: add S3 asset sharing with pre-signed URLs and public publish#52andrewhopper wants to merge 4 commits intomasterfrom
andrewhopper wants to merge 4 commits intomasterfrom
Conversation
Add the ability to share assets via S3 with two modes: - Pre-signed URL sharing with configurable expiry (15min to 7 days) - Public publish with permanent URL via public-read ACL Includes S3 service, API routes, share modal UI, and CLI/env configuration. https://claude.ai/code/session_01KmkxntcBJNYR3N47LGGDXp
…rganize by project/session - Remove public-read ACL publish endpoint (breaks on modern S3 buckets) - Consolidate to single `share()` method with presigned URLs only - Fix path traversal vulnerability in share routes (resolve + startsWith check) - Deduplicate validation logic into shared `validateFileRequest()` helper - Organize S3 keys as `prefix/project/session/id-filename` - Clamp expiresIn to valid AWS range (60s–7 days) - Remove unused HeadObjectCommand import - Stop leaking bucket/region in /share/status endpoint - Stop leaking internal error messages in 500 responses - Add .env.example documenting all S3 config vars - Add --project-name CLI option (defaults to directory name) https://claude.ai/code/session_01KmkxntcBJNYR3N47LGGDXp
…3 sharing Resolves merge conflicts across 5 files, keeping both feature sets: - S3 presigned-URL sharing (our branch) - Tunnel support, file info modal, preferences panel, EXIF (master) - Removed publish button from share modal (presigned-only) https://claude.ai/code/session_01KmkxntcBJNYR3N47LGGDXp
Resolves conflicts from master's full TypeScript + React + Vite + shadcn conversion: - Converted s3-service.js to s3-service.ts with full type annotations - Converted share-routes.js to share-routes.ts using FileService.getFilePath() - Created ShareModal.tsx React component using shadcn Dialog - Wired S3 Share button into App.tsx action bar - Resolved server.ts imports to include S3Service + share routes - Merged AWS SDK deps with Radix UI + Tailwind deps in package.json - Accepted deletion of old public/app.js and public/index.html https://claude.ai/code/session_01KmkxntcBJNYR3N47LGGDXp
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.
Add the ability to share assets via S3 with two modes:
Includes S3 service, API routes, share modal UI, and CLI/env configuration.
https://claude.ai/code/session_01KmkxntcBJNYR3N47LGGDXp