Skip to content

feat(share): add protected file sharing and refine picker interactions - #18

Merged
fang2hou merged 1 commit into
mainfrom
feature/share-ui-and-protected-files
Oct 7, 2026
Merged

fang2hou merged 1 commit into
mainfrom
feature/share-ui-and-protected-files

Conversation

@fang2hou

@fang2hou fang2hou commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Previously the suffix picker swapped inputs during expansion, multi-file uploads were bundled into a ZIP before uploading, and public sharing only offered an unprotected link. This change keeps the suffix input in place and lets recipients unlock protected shares, preview files, and choose individual or selected ZIP downloads.

Changes:

  • Reuse the suffix input throughout opening and closing, strengthen the filename separator, and preserve keyboard navigation and viewport-aware placement.
  • Keep the compact language pill and show the same custom, animation-free dropdown on desktop and touch devices.
  • Add optional passwords alongside public links, generation and invitation copying, salted PBKDF2 hashes, one-hour share-scoped signed cookies, and persistent unlock attempt limits.
  • Upload files independently with stable retry IDs and store collection manifests; support individual downloads, selections, streaming ZIP archives, safe previews, and byte ranges.
  • Add native copy for all five locales and keep share settings open through live access-count updates.

Compatibility and risks:

  • Existing single-file uploads and public links remain supported. Durable Object changes only add columns with idempotent migrations.
  • Listings and password prompts do not consume the access budget. Each transfer, preview, or range request consumes one access; a ZIP consumes one access for the whole selection.
  • Collections allow up to 100 files. Archives requiring ZIP64 are rejected. Browser preview support depends on supported formats; HTML/XML render as plain text and SVG remains an attachment.
  • No new dependencies, authentication changes, or deployment configuration changes. Merging triggers the existing production deployment workflow.

Validation:

  • mise run test: lint, formatting, type checks, production build, and all 27 Worker integration tests passed.
  • Pre-commit mise run check: passed.
  • Svelte autofixer reviewed on all changed components; new language, share, and file browser components have no findings. Existing syntax-highlighting HTML and generic effect/collection suggestions were checked against their consumers.
  • Browser verification covered input continuity, password gates and invalidation, public-link mode, individual uploads/downloads, ZIP contents, text/image previews, 280/320px layouts, touch behavior, keyboard controls, and language persistence.

@fang2hou
fang2hou merged commit bb148b3 into main Oct 7, 2026
3 checks passed
@fang2hou
fang2hou deleted the feature/share-ui-and-protected-files branch October 7, 2026 14:55
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