Let a status or a channel have its own number of days before quiet #1233

Merged
tiagoagueda merged 2 commits from f-1099 into main 2026-11-12 01:47:23 +00:00
Owner

Closes #1099: an application can go quiet after a different number of days for each status, or for what it was applied through.

  • Settings → Appearance → Gone quiet gains number boxes per status (Applied, Screening, Interviewing, Assessment, Offer) and per channel; blank means the usual number. A status's number comes before a channel's, which comes before the usual one (the issue's decision).
  • The rule is one SQL condition read off the profile each owner already comes with: the gone-quiet pass stays at 1 + N queries for N accounts (#1120's tests unchanged, one new test with numbers set).
  • Each open, sent application's Move it along card says when it counts as quiet and which number applies. The board, the table filter and the API's ?quiet=true use the same rule. When the numbers vary, the dashboard widget and the sources table stop naming a single number.
  • Two profile fields (accounts 0052_quiet_days_by_status_and_channel), archive format 81; on import, unknown keys and numbers outside 1–365 are dropped.

Choices left open for review: Acknowledged has no box of its own (the issue lists five statuses); all page wording is new and worth a read; per-application numbers are not built (the issue's decision).

Tested: 10 new tests fail without the change; the quiet, export, settings, widgets and dashboard tests and 70 browser tests on the touched pages (axe, reflow, target size, right to left) pass. New strings are extracted for Weblate.

🤖 Generated with Claude Code

Closes #1099: an application can go quiet after a different number of days for each status, or for what it was applied through. - Settings → Appearance → *Gone quiet* gains number boxes per status (Applied, Screening, Interviewing, Assessment, Offer) and per channel; blank means the usual number. A status's number comes before a channel's, which comes before the usual one (the issue's decision). - The rule is one SQL condition read off the profile each owner already comes with: the gone-quiet pass stays at 1 + N queries for N accounts (#1120's tests unchanged, one new test with numbers set). - Each open, sent application's *Move it along* card says when it counts as quiet and which number applies. The board, the table filter and the API's `?quiet=true` use the same rule. When the numbers vary, the dashboard widget and the sources table stop naming a single number. - Two profile fields (`accounts 0052_quiet_days_by_status_and_channel`), archive format 81; on import, unknown keys and numbers outside 1–365 are dropped. Choices left open for review: Acknowledged has no box of its own (the issue lists five statuses); all page wording is new and worth a read; per-application numbers are not built (the issue's decision). Tested: 10 new tests fail without the change; the quiet, export, settings, widgets and dashboard tests and 70 browser tests on the touched pages (axe, reflow, target size, right to left) pass. New strings are extracted for Weblate. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
An application went quiet after one number of days, the same for every
application. One sent through a recruiter, one at screening and one after
a final interview do not go quiet at the same pace.

Under Settings, Appearance, beside the usual number, there is now a box
for each status that can have one (applied, screening, interviewing,
assessment, offer) and for each way of applying. Blank means the usual
number. A status's number comes first, then the channel's, then the usual
one. They are stored on the profile as two mappings, travel in the archive
(format 81) and are checked on the way back in.

The rule is one condition in SQL: a disjunction over the numbers set,
each guarded by the ones that win over it, and the same single comparison
as before when none is set. It is read off the profile that already comes
with each owner, so the gone-quiet pass still asks 1 + N queries for N
accounts (#1120), and the board, the table, the API, the dashboard and the
figures all use it. The figures' cache key carries the new numbers.

Each application's page now says when it counts as quiet and which number
gave that day, or that something planned keeps it from being quiet. The
dashboard's quiet widget and the sources table stop naming one number of
days once some applications are held to another.

Closes #1099

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record #1099 in the changelog and extract its strings
Some checks failed
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Successful in 2m1s
CI / Unit tests and coverage (Python 3.14) (pull_request) Successful in 15m34s
CI / Database tests on PostgreSQL (pull_request) Successful in 4m5s
CI / Security audit (pull_request) Successful in 21s
CI / Browser tests (Chromium) (pull_request) Successful in 36m34s
CI / Unit tests and coverage (Python 3.14) (push) Successful in 13m59s
CI / Checks: lint, migrations, catalogues, settings, built files (push) Successful in 1m59s
CI / Database tests on PostgreSQL (push) Successful in 4m16s
CI / Security audit (push) Successful in 20s
README / README language tables (push) Successful in 22s
CI / Browser tests (Chromium) (push) Successful in 33m54s
Dev image / Dev image: build, scan, push (push) Failing after 1h11m51s
928441aad6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tiagoagueda deleted branch f-1099 2026-11-12 01:47:26 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo!1233
No description provided.