* chore: show error msg (not err code) when installing exts via deeplink fails
When installing extensions via deeplink fails, previous implementation
showed the raw error code returned from the backend interfaces, which
is not user-friendly. We now call installExtensionError() to interrupt
the error code to get a human-readable error message, then show it to
the users.
* fix: correct install extension error when installing via store
This commit introduces a new field, `minimum_coco_version`, to the
`plugin.json` JSON. It specifies the lowest Coco version required
for an extension to run.
This ensures better compatibility by preventing new extensions from
being loaded on older Coco apps that may lack necessary APIs or features.
Co-authored-by: ayang <473033518@qq.com>
* refactor: adjust extension code hierarchy
In this commit, I refactored the extension code structure.
* We can only install third-party extensions so the `store.rs` file should
belong to the `third_party` directory.
* Move tauri command `uninstall_extension()` to `extension/mod.rs` from
`third_party.rs` since one can uninstall an extension regardless of
how you installed it.
* Refactor the `install_extension_from_store()` function, add more
descriptive code comments.
Also, a trivial change, bump Rust toolchain and edition to use the
[let-chains](https://blog.rust-lang.org/2025/06/26/Rust-1.88.0/#let-chains) syntax.
* chore: release notes