Conversation
Alpha -> main
# Conflicts: # web/src/components/settings/PersonalSetting.jsx # web/src/i18n/locales/en.json # web/src/i18n/locales/zh.json
feat: passkey
fix: passkey model type
fix: passkey security
fix: passkey rpid detect
fix: passkey 文案
fix(jina): remove encoding_format for jina embedding
feat: 支持 gemini-robotics-er-1.5-preview
fix(openai): add nil checks for web_search streaming to prevent panic
|
Caution Review failedThe pull request is closed. WalkthroughAdds Passkey (WebAuthn) authentication and secure verification (2FA/Passkey) across backend and frontend, including controllers, middleware, services, models, routes, and UI. Introduces endpoint-type-aware channel testing and an embeddings endpoint type. Updates settings (system, operation, ratio), dependencies (Go toolchain, webauthn), and minor relay and logging adjustments. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant U as User (Browser)
participant FE as Frontend
participant API as Server
participant P as Passkey Controller
participant S as Sessions
participant W as WebAuthn
rect rgb(230,245,255)
note right of U: Passkey Login (Discoverable)
U->>FE: Click "Passkey Sign-in"
FE->>API: POST /user/passkey/login/begin
API->>P: Build options via WebAuthn
P->>S: Save LoginSession
API-->>FE: Assertion options
FE->>W: navigator.credentials.get(options)
W-->>FE: Assertion
FE->>API: POST /user/passkey/login/finish (assertion)
API->>P: Verify, update last-used
P->>S: Create user session
API-->>FE: Success
end
sequenceDiagram
autonumber
participant U as User (Browser)
participant FE as Frontend
participant API as Server
participant SV as SecureVerification Ctl
participant MW as SecureVerification Middleware
participant CH as Channel Controller
participant S as Sessions
rect rgb(242,255,242)
note over FE,API: Universal verification then access protected resource
FE->>API: POST /verify (method: passkey|2fa)
API->>SV: Validate method
SV->>S: Set secure_verified_at
API-->>FE: {verified, expires_at}
FE->>API: POST /channel/:id/key
API->>MW: Check secure_verified_at and expiry
MW-->>API: OK
API->>CH: GetChannelKey
API-->>FE: Channel key
end
sequenceDiagram
autonumber
participant FE as Frontend
participant API as Server
participant PS as Passkey Controller
participant S as Sessions
participant W as WebAuthn
rect rgb(255,248,230)
note right of FE: Passkey Registration (Bind)
FE->>API: POST /self/passkey/register/begin
API->>PS: Build creation options (excludes)
PS->>S: Save RegistrationSession
API-->>FE: Creation options
FE->>W: navigator.credentials.create(options)
W-->>FE: Credential
FE->>API: POST /self/passkey/register/finish
API->>PS: Persist credential (upsert)
API-->>FE: Success
end
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (43)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
main -> alpha
Summary by CodeRabbit