Skip to content

feat: classroom phase 2 remaining — ZIP download, file size, return notify, student leave#457

Merged
takaokouji merged 10 commits into
developfrom
feature/classroom-phase2-remaining
Apr 5, 2026
Merged

feat: classroom phase 2 remaining — ZIP download, file size, return notify, student leave#457
takaokouji merged 10 commits into
developfrom
feature/classroom-phase2-remaining

Conversation

@takaokouji
Copy link
Copy Markdown

Summary

Combined PR for 4 classroom improvements:

Test plan

  • CI passes
  • CDK deploy (stg)
  • Collaborative Playwright DoD

🤖 Generated with Claude Code

takaokouji and others added 7 commits April 5, 2026 01:55
Teacher can download all submitted projects as a ZIP file from the
class detail footer. Uses JSZip for client-side ZIP generation.
Each student's files (project.sb3, thumbnail, screenshots) are
organized in seat-number folders.

Closes #449

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Validate .sb3 file size before uploading to prevent oversized files.
Shows localized error message with actual file size in MB.

Closes #450

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Backend: verify-session now returns latest submission status + comment
- Frontend: student status screen shows returned (↩) with teacher comment
- Frontend: refresh button (↻) for manual status reload
- Frontend: yellow comment box for teacher feedback display

Closes #451

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Student "Leave" now calls DELETE /members/me with sessionToken auth
to remove the membership record server-side. Teacher's seat grid
will show the seat as empty (gray) on next refresh.

Closes #455

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…m-phase2-remaining

# Conflicts:
#	packages/scratch-gui/src/locales/en.js
#	packages/scratch-gui/src/locales/ja-Hira.js
#	packages/scratch-gui/src/locales/ja.js
…-phase2-remaining

# Conflicts:
#	packages/scratch-gui/src/locales/en.js
#	packages/scratch-gui/src/locales/ja-Hira.js
#	packages/scratch-gui/src/locales/ja.js
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 4, 2026

takaokouji and others added 3 commits April 5, 2026 09:50
When a student leaves a classroom, their submission data should still be
visible in the teacher's grid view. Previously, leaving caused the seat
to reset to empty regardless of submission status.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Show underline on teacher grid cells for seated students (active within 1 hour)
- Show seated/not-seated badge in teacher detail panel
- Track lastActiveAt on membership, update on verify-session
- Make configurable via env vars: SESSION_ACTIVE_TTL_SECONDS,
  PRESIGNED_URL_UPLOAD_EXPIRY, PRESIGNED_URL_DOWNLOAD_EXPIRY,
  JOIN_RATE_LIMIT_WINDOW_SECONDS, JOIN_RATE_LIMIT_MAX_ATTEMPTS

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@takaokouji takaokouji merged commit 23f792d into develop Apr 5, 2026
15 checks passed
@takaokouji takaokouji deleted the feature/classroom-phase2-remaining branch April 5, 2026 01:46
github-actions Bot pushed a commit that referenced this pull request Apr 5, 2026
…room-phase2-remaining

feat: classroom phase 2 remaining — ZIP download, file size, return notify, student leave
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