Skip to content

feat: add privacy-safe remote acceleration settings and status #261

Description

@Abhash-Chakraborty

Summary

Add frontend controls, consent, connection testing, and visible status for optional self-hosted remote ML acceleration.

Why this is required

Remote processing can help low-power clients, but it transmits sensitive image data. Users must deliberately enable it and always know when it is active.

Where to work

  • docs/plans/not-started/remote-acceleration.md — required privacy and UX behavior
  • frontend/src/app/settings/page.tsx — settings integration
  • frontend/src/components/ — consent, warnings, and active-mode badge
  • frontend/src/lib/api.ts — typed configuration/test calls
  • existing settings tests under frontend/src/__tests__/

This UI depends on backend contracts from #260. Do not invent endpoint shapes independently.

Acceptance criteria

  • Remote mode is off by default with no endpoint preconfigured.
  • First enable requires explicit informed consent.
  • Users can configure URL, credential, allowed features, and EXIF stripping.
  • Insecure HTTP and known tunnel risks produce clear warnings.
  • Connection testing reports actionable success/failure states.
  • Processing/search/gallery surfaces visibly indicate remote mode.
  • Settings persist through the approved configuration API.
  • Tests cover consent, warnings, persistence, and default-off behavior.

Validation

Run frontend checks/tests/build and verify both light and dark themes.

Out of scope

Do not add a project-hosted endpoint or silently transmit any user data.

Metadata

Metadata

Labels

assignedIssue or PR is already assigned to someone.enhancementNew feature, improvement, or enhancement request.frontendFrontend UI, state, and Next.js workgssoc26Related to GirlScript Summer of Code 2026.level:advancedGSSoC difficulty level: advanced. Base contributor points: 55.local-firstPrivacy-preserving local runtime and offline behaviormlModel inference, embeddings, OCR, captions, and search relevancepriority: highImportant issue that should be handled soonprivacyData privacy, security boundaries, and user truststatus: unavailableThis issue is now unavailable to pick up.ui/uxUser interface, interaction, and visual polish

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions