diff options
Diffstat (limited to 'docs/superpowers')
| -rw-r--r-- | docs/superpowers/plans/2026-08-02-qtmaildir-v1.md | 8 | ||||
| -rw-r--r-- | docs/superpowers/specs/2026-08-02-qtmaildir-design.md | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/docs/superpowers/plans/2026-08-02-qtmaildir-v1.md b/docs/superpowers/plans/2026-08-02-qtmaildir-v1.md index 1e14105..41bf1bb 100644 --- a/docs/superpowers/plans/2026-08-02-qtmaildir-v1.md +++ b/docs/superpowers/plans/2026-08-02-qtmaildir-v1.md @@ -3200,10 +3200,10 @@ Expected: FAIL, `mailsync.h: No such file or directory`. /// Runs the configured external sync command. /// /// qtmaildir deliberately does not implement sync itself. The existing script -/// holds a flock that is the shared mutex between the user's hourly cron sync -/// and any manual sync; running the script joins that mutex, whereas a built-in -/// implementation would sit outside it and could run mbsync concurrently with -/// cron, corrupting Maildir UID state. +/// holds a flock that is the shared mutex between the user's cron sync, which +/// runs every 10 minutes, and any manual sync; running the script joins that +/// mutex, whereas a built-in implementation would sit outside it and could run +/// mbsync concurrently with cron, corrupting Maildir UID state. class MailSync : public QObject { Q_OBJECT diff --git a/docs/superpowers/specs/2026-08-02-qtmaildir-design.md b/docs/superpowers/specs/2026-08-02-qtmaildir-design.md index 37a0078..2d7e760 100644 --- a/docs/superpowers/specs/2026-08-02-qtmaildir-design.md +++ b/docs/superpowers/specs/2026-08-02-qtmaildir-design.md @@ -94,7 +94,7 @@ notmuch access happens on that thread; the UI never blocks. **Sync.** qtmaildir runs a configured external command rather than reimplementing `mbsync` orchestration. The decisive reason is the `flock` guard in the existing script: it is the shared mutex between the user's -hourly cron sync and any manual sync. Reimplementing the sync internally +cron sync (every 10 minutes) and any manual sync. Reimplementing it internally would place qtmaildir outside that mutex, and two concurrent `mbsync -a` runs on one Maildir corrupt UID state. Calling the script joins the mutex for free. Reimplementing would also not remove the dependency, since `mbsync` @@ -379,7 +379,7 @@ query re-runs so new mail appears. On non-zero, the status bar shows the last stderr lines with a "Show log" link. Sync never runs automatically in v1: no timer, no sync on startup. The user's -cron already syncs hourly, and a second scheduler competing with the first is +cron already syncs every 10 minutes, and a second scheduler competing with it is exactly what the script's `flock` guard exists to prevent. The button means "now". |
