Skip to content

Allow downloading multiple selected interview reports - #453

Merged
jserv merged 1 commit into
sysprog21:mainfrom
yucheng922003:feat/batch-report-download
Oct 25, 2026
Merged

jserv merged 1 commit into
sysprog21:mainfrom
yucheng922003:feat/batch-report-download

Conversation

@yucheng922003

@yucheng922003 yucheng922003 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Let candidates save multiple attempts without repe

Summary

  • Add checkboxes to past interview attempts, selected by default.
  • Add Select all / Deselect all and Download selected controls.
  • Download only selected reports visible under the current filters.
  • Preserve selections across filtering and history reloads, and reset them when switching history sources.
  • Reuse the existing Markdown download logic to preserve filenames and report content.

Screenshots

Before

#444 before

After — default state

#444 after

After — after clicking batch download

#444 after_click

After — filtered with no matching reports

#444 after_no_match

Testing

  • Manually verified selection, filtering, and multiple Markdown downloads in Chrome on Windows.
  • Passed ESLint, Prettier, DOM contract tests, and download unit tests.
  • Added browser tests for selection and batch downloads; these are pending CI execution.

Closes #444titive downloads.


Summary by cubic

Adds checkboxes to past interview attempts so you can download multiple saved reports at once instead of one by one.

  • Attempts are ticked by default; the Select all / Deselect all and Download selected controls sit above the list.
  • Batch downloads only the ticked reports visible under the current filters, reusing the existing per-report Markdown download.
  • Selections persist across filter changes and reset when the history reloads.
  • Browsers may block downloads after the first; the page tells users how to allow them.

Closes #444.

Written for commit f056d58. Summary will update on new commits.

View guided diff

cubic-dev-ai[bot]

This comment was marked as resolved.

Comment thread web/app.js Outdated
Comment thread web/app.js Outdated
Comment thread tests/browser/lobby.test.js Outdated
@yucheng922003 yucheng922003 changed the title Download selected interview reportsAllow downloading multiple selected interview reports Allow downloading multiple selected interview reports Oct 23, 2026
@yucheng922003
yucheng922003 force-pushed the feat/batch-report-download branch from f79990f to 6cde114 Compare October 23, 2026 13:35
cubic-dev-ai[bot]

This comment was marked as resolved.

Comment thread web/app.js Outdated
Comment thread web/app.js Outdated
@yucheng922003
yucheng922003 force-pushed the feat/batch-report-download branch from 6cde114 to f056d58 Compare October 23, 2026 16:20
@jserv
jserv requested review from ColtenOuO and alanhc October 23, 2026 23:36
Comment thread web/app.js Outdated
@yucheng922003
yucheng922003 force-pushed the feat/batch-report-download branch from f056d58 to e214511 Compare October 24, 2026 16:28
Comment thread web/app.js
});
nodes.attemptDownloadSelected.addEventListener("click", () => {
const selected = selectedAttempts();
for (const attempt of selected) downloadSavedReport(attempt);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every row starts ticked, and device history keeps up to 500 reports (REVIEW_HISTORY_CAP). So a single click on Download selected with no filter runs downloadSavedReport for every report in the history, in one synchronous loop. After Chrome's one-time "multiple downloads" prompt, that can drop hundreds of .md files into the Downloads folder. Either start rows unticked, or confirm above a small count (for example window.confirm naming the number of files). For more than a few reports, a follow-up could bundle them into one archive rather than sending one download per report.

@jserv jserv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebase latest main branch and resolve conflicts.

Let candidates save multiple attempts without repetitive downloads.
@yucheng922003
yucheng922003 force-pushed the feat/batch-report-download branch from e214511 to ab1c28d Compare October 25, 2026 03:46
@jserv
jserv merged commit c44768f into sysprog21:main Oct 25, 2026
11 checks passed
@jserv

jserv commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

Thank @yucheng922003 for contributing!

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.

Allow downloading multiple selected interview reports

2 participants