Skip to content

V2.0 - #1

Merged
seho-dev merged 98 commits into
mainfrom
v2.0
Nov 1, 2026
Merged

seho-dev merged 98 commits into
mainfrom
v2.0

Conversation

@seho-dev

@seho-dev seho-dev commented Nov 1, 2026

Copy link
Copy Markdown
Owner

No description provided.

Backend (8.9k -> 4.1k lines):
- Remove WAL transaction system (journal, staged/original shadow files,
  crash recovery, compensation), fault-injection framework, and fs2
- Remove all file locks, optimistic concurrency checks, and backups;
  writes are plain sequential file operations by design
- Drop hand-written JSON Schema validator; serde + JSONC parsing carry
  type validation instead
- Collapse DDD layers (ApplicationService/UseCase/Repository/Store) into
  flat modules called directly by the Tauri command layer
- Replace 9 error enums with a single AppError serialized as the
  frontend
  CommandError shape; keep all 25 command signatures and DTOs unchanged

Frontend:
- Rebuild settings UI as route-based pages
  (providers/models/agents/groups)
  backed by a typed CommandAdapter over Tauri invoke
- Replace legacy stores and components with features/config modules

Tests:
- Replace transaction/crash-matrix suites with focused integration tests
  covering group switching, CRUD, reference protection, and model
  replacement (cargo test 8/8, npm run build green)
…ting

- Split commands.rs into per-resource modules; remove dto.rs and replacement.rs

- Add opencode_cli wrapper and list_custom_providers / opencode_list_models / opencode_resolve_binary commands

- Only allow model operations on custom providers

- Always resolve opencode config under <home>/.config on every platform

- Drop rename/replace/reveal/validate/diagnostics commands and their tests
- Adapter/store expose opencode list models (prefetched at startup) with out-of-order response guard

- Drop browser mock adapter, rename/replace/reveal/validate operations and diagnostics

- Rework feedback into actionable toasts with a global Toaster; group-type switch confirms via dialog
The app hardcoded ~/.config/opencode/opencode.jsonc, so a user config
living in opencode.json was never read: providers were empty and custom
providers' models were mislabeled as builtin. Resolve the config file the
same way the CLI does (opencode.jsonc preferred, opencode.json fallback)
and deduplicate custom_provider_ids in opencode_cli.
Persist theme (light/dark) and locale (en/zh) in the app config file
under state.preferences, exposed via a new save_preferences command.
Add a light theme token set plus a header appearance control cluster,
and extract all user-facing copy into en/zh dictionaries (en default).
Project stylesheets were unlayered, so base.css 'a { color: inherit }'
outranked Tailwind color utilities in @layer utilities. Every <Button href>
rendered as an <a> therefore ignored its variant color, leaving dark text on
light-theme primary buttons. Import the custom sheets with layer(base).
Keep v2.0's agent-form restructure; re-apply en/zh i18n on the merged
files. Group name is now validated as required, the models list refresh
button is removed, and group form pages no longer link back to the list.
…jections

Model group types with the canonical native/slim/omo vocabulary while freezing
the persisted wire values for config compatibility.

Switch target projections from replace/clear to key-level merge and remove
only the keys owned by the group, preserving residual configuration. Deleting
a group and switching selection no longer touch target files.
…orage

Move the built-in agent catalog into a single agents.catalog.json shared by the
Rust backend (include_str!) and the frontend, replacing the hardcoded list.

Remove the project markdown agent storage path and its project_root plumbing;
agents now resolve to inline or global markdown only.
…s chrome

Canonicalize group types at the IPC boundary with explicit wire conversion.

Split the agents page into custom/native/slim/omo tabs, block reserved
built-in ids on create, and simplify the group type switch dialog.

Remove the header/sidebar status readouts, refresh icons, search and form
styling, and enable resolveJsonModule for the shared catalog import.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-11-01T14:29:17.479807Z
We couldn’t complete this review. Comment @codex review to try again.
3e3c36f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@seho-dev
seho-dev merged commit e254fc0 into main Nov 1, 2026
2 of 3 checks passed
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