[AGENT] Productize desktop release gates#250
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 232169eed5
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Greptile SummaryThis PR productizes the Chronote Desktop Windows release pipeline, adding CI package/smoke gates and a manual draft-release workflow, along with frameless titlebar polish and deterministic native smoke test infrastructure.
Confidence Score: 5/5Safe to merge; changes are additive CI/release infrastructure and UI polish with no modifications to existing bot, API, or data paths. The PR adds new workflows, scripts, and desktop shell changes that are self-contained. The synthetic-audio and test-hooks Rust features are correctly excluded from release builds via feature flags. The msedgedriver-tool dependency is now pinned at a specific commit. The two minor observations (test fixture version coupling and smoke-test 400 debuggability) do not affect correctness of the CI gate or the production binary. .github/workflows/desktop-release.yml — the shell-injection finding from a prior review thread (unquoted ${{ inputs.tag }} in PowerShell) should be confirmed resolved before running the release workflow against a production environment. Important Files Changed
Prompt To Fix All With AIFix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
test/scripts/desktopArtifacts.test.ts:1303-1320
**Test fixtures couple to live `tauri.conf.json` version**
Fixture filenames embed `"0.1.0"` directly while the script reads the expected version from `tauri.conf.json` at runtime (no `DESKTOP_ARTIFACT_VERSION` env override). When the version is bumped in the config, these tests will fail until the fixture names are updated in lockstep. Setting `DESKTOP_ARTIFACT_VERSION` in `runArtifactsScript`'s env block would decouple the test from the live config and make the coupling explicit.
### Issue 2 of 2
scripts/desktop-native-smoke.mjs:1037-1042
**Silent 400 from mismatched source IDs manifests as a confusing timeout**
If the desktop app sends source IDs other than the hardcoded `"owner_mic"` / `"system_output"` (e.g. after a rename), the mock returns `400 missing_uploads` but the smoke test surfaces this as a 20-second `Timed out waiting for upload completion` error with no mention of the 400. Consider logging the bad request body or returning an error body that the app would propagate to the UI, so a source-ID drift produces a clearer failure signal.
Reviews (2): Last reviewed commit: "[AGENT] Update desktop visual baselines" | Re-trigger Greptile |
|
[AGENT] Review feedback addressed in follow-up commits:
|
|
[AGENT] Visual regression reportNo visual diffs detected. Run: https://github.com/Chronote-gg/Chronote/actions/runs/27166733891 |
|
[AGENT] Visual regression reportDetected 2 screenshot changes. Changed snapshots:
Download the Run: https://github.com/Chronote-gg/Chronote/actions/runs/27174007312 |
|
[AGENT] Visual regression reportDetected 2 screenshot changes. Changed snapshots:
Generated diff previewsDownload the Run: https://github.com/Chronote-gg/Chronote/actions/runs/27174351708 |
|
[AGENT] Visual regression reportCommitted baseline snapshot updates in this PR: 8. Committed snapshot files:
Committed baseline previews8 image previewstest/e2e/desktop.visual.spec.ts-snapshots/desktop-mobile-ready-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-processing-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-processing-linked-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-ready-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-recording-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-settings-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-signed-out-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-uploaded-chromium-win32.pngNo visual diffs detected. Run: https://github.com/Chronote-gg/Chronote/actions/runs/27174871440 |
|
[AGENT] @greptile-apps review |
|
[AGENT] Visual regression reportCommitted baseline snapshot updates in this PR: 8. Committed snapshot files:
Committed baseline previews8 image previewstest/e2e/desktop.visual.spec.ts-snapshots/desktop-mobile-ready-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-processing-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-processing-linked-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-ready-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-recording-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-settings-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-signed-out-chromium-win32.pngtest/e2e/desktop.visual.spec.ts-snapshots/desktop-uploaded-chromium-win32.pngNo visual diffs detected. Run: https://github.com/Chronote-gg/Chronote/actions/runs/27192113785 |
|
[AGENT] Second Greptile follow-ups addressed in
All PR checks are green and mergeability is clean. |


















[AGENT]
Refs #249.
Summary
Notes
--no-signuntil signing is configured.