Commit 7040eed
authored
fix: pin subagent model and unify desktop UI (#211)
## Related Issue
Resolve #209
Resolve #210
## Problem
The subagent-model setting looked authoritative, but it configured only
a default. An explicit primary-model request could still override it.
The shared sidebar selected different banner assets by theme instead of
using the approved dark banner across browser and desktop builds.
The desktop updater did not match the approved prompt and progress
design. Electron's differential download could also fail and fall back
to a second full transfer, which restarted the visible progress.
## What changed
- Add an accessible switch that writes the canonical v2 `defaultModel`
and `force` fields while reading legacy `model` values.
- Use `pythinker_banner_dark.svg` in the shared web, macOS, and Windows
sidebar, and remove the unused light code-banner asset.
- Match the reference updater prompt and progress layout with Pythinker
branding.
- Force one full update transfer and ignore late progress events after
the update is ready.
- Keep an available update downloadable when automatic checks are
enabled.
- Add regression coverage and rebuild the committed web bundle.
## Verification
- `pnpm test apps/pythinker-web/test` — 84 files, 999 tests passed.
- `pnpm test apps/desktop/tests` — 14 files, 170 tests passed.
- Web and desktop typechecks, `tsgo`, and `pnpm lint` — passed with 0
errors.
- `pnpm run build:web` and `pnpm run check:web` — 673 bundle entries
verified at source hash `f88e4160eddd`.
- Built-browser security checks — Mermaid and Monaco sanitization
passed.
- The signed macOS package passed strict `codesign` verification and
contains a byte-identical copy of the rebuilt web bundle.
- Available and downloading states were visually inspected against the
supplied desktop references.
## Checklist
- [x] I have read the
[CONTRIBUTING](https://github.com/PyModel/pythinker-code/blob/main/CONTRIBUTING.md)
document.
- [x] I have linked related issues.
- [x] I have added tests that prove the changes work.
- [x] Ran `gen-changesets` skill.
- [x] This PR needs no documentation update.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added options to select and force a default model for subagents.
- Added support for additional diagram types and editor languages.
- Added automatic update-check controls and clearer update download
progress.
- **Improvements**
- Updated the update dialog with release dates, branded styling, and
responsive layout.
- Standardized the sidebar with a consistent dark banner.
- Improved update state handling and download reliability.
- **Bug Fixes**
- Prevented update progress events from showing incorrect download
states.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->1 parent bd0eadd commit 7040eed
114 files changed
Lines changed: 562 additions & 652 deletions
File tree
- .changeset
- apps
- desktop
- src
- tests
- pythinker-code/dist-web
- assets
- brand
- pythinker-web
- public/brand
- src
- api
- daemon
- components
- settings
- ui
- composables
- i18n/locales/en
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
264 | 264 | | |
265 | 265 | | |
266 | 266 | | |
| 267 | + | |
267 | 268 | | |
268 | 269 | | |
269 | 270 | | |
| |||
346 | 347 | | |
347 | 348 | | |
348 | 349 | | |
| 350 | + | |
349 | 351 | | |
350 | 352 | | |
351 | 353 | | |
| |||
444 | 446 | | |
445 | 447 | | |
446 | 448 | | |
447 | | - | |
| 449 | + | |
448 | 450 | | |
449 | 451 | | |
450 | 452 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
| 73 | + | |
72 | 74 | | |
73 | 75 | | |
74 | 76 | | |
| |||
241 | 243 | | |
242 | 244 | | |
243 | 245 | | |
| 246 | + | |
244 | 247 | | |
245 | 248 | | |
246 | 249 | | |
| |||
339 | 342 | | |
340 | 343 | | |
341 | 344 | | |
| 345 | + | |
342 | 346 | | |
343 | 347 | | |
344 | 348 | | |
| |||
366 | 370 | | |
367 | 371 | | |
368 | 372 | | |
| 373 | + | |
369 | 374 | | |
370 | 375 | | |
371 | 376 | | |
| |||
381 | 386 | | |
382 | 387 | | |
383 | 388 | | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
384 | 421 | | |
385 | 422 | | |
386 | 423 | | |
| |||
420 | 457 | | |
421 | 458 | | |
422 | 459 | | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
423 | 509 | | |
424 | 510 | | |
425 | 511 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
0 commit comments