Skip to content

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

Closed
EinfachValle wants to merge 6 commits intodevelopfrom
sync/main-into-develop
Closed

chore: sync main into develop (0.7.0 + CI fixes)#51
EinfachValle wants to merge 6 commits intodevelopfrom
sync/main-into-develop

Conversation

@EinfachValle
Copy link
Copy Markdown
Contributor

Replaces #50. The previous attempt PRed main directly, which made the local conflict resolution land on main and created 16 unpushed commits on the main branch — those must never reach origin/main. This PR uses a dedicated sync branch so the merge commit (with conflict resolution) stays off main.

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, manual workflow_dispatch rebuild, verbose repackage upload, and action version bumps from main.
  • app/src-tauri/tauri.conf.json — keeps main's updater pubkey (the one matching the active TAURI_SIGNING_PRIVATE_KEY secret that signed v0.7.0).

What main brings into develop

  • release: 0.7.0 — version bump (release-please churn).
  • CI hardening:
    • Forward-env pattern for signing secrets — fixes macOS security import crash on empty APPLE_CERTIFICATE.
    • workflow_dispatch trigger with optional tag input — rebuild an existing release without deleting/retagging.
    • resolve job exposes the target tag; all downstream jobs use it.
    • prepare-assets resets the existing release on manual dispatch (git tag preserved).
    • repackage switched from silent xargs to explicit verbose upload loop; prune step iterates actual release assets and preserves *.zip + SHA256SUMS.txt.

After merging

Local main on the author's machine still has the merge commit on top; revert with:

git checkout main
git reset --hard origin/main

This discards the local merge commit only — it's already safely captured in this PR's sync branch.

EinfachValle and others added 6 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 — handled manually by merging main into develop locally.

@EinfachValle EinfachValle deleted the sync/main-into-develop branch April 22, 2026 13:12
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