Skip to content

chore: sync main into develop (0.7.0 + CI fixes)#50

Closed
EinfachValle wants to merge 5 commits intodevelopfrom
main
Closed

chore: sync main into develop (0.7.0 + CI fixes)#50
EinfachValle wants to merge 5 commits intodevelopfrom
main

Conversation

@EinfachValle
Copy link
Copy Markdown
Contributor

Brings develop up to date with main after the v0.7.0 release and the CI hardening that followed.

What main has ahead

  • release: 0.7.0 — version bump + release-please churn.
  • ci: consolidate tauri build step — merged signed/unsigned into one step (later superseded by the forward-env pattern below, still part of history).
  • ci: fix config (x3) — the final shape of the release workflow:
    • Forward-env pattern for signing secrets (APPLE_*, WINDOWS_*, TAURI_SIGNING_PRIVATE_KEY*) so set-but-empty secrets no longer trip Tauri's bundler into invalid codesign attempts (macOS security import was crashing on every release).
    • workflow_dispatch trigger with optional tag input for manual rebuilds of an existing release (no more tag delete/retag dance).
    • resolve job outputs the target tag and all downstream jobs consume it.
    • prepare-assets resets the existing release on manual dispatch (keeps the git tag via --cleanup-tag=false).
    • repackage upload uses an explicit verbose loop instead of a silent xargs; prune step now iterates actual release assets and keeps *.zip + SHA256SUMS.txt.

Conflicts (manual resolution needed)

  • .github/workflows/release-tauri.yml — take main entirely; develop's copy predates the dependabot bumps (actions v4 → v6/v7/v8) and all of the fixes above.
  • app/src-tauri/tauri.conf.json — pubkey diverged. Main's pubkey is the one that matches the TAURI_SIGNING_PRIVATE_KEY currently in repo secrets and produced a valid signed latest.json for v0.7.0. Develop's key was never shipped. Recommend taking main's version unless there's a reason to rotate back to develop's key.

Verification after merge

  • yarn test:ts clean.
  • Trigger Release (Tauri) via workflow_dispatch on a throwaway tag or rely on the next release-please PR.

EinfachValle and others added 5 commits April 22, 2026 00:33
## [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).
@EinfachValle
Copy link
Copy Markdown
Contributor Author

Closing — direct main→develop PRs risk pushing develop commits onto main when conflicts are resolved locally. Reopened as #NEW with a dedicated sync branch (merge commit preserved).

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.

1 participant