Repository navigation
Fix core-feature bugs and broken flows found in review - #2
Merged
Merged
Conversation
…rvation limit Service-case missions now render prediction/transfer choices and fixes in a deterministic per-mission order; stored indices still point at the source arrays so saved progress keeps its grading. Code-understanding labs reopen on the first step still missing evidence, and the mission practice panel shows a visible notice when the 80-action observation limit is reached. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
- Record the importing owner on problems first created by a backup and hide them from other owners' library, stats, recommendation and links; force their source to ai and clamp future createdAt. - Insert every restored project job on PostgreSQL like SQLite. - Validate backup references before spending import allowance, map only backup mismatches to 400 and widen the global import pools. - Refund the personal review/coach allowance when the AI call fails. - Skip network-keyed AI/import limits when no trusted client IP exists. - Store review code exactly as submitted. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
The guide spent the core ai:global windows, so guide traffic could exhaust review, generation and analysis. It now uses guide:global:hour/day. When the provider call fails and the basic guide is shown, the personal daily windows are refunded via a new StoreQueries.refundLimits; burst, network and service windows still count the attempt. The guide prompt now states the real generation allowance from ai-access (guest 2, member 6 per day) and its version is bumped. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
- Redirect targets chosen by the site may carry query strings on the security path; user input and SSRF checks stay strict, and a rejected redirect no longer reports an input-validation message. - readPublicDocument gains an anyResponse option so headers are inspected for any status and content type (bot challenges, 404, JSON). Project checks keep the 200 + HTML contract. - Reports show the redirect route and non-200 final status, without site-chosen query strings. - Accept the RFC 6797 quoted HSTS max-age form. - Target-site failures (422) refund only the per-session window. - Persist the CORS ownership challenge per scope and origin in sessionStorage and key the audit panel by origin. - Read the session scope from GET /api/guide instead of /api/workspace. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
Forward worker-side errors instead of a generic result failure, describe QuickJS interrupts as a synchronous loop timeout, show values thrown or rejected without an Error, and start the 12s execution timer only after the engine is ready (engine loading has its own 30s limit). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
- Release a failed or expired review/code-dialogue job before re-leasing its fixed ID, so edited answers no longer hit a permanent 409. - Store a user-safe reason (HttpError message and status) on a failed background analysis and return it from the status endpoint. - Link revisions to their root analysis: hide them from class lists and version history, list them on the root detail, resolve practice, workshop and training lookups to the root, cap total revisions per root, and remove revisions with their root. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
- Refresh /project-check in the background on focus without hiding the workspace, re-reading loaded history pages; keep the last good detail when a refetch fails and clear a selection that no longer exists. - Show pending background analyses in the form with progress and cancel, block a second analysis meanwhile and open the result when it ends. - Show the stored failure reason when background analysis fails. - Open revisions without adding them to the history list or clearing the new-project draft, and link revisions from the root views. - Use one client cleanup helper after deleting a project on either page. - Show the review credit cost on the code dialogue button. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
- The hero repository form states the cost and hands the URL to the workshop, which starts the analysis on arrival and continues into the learning generation once, per tab, without another click. - Unsaved topic answers and notes are kept per check and topic in localStorage and cleared after a successful save. - A missing or malformed check id offers a way to pick another project. - "Next lesson" keeps the project/topic query; completed lessons reopen on their summary. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR # Conflicts: # src/lib/server/postgres-store.ts
…t cookie up front - Offer a closed tab's unsaved draft with load/discard, let archived drafts be deleted and drop a recovered draft once newer code is saved. - Continue from our own earlier write when a save acknowledgement was lost instead of reporting a conflict. - Show a not-found state for missing problems and today's remaining reviews next to the review action. - Update bookmarks in place without blanking the table, and let menu links reset the library filters to the URL. - Mint the guest cookie in the proxy for page loads so parallel first API calls share one owner. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
Each "다시 도전" variant now explains its own service situation (address autocomplete, booking headcount, activity log, worker config, notification job, billing history) and adds a check set in that situation which its starting code misses. The variant suite has its own lab version so earlier runs are not reused against the new checks. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by 토리나나 · project thread
Before: a review of the core features turned up these problems:
After: imported problems stay private to the importer, and restores keep every project job. Failed reviews and dialogues can be retried with edited answers, and analysis failures show their real reason. Revisions live inside their root project, and interrupted work resumes where it left off. Failed AI calls refund the personal allowance.
Changes by area
Coding training, drafts, backup, limits
createdAtclamped.src/proxy.ts, so parallel first requests share one owner. This fixes the "로그인 계정이 변경되었습니다" error on a fresh deep link.Project check / 내 프로젝트
/statusreturns and the UI shows.revisionOf. They are hidden from the class list and versions, reuse the root's practice and workshop, and are capped at 3 per root.AI workshop, missions, code-understanding lab
?check=ids offer a way out.Start guide, security check
max-age./api/guideendpoint, and failed fetches refund the personal limit.How
Every area was changed with its own unit tests, including SQLite contract tests for the store changes.
Local checks all pass:
format:check,lint,typecheck,knip, andvitest(516 passed, 38 PostgreSQL tests skipped withoutTEST_DATABASE_URL).I also clicked through the main pages in Chromium against a local dev server:
/problems/fe-search-raceworked 4 of 4 times./problems/nonexistentshows the not-found state./learn/ai/project?check=missingoffers a way out.E2E suites were not run. The PostgreSQL-specific SQL is written to mirror SQLite but was not executed against a real PostgreSQL.
🤖 Generated with Claude Code
https://claude.ai/code/session_013sRbFpcfxw1wtGd6WNgngR
Generated by Claude Code