From 00bc039964d9aa3b4318ab6e942efde80d3ce53e Mon Sep 17 00:00:00 2001 From: rays Date: Fri, 9 Oct 2026 18:32:16 +0000 Subject: [PATCH] DeadAir's wording: cut the dead air (#172) The switch, the button's tooltip, the toasts and the time saved now say what the name already pictures, the dead air cut, instead of explaining it as silences shortened each time. The caption says the voice keeps its own pace, which is the part people doubt, and names the shows to leave out: stories whose pauses are part of the telling. Co-Authored-By: Claude Opus 5.5 --- web/src/dialogs.ts | 9 +++++---- web/src/items.ts | 2 +- web/src/player.ts | 7 +++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/web/src/dialogs.ts b/web/src/dialogs.ts index 1ffaa82..a5714da 100644 --- a/web/src/dialogs.ts +++ b/web/src/dialogs.ts @@ -365,8 +365,8 @@ function due(ts){ /// admin is sent (issue #19); this used to hold them too, shown to admins only. function deadSavedText(me){ const s=me&&me.deadair_saved||0; - return s?`It has saved you ${spanText(s)}, on episodes you heard three quarters of or more.` - :'Turn it on in a show\'s settings, or beside the speed while it plays, to shorten its long silences.'; + return s?`It has saved you ${spanText(s)} of dead air, on episodes you heard three quarters of or more.` + :'Turn it on in a show\'s settings, or beside the speed while it plays, to cut the dead air from it.'; } async function prefsModal(){ @@ -528,8 +528,9 @@ function settingsModal(f, newUrl?: string){ ${sw(``,'Include explicit items')}
${sw(``,'DeadAir',' lead')} -

Plays ${isGroup?'these shows':'this show'} with long silences shortened, so episodes finish - sooner without sounding sped up. Leave it off for readings whose pauses matter.

+

Cuts the dead air: long silences in ${isGroup?'these shows':'this show'} shrink to a beat, so + episodes finish sooner and every voice keeps its own pace. Leave it off for stories whose pauses + are part of the telling.

${isGroup?'':`
${chipsHTML(f.blocked||[],'sblockin')}

Whole words or phrases. Hidden from your list and not downloaded for you, along diff --git a/web/src/items.ts b/web/src/items.ts index 4d4e01e..8cf90b7 100644 --- a/web/src/items.ts +++ b/web/src/items.ts @@ -78,7 +78,7 @@ function epEl(e){ num&&`${num}`, left&&`${left}`, others>0&&`+${others} more file${others===1?'':'s'}`, - enc&&enc.deadair>0&&`${shorter(enc.deadair)}`, + enc&&enc.deadair>0&&`${shorter(enc.deadair)}`, enc&&enc.last_error&&enc.state==='error'&&`${esc(enc.last_error)}`, ].filter(Boolean).join('')}

diff --git a/web/src/player.ts b/web/src/player.ts index 1eba2ab..0cdbddc 100644 --- a/web/src/player.ts +++ b/web/src/player.ts @@ -124,8 +124,7 @@ function paintDead(){ if(b.hidden) return; b.setAttribute('aria-pressed',String(!!f.deadair)); b.innerHTML=f.deadair?ICON.deadairOn:ICON.deadair; - b.title=f.deadair?'DeadAir is on for this show: long silences are shortened' - :'Turn on DeadAir for this show: long silences are shortened'; + b.title=f.deadair?'DeadAir is cutting the dead air from this show':'DeadAir: cut the dead air from this show'; } $('#pdead').onclick=async()=>{ const f=S.feeds.find(x=>x.id===player.feed); if(!f) return; @@ -134,8 +133,8 @@ $('#pdead').onclick=async()=>{ catch(err){ toast(err.message,true); return; } f.deadair=on; paintDead(); const switched=await switchVersion(); - toast(!on?'DeadAir is off for this show':switched?'DeadAir is on for this show' - :'DeadAir is on for this show. Each episode is shortened a few minutes after it downloads.'); + toast(!on?'DeadAir is off for this show':switched?'DeadAir is cutting the dead air from this show' + :'DeadAir is on for this show. Episodes lose their dead air a few minutes after they download.'); renderEntries(); }; /// Carries on at the same place in the other version of what is playing, once DeadAir has been