Skip to content

feat(installer): harden packaging pipeline and first-run setup (fast build, embedded payload, provider-based model config)#51

Merged
GCWing merged 4 commits intoGCWing:mainfrom
kev1n77:feature/installer
Mar 1, 2026
Merged

feat(installer): harden packaging pipeline and first-run setup (fast build, embedded payload, provider-based model config)#51
GCWing merged 4 commits intoGCWing:mainfrom
kev1n77:feature/installer

Conversation

@kev1n77
Copy link
Collaborator

@kev1n77 kev1n77 commented Mar 1, 2026

Upgrades installer build reliability, packaging robustness, and first-run UX end to end.

  • Build pipeline: add release-fast profiles (workspace + installer), enhance installer build script with mode-aware
    build (fast/release), and update CI/workflow commands.
  • Packaging reliability: embed installer payload into the binary, add payload preflight validation (embedded/external
    zip/dir), and verify installed BitFun.exe integrity.
  • Windows uninstall hardening: improve cleanup with safer path checks, scheduled retry deletion script, and temp
    diagnostic logs.
  • Installer startup flow: unify i18n sync steps in npm scripts, support exe-only build commands (--no-bundle), and
    initialize installer UI language from saved app language.
  • Post-install UX: move launchAfterInstall to theme step, add finish-state error handling, and sync installer theme
    names from web-ui locale sources.
  • Main app onboarding: avoid duplicate onboarding after installer-guided setup by gating onboarding and persisting
    completed state when disabled.
  • Model setup overhaul: refactor to provider-template driven flow (provider/model/base URL), add connection testing API
    (test_model_config_connection), and wire frontend test actions.
  • Localization/data sync: add model i18n sync script, expand en/zh installer locale keys for model providers and testing
    UI, and update provider defaults.

kev1n77 added 4 commits March 1, 2026 14:19
- add release-fast cargo profiles for workspace and installer
- enhance installer build script with --mode fast|release, --fast, and help output
- support mode-aware desktop binary discovery and installer build command selection
- simplify desktop build scripts and CI commands to rely on Tauri beforeBuildCommand
- add installer tauri:build:fast script and update lockfile dependencies
- document fast/release installer build commands and output paths in installer README
- embed src-tauri/payload into installer binary at build time via embedded_payload.zip
- add payload preflight validation for embedded zip, external zip, and directory sources
- refactor extraction/copy helpers to support filtered install entries
- validate installed BitFun.exe size to prevent broken payload installs
- harden uninstall flow on Windows with case-insensitive path checks and scheduled cleanup script
- run cleanup script via cmd /C call with no window and retry deletion until success/failure
- add uninstall runtime/cleanup logs under %TEMP% for diagnostics
- auto-close uninstall UI after successful backend invocation to reduce file lock timing issues
…rding after install

- Add a pre-build sync:theme-i18n step and wire it into installer dev/build/tauri scripts.
- Keep exe-only output for fast packaging via tauri:build:exe* with --no-bundle.
- Return saved appLanguage in installer LaunchContext and initialize installer locale from it.
- Move launchAfterInstall from Options to ThemeSetup, with finish-state error handling.
- Localize installer theme names (themeSetup.themeNames) and add sync script from web-ui locales.
- Gate desktop onboarding with ENABLE_MAIN_ONBOARDING and mark completed when disabled to prevent duplicate first-run
wizard after install.
- Rebuild installer model setup around provider templates (provider/model/base URL guided flow).
- Add backend model connection testing (test_model_config_connection) and frontend wiring.
- Extend model config persistence with advanced fields (config name, custom body, SSL skip, custom headers/mode).
- Add model i18n sync script and hook sync:i18n into installer dev/build/tauri scripts.
- Update installer en/zh model locale strings and model setup styles.
- Refresh Zhipu default models to glm-5 and glm-4.7.
@kev1n77 kev1n77 force-pushed the feature/installer branch from b8c5432 to 3144416 Compare March 1, 2026 06:21
@GCWing GCWing merged commit e3891d6 into GCWing:main Mar 1, 2026
2 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.

2 participants