Skip to content

Read the Downloads folder from the machine, not the server - #7964

Draft
Frooodle wants to merge 10 commits into
feature/desktop-onboarding-magic-trickfrom
classify-downloads-on-desktop
Draft

Read the Downloads folder from the machine, not the server#7964
Frooodle wants to merge 10 commits into
feature/desktop-onboarding-magic-trickfrom
classify-downloads-on-desktop

Conversation

@Frooodle

Copy link
Copy Markdown
Member

Description of Changes

  • Resolves the Downloads folder from the machine through a new getDownloadsDirectory seam, instead of asking the server for a directory it cannot see.
  • Lists Downloads locally, mounts it, reads the newest PDFs in small batches and imports them.
  • Classification then runs on the existing path: browser heuristic first, escalating to the connected server's AI only when unsure.
  • Gates the offer on the server actually running the classification policy, so a core-flavour server cannot import files nothing will classify.
  • Drops the server-side downloads-suggestion probe, which no longer has a caller.
  • Corrects the copy: nothing is written back to disk, so the "processed in place, originals kept" promise is replaced.

Why: a remote server has no user Downloads folder — it answers {"directory":"","available":false,"pdfCount":0} even under an Enterprise licence — so the offer never appeared on desktop at all.

Not in scope: writing labelled bytes back to disk, and the wider processing-folder rework.

Stacked on gate-desktop-premium-surfaces — so this PR's diff includes that branch's commits and its parent's.

Open question for review: this duplicates the Downloads sweep in this PR's own base branch; the two should probably share one service.

Ran: frontend:typecheck:all, frontend:lint, frontend:format:check, full vitest, comment-lint.


Checklist

General

Documentation

Translations (if applicable)

UI Changes (if applicable)

  • Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR)

Testing (if applicable)

  • I have run task check to verify linters, typechecks, and tests pass
  • I have tested my changes locally. Refer to the Testing Guide for more details.

@Frooodle
Frooodle requested review from a team and balazs-szucs as code owners September 12, 2026 17:20
@github-actions

Copy link
Copy Markdown
Contributor

🌐 TOML Translation Verification Summary

🔄 Reference Branch: pr-branch

📃 File Check: en-US/translation.toml

  1. Test Status:Passed
  2. Test Status:Passed
  3. Test Status:Passed

✅ Overall Check Status: Success

Thanks @Frooodle for your help in keeping the translations up to date.

@Frooodle
Frooodle marked this pull request as draft September 12, 2026 19:11
@github-actions

Copy link
Copy Markdown
Contributor

🚀 V2 Auto-Deployment Complete!

🔗 Direct Test URL (non-SSL) http://54.175.155.236:7964

🧩 Admin portal included - try it at http://54.175.155.236:7964/portal.

This deployment will be automatically cleaned up when the PR is closed.

🔄 Auto-deployed for approved V2 contributors.

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