fix: diff from last deployed SHA to catch all changes since last deploy (#320) #332

Merged
guettlibot merged 5 commits from issue-320-fix into main 2026-05-29 15:34:26 +00:00
5 Commits
Author SHA1 Message Date
Thomas SharedInboxandClaude Sonnet 4.6 069722ce2f fix: diff from last deployed SHA to catch all changes since last deploy (#320)
The check-changes job was only diffing HEAD~1..HEAD (the single most recent
commit). When CI-only commits landed after Android code changes, the deploy
was skipped every hour even though app code had changed since the last
successful Play Store publish.

Fix: fetch full history (fetch-depth: 0) and diff from LAST_DEPLOYED_SHA
when available, so all commits since the last deploy are considered. Also
simplify the Python workflow_id filter to match regardless of whether
Forgejo returns a bare filename or a full path. Fix duplicate entry in
check_coverage.dart exclusions and update the selection-mode golden that
was off by 4 pixels.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 16:53:05 +02:00
Thomas SharedInboxandClaude Sonnet 4.6 eba94f2aa7 fix: also retry dagger when exit code is 2 (engine connection failure)
dagger call --progress=plain -q writes its final error (e.g.
"invalid return status code") directly to the controlling terminal
rather than through stdout/stderr, so the DAGGER_OUT file that the
grep-based retry check reads ends up empty.  Add RC=2 as an
additional fallback condition so the retry triggers even when the
output-capture path misses the error message.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 12:11:46 +02:00
Thomas SharedInboxandClaude Sonnet 4.6 e251c74139 fix: retry dagger on context deadline exceeded engine timeout
Add "context deadline exceeded" to the retry_dagger network-error
pattern so transient Dagger engine connection timeouts (10-min
BuildKit context deadline) trigger a retry instead of immediately
failing the full check suite.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 12:11:46 +02:00
Thomas SharedInbox 385c2234ee feat: remove publish-website from deploy.yml, schedule website.yml hourly (#325)
Remove the publish-website job from deploy.yml and add an hourly cron
schedule to website.yml so the website deploys independently on its own
cadence. Also fix pre-existing golden test and coverage exclusions for
files introduced in #315.
2026-05-29 12:11:46 +02:00
Thomas SharedInboxandClaude Sonnet 4.6 02b9635c83 feat: reimplement PR #307 — user preferences, archive, configurable navigation (#315)
Reimplements the changes from PR #307 (branch issue-299-fix) on top of
current main, resolving all merge conflicts.

Features added:
- User preferences system (DB schema v34–v36): menuPosition,
  mailViewButtonPosition, afterMailViewAction stored as a singleton row
- Preferences screen accessible from the account drawer
- Configurable menu bar position in mailbox view (bottom/top)
- Configurable back button position in single mail view (bottom/top)
- Configurable "after mail action": navigate to next message or return to
  mailbox after delete/archive/spam/move/snooze
- Archive button in email detail screen; resolveMailboxByRole helper
  prompts to choose or create a folder when none exists
- Improved Mark as spam: uses resolveMailboxByRole with dialog
- Show full discrepancy details in account list sync health row
- CSS fixes in SecureEmailWebView to prevent HTML email content overflow
- Preserve manually-set mailbox roles across IMAP syncs
- Tooltip on List-Unsubscribe chip showing the URL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 12:11:35 +02:00