mirror of
https://github.com/alibaba/open-code-review.git
synced 2026-07-09 17:28:58 +00:00
* feat: improve config provider TUI interaction - Support wrap-around navigation in provider, custom provider, and model lists (up at first item jumps to last, down at last item jumps to first) - Add d key to delete custom models in model selection step with confirmation prompt - Add protocol selection (anthropic/openai) to manual configuration flow and respect UseAnthropic setting in saved config - Preserve manual protocol selection when re-entering the form - Fix manual form input fields losing focus after returning from next step - Use safe slice removal in removeFromSlice to avoid backing array corruption * fix: address code review feedback - Restore Blur() calls in handleManualFormEnter to prevent visual focus artifacts when transitioning between manual form steps - Add empty-providers guard in handleUp/handleDown to avoid negative index - Consolidate redundant protocolIdx checks into single if/else in viewManualTab and viewCustomProviderForm for clarity * fix: persist custom model deletions and support masked auth token editing - Track deleted custom models in TUI and apply them on exit (both confirm and cancel paths) to keep config.json in sync - Clear custom provider's active Model field when that model is deleted, preventing stale "model" reference in the provider list label - Add masked display for manual config Auth Token to allow easy re-entry, matching the official provider flow (any key clears and starts fresh) * test: update manual form tests for masked auth token behavior Update TestProviderTUI_ManualFormPrefilledValues, TestProviderTUI_ManualFormEscRestoresOriginalValues, and TestProviderTUI_ManualFormPrefilledWhenProviderSet to assert the new masked display state (manualTokenMasked + manualTokenOriginal) instead of the raw token value. * feat: refine config provider TUI flows and session persistence Custom provider interactions: - Simplify create/edit form to Name → Protocol → URL → API Key → Auth Header - After create or edit save, jump straight into the model list for that provider - Support comma-separated model names in the custom model input - Show masked API key in edit form; empty Auth Header defaults to (Authorization) - Populate edit form from existingCfg to avoid stale list data after in-session saves Model selection and highlight: - Green highlight follows the persisted active model, not the cursor position - Prefer provider entry.model over global cfg.model when resolving active model - Deleting a non-active model keeps the current green highlight unchanged Delete and navigation: - Delete custom providers (d) and custom models (d) with confirmation prompts - Persist create/edit/model-select/add/delete changes to disk during the session - Fix custom provider deletion not surviving Esc exe-entry Tests: - Add coverage for model highlight, delete-model behavior, and create→model-list flow - Update manual/custom form tests for masked token and session save behavior * refactor: address provider TUI code review feedback - Remove dead helper removeFromSlice (superseded by removeModels) - Move misplaced doc comment to applyEditCustomProviderSave - Drop redundant applyProviderDeletions post-TUI call so provider deletions rely solely on the in-session save - Fix brace/indent drift in updateDeleteModelConfirm and cache the model list instead of recomputing m.models() twice * feat: refine provider TUI flows and manual config form Custom provider flow: - Default protocol to anthropic on the new-provider form - Single-name model input; reject duplicates with inline error and preserve the typed value so the user can edit instead of re-typing - Drop the global green highlight; cursor/blue is the only selection cue Manual configuration form: - Add Auth Header step (URL → Protocol → Model → Auth Token → Auth Header) and persist it to Llm.AuthHeader on confirm - Reorder so Auth Header is always entered last - Make Auth Token required; empty Enter stays on the field - Show every field's label on every render, even when empty, matching the custom-provider form style Tests: - Cover custom model input add / duplicate paths - Cover manual form prefill of Llm.AuthHeader - Cover that deleting a non-active model keeps the active model intact * Improve provider TUI validation, persistence, and code clarity. Address code review feedback: align custom Auth Header validation with manual mode; fix savedInSession after model deletion; refactor applyEditCustomProviderSave to return error; remove dead applyModelDeletions/deletedModels; document ExtraBody shallow-copy limit. Also fix manual/custom form UX (token skip on edit, k key input, formError scoping, switch indentation). * Fix provider/model TUI list ordering and add test coverage. Address review and UX feedback: remove model list sorting in provider and config model TUIs; preserve Models list order when selecting active model (ensureModelInList); add test for duplicate rename on custom provider edit. Includes prior review fixes for savedInSession, applyEditCustomProviderSave error return, and dead code removal. * Normalize AuthHeader at apply layer and simplify UseAnthropic assignment. Call NormalizeAuthHeader in applyManualConfig and applyCustomProviderConfig before save; simplify UseAnthropic assignment in manual config; add unit tests. * Address review: lowercase error strings and newProviderTUI signature. Use lowercase "failed to save" errors; replace variadic configPath with string and remove configPathFromArgs; pass "" in tests when no path; gofmt provider_tui.go. |
||
|---|---|---|
| .. | ||
| opencodereview | ||
| testdiff | ||