chore: sync main into develop (0.7.0 + CI fixes)#51
Closed
EinfachValle wants to merge 6 commits intodevelopfrom
Closed
chore: sync main into develop (0.7.0 + CI fixes)#51EinfachValle wants to merge 6 commits intodevelopfrom
EinfachValle wants to merge 6 commits intodevelopfrom
Conversation
## [0.7.0] — 2026-04-22 Third beta. Headline additions are the in-app auto-updater, the Developer tab, native OS notifications, and a page-transition animation pass. The stylesheet layer also migrated from flat CSS to SCSS. ### Added - In-app auto-update system — background check against GitHub Releases with an `UpdaterBanner` prompt, manual "check for updates" action in Settings, version comparison that handles pre-release tags (`0.7.0-beta.1` > `0.6.9`), and `useLastSeenVersion` for what's-new indicators after an update. - `Developer` tab in Settings — feature-flag toggles, in-app state inspectors, diagnostics dumps, and a dev-only Redux slice (`uiDevFlagsSlice`) persisted separately from user settings. Gated by `useDevFlag`. - Native OS notifications (`commands/notifications.rs`) with per-trigger preferences in the new `NotificationSettings` tab. Triggers cover PR events, update availability, and scan completion; full suite of `useNotificationTriggers` tests. - Page mount/transition animations across Dashboard, Repos, Branches, MergeRequests, and RepoDetail. Full plan in `docs/plans/page-mount-animations.md`. - `Mascot` atom (animated brand character) with Storybook coverage; used on onboarding and empty-state screens. - `TruncatedTooltip` compound molecule — shows the full value on hover only when content is actually truncated. - Distinct dev-build app icon (white chevrons + orange `</>` badge) so `yarn dev` is visually distinguishable from the installed app in taskbar/dock. `tauri:dev` loads `tauri.dev.conf.json` to swap `bundle.icon` to `icons-dev/`; `tauri:build` keeps the production icon. - `README-signing.md` in `src-tauri/` documenting the code-signing approach (and why installers currently ship unsigned). - Installer-asset CI pipeline — regenerated installer assets land on `main` through a dedicated workflow. ### Changed - Stylesheet layer migrated from plain CSS to SCSS (`tokens`, `layout`, `page-anim`, `views`) in both `app/` and `landingpage/`. No new build-step dependencies — Vite's built-in SCSS handling covers both. - `ImportFromProviderDialog` rewritten — clearer provider/org/repo selection flow, inline validation, and expanded keyboard navigation. - `DetailPane`, `Sidebar`, `Titlebar` (Win11 + GNOME), `RepoRow`, and `RepoList` refactored for faster initial render and smaller re-render surfaces. - `UpdaterBanner` redesigned around the new updater command surface; dismiss/install states persist across sessions. - `notify` bumped to 8.2 and `notify-debouncer-full` to 0.7 for more reliable filesystem event coalescing under Windows. - Provider API surface (`providers/api.rs`, `github.rs`, `gitlab.rs`, `bitbucket.rs`) aligned around a shared typed error path to prepare for the GitLab/Bitbucket rollout. - Dependabot sweeps: `@types/node` → 25.6.0, actions-all group (7 updates), npm-all group across 3 workspaces (6 updates). ### Fixed - Playwright E2E stabilised on `ubuntu-24.04` — WebKit system libs reinstated (the older 22.04 runner no longer packages GTK 4 / libavif 13 / libmanette / libhyphen). Download-button spec realigned with the current DOM. - Subpage navigation edge cases (blank transitions, scroll position loss) on Branches, MergeRequests, and RepoDetail. - Loading-time regressions on Dashboard and RepoDetail — async work now runs in parallel instead of sequencing through the store. - `RepoWatcher` documentation updated to reflect that it is already wired into `lib.rs::run()`. ### Known gaps - GitLab and Bitbucket providers still return "not yet implemented". - OAuth remains scaffolded; PAT-only auth for now. - Installers are unsigned (Apple Developer ID / Windows EV certs pending).
Contributor
Author
|
Closing — handled manually by merging main into develop locally. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces #50. The previous attempt PRed
maindirectly, which made the local conflict resolution land onmainand created 16 unpushed commits on themainbranch — those must never reachorigin/main. This PR uses a dedicated sync branch so the merge commit (with conflict resolution) stays offmain.Merge commit
c7f9110 Merge remote-tracking branch 'origin/develop'— author took main's version for both conflicting files:.github/workflows/release-tauri.yml— keeps the forward-env signing secrets pattern, manualworkflow_dispatchrebuild, verbose repackage upload, and action version bumps from main.app/src-tauri/tauri.conf.json— keeps main's updater pubkey (the one matching the activeTAURI_SIGNING_PRIVATE_KEYsecret that signed v0.7.0).What main brings into develop
security importcrash on emptyAPPLE_CERTIFICATE.workflow_dispatchtrigger with optional tag input — rebuild an existing release without deleting/retagging.resolvejob exposes the target tag; all downstream jobs use it.prepare-assetsresets the existing release on manual dispatch (git tag preserved).repackageswitched from silentxargsto explicit verbose upload loop; prune step iterates actual release assets and preserves*.zip+SHA256SUMS.txt.After merging
Local
mainon the author's machine still has the merge commit on top; revert with:This discards the local merge commit only — it's already safely captured in this PR's sync branch.