Major development#16
Merged
Merged
Conversation
The file preview dialog rendered two overlapping close buttons (one from the dialog wrapper, one from FileDetailPanel's legacy sidebar header). Remove the inner one since FileDetailPanel now only lives inside the dialog. The BulkActionBar pushed the file list downward when selecting, causing misclicks. Promote it to a floating overlay anchored bottom-center of the page body with a slide-up transition — the list no longer shifts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…licker The /agent routes lived under templates/AgentLayout in isolation, with no app shell or sidebar nav — users had no way back to /files. Nest the route under MainLayout so the LeftSidebar (which already has /agent and /files entries) is always present; strip templates/AgentLayout's viewport sizing and duplicate padding since MainLayout now owns the content frame. The file list flickered on every auto-refresh and post-mutation refetch because fetchFolderContents flipped isLoading=true, unmounting FileTable and mounting an EmptyState placeholder before remounting the table. Add a silent option to fetchFolderContents — silent calls leave isLoading and items intact and swap items in place when the response arrives. The auto-refresh timer and all post-mutation callers (create folder, delete, batch move, batch delete, upload) opt in. MyFiles template also keeps FileTable mounted whenever items > 0, so loading placeholder is only visible on a true first load. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Phase 4 of the 8-stage frontend redesign. Reshapes the three remaining file-surface pages against the new token system, dropping legacy --color-*/--border-radius-* usage and pulling visual logic into single-purpose organisms. New organisms: - organisms/sharing/ SharedReceivedTable, SharedLinksTable, SharedBatchBar - organisms/trash/ TrashTable (near-expiry rows tint --status-warning) - organisms/share/ ShareInfoCard, ShareAccessPanel, ShareActionsPanel New composables (collapses page-level setup boilerplate): - useSharingCenter — tab/selection/CRUD for the sharing page - useShareAccess — load/access/preview/download/save for the public page EmptyState gains an 'error' variant (replaces inline error states in ShareAccess) and accepts a `message` override for non-files contexts. Pages drop: - SharedWithMe.vue 386 → 66 lines - Trash.vue 258 → 76 lines - ShareAccess.vue 363 → 83 lines Dev library /__dev/library gets three new sections (Organisms · Sharing / Trash / Share) exercising each new organism in all states. 17 new specs; full suite 263 tests / 50 files green; typecheck clean. Legacy components/common/SelectFolderDialog still imported by ShareAccess — deferred to P8 cleanup along with the other common/ dialogs. Plan: docs/superpowers/plans/2026-05-12-frontend-redesign-p4-other-file-surfaces.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds canRestore + restoreConflicts to TrashTable.spec.ts fixtures and the dev Library trashDemoItems. P4 tightened the type but vue-tsc -b caught these only in build mode (--noEmit was lenient). Unblocks P5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Shared visual shell driven by a discriminated `mode` prop. Each mode renders its own field set; submit emits a typed payload so pages stay thin. Includes show/hide eye toggle for password fields and uses existing Checkbox / Input / Text atoms + Button molecule. 9 spec cases cover all three modes + error/success display + isSubmitting state + initial prefill + password visibility toggle. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a live preview for AuthForm with a mode picker, three label bundles, and a payload pre block so the typed submit shape is visible. Mock account hint slot is exercised only in login mode. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drops 267 lines of inline form / styles / gradient buttons / glass card in favor of mounting AuthForm with a login-mode payload. Remember-me prefill, mock-account hint slot, forgot-password secondary slot, and "create account" footer slot all preserved. Behavior parity: login redirects to /files or /verify-email based on emailVerified. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drops 225 lines of inline form / styles for a thin orchestration shell. Password mismatch validation stays in the page (AuthForm doesn't know about confirmPassword equality). Chinese labels preserved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drops 151 lines of inline form / styles. Chinese strings preserved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
VerifyEmail has no form fields, so AuthForm isn't a fit. Drops the old 195-line glass card for a token-aligned card built from Text / Spinner / Dot atoms + Button molecule. State machine (idle/pending/success/error) preserved; resend logic intact; "Back to login" and "Enter files" footer buttons intact. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…lidation - Replace SHA256 with HMAC-SHA256 for refresh token hashing using �ffective_token_hash_secret (falls back to JWT_SECRET_KEY) - Add �ssert_runtime_security() check on startup for secret key length - Add ormalized_email_verify_base_url and mail_configuration_issues to Settings - Remove sensitive data (email, token) from auth event payloads - Add schema compatibility check for egistration_email_domain_rule table - Update .env.example with token hash secret and SMTP config placeholders
…rvice - Add RegistrationEmailDomainRule model, schema, service, and admin CRUD routes - Add email regex domain pattern matching with ReDoS protection - Add VerificationEmailDeliveryService using fastapi-mail for SMTP delivery - Add Flyway migrations V11 (table) and V12 (seed SCU domain rule) - Wire domain rule service into DI and schema compatibility check - Add backend tests for routes, service, and DB engine schema check
- Inject VerificationEmailDeliveryService into AuthService for SMTP delivery - Call RegistrationEmailDomainRuleService.assert_email_allowed on register and update_profile (email change only) - Add _invalidate_active_verification_tokens to invalidate old tokens on re-issue - Add _send_verification_email_or_raise to separate event publishing from actual email sending, raising 503 on delivery failure - Add _assert_token_length to reject obviously invalid short tokens - Remove sensitive data (email, token) from published auth events - Add tests for delivery failure, domain rule skip on unchanged email, and token length validation
- Add mockRegistrationEmailDomainRules state array to mock state - Add domain regex validation in auth mock (register endpoint) - Add full CRUD mock handlers in user mock (list, create, update, delete) - Enforce domain rule check on profile email update mock
…tion flow - Add Registration Email Domain Rules management card to admin Dashboard with search/filter, create, toggle, edit, and delete controls - Enhance VerifyEmail page with unauthenticated and idle states - Skip fetchStorageStats call when email is unverified in user store - Add 403 email-verification-required interceptor in http util to auto-redirect to /verify-email
Three-column Industrial Dashboard layout (SessionList / TaskTimeline / PlanInspector), zero Naive UI, 4 backfill molecules (Modal / Pagination / FileDrop / Select), 10 agent organisms, 2 composables with localStorage persistence. Also documents the TS union-narrowing fix that unblocks CI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
16 tasks: 4 backfill molecules (Modal/Pagination/FileDrop/Select), 2 composables (useAgentSession with localStorage, useAgentSkills), 10 agent organisms, 3 page rewrites, dev library wiring, acceptance. TS pollers (pollPlanJob/pollExecuteJob) included verbatim to unblock CI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
No description provided.