Skip to content

Releases: robert-dean/deadair

deadair 0.74.3

Choose a tag to compare

@deadair-release deadair-release released this 20 Oct 19:30
298c20f
  • A banter nobody briefed is no longer worded as a phone-in. The subject passage its outline and every beat are given said the host's preoccupation was "why the caller rang", so every banter was planned around a caller nobody cast and aired "we have a caller on the line". It now says that is what the presenters talk about.

deadair 0.74.2

Choose a tag to compare

@deadair-release deadair-release released this 20 Oct 19:04
d902e0d
  • Banters, phone-ins and studio visits no longer announce a record that never plays. A programme is written before the station knows where it will air, so its presenters are now told that nothing plays under it and to name no record they were not given, and a polished programme's turn that introduces "this next song" is written again.
  • A programme's turn that names a record it was not handed, such as "Blue Monday by New Order" in a banter that was given no records, is now written again, whichever writing mode the station uses.
  • A record the station takes in from a provider is judged by the library row it lands on, so a copy attached to a work the library already held ("Detroit Rock City - Edit" onto "Detroit Rock City") is held by the repeat window instead of airing twice in a day.
  • The repeat window now gives way only when a refill would otherwise add nothing at all, rather than whenever it came back a record or two short, so a record is no longer let back in an hour after it aired just to make up the number. When it does give way, the activity feed says so for every kind of refill, not only for the library draw.
  • Render: a shouted run of capitals is read as words. A presenter writing THE DRUMS ARE SO LOUD! had DRUMS spelled out on air as "D Rums"; a run of two or more capitalised words now reaches the engine in title case, while a lone capitalised name and the initialisms the station spells out are left as they were.

deadair 0.74.1

Choose a tag to compare

@deadair-release deadair-release released this 20 Oct 17:31
1b9c20f
  • Productions: a banter now airs on a co-hosted show that takes no calls. It was being treated as an unwanted phone-in, so every one was finished, never put on and retired an hour later, and the one waiting to expire stopped the next from being made.
  • A programme's outline is no longer lost when an on-air break takes the model back while it is being planned: the station asks again, as it already did for each beat, so co-host banters and phone-ins are written to one plan rather than as separate pieces. When it does give up, the activity feed says whether breaks or the model were the reason.

deadair 0.74.0

Choose a tag to compare

@deadair-release deadair-release released this 19 Oct 20:50
759f082
  • A persona can now be set to always work one fact about the music into every link ("How much they lean on what the station knows" → Always). The station picks the fact, preferring a sourced one about the record coming up, and the presenter says it in their own words beside their usual patter.
  • A persona can now be set to never be handed what the station knows about the records ("How much they lean on what the station knows" → Never). Its links are written from the records alone, and the facts it is not shown stay unused for whoever presents next.
  • A persona can now be set to work one fact about the music into a link now and then ("How much they lean on what the station knows" → Sometimes): about a third of its links carry one, chosen by the station, and the rest carry none.
  • The station now records, for each break written by a presenter asked for one fact, whether the script actually said it, so how often a host uses the fact can be read from the break history.

deadair 0.73.0

Choose a tag to compare

@deadair-release deadair-release released this 19 Oct 19:28
2a679e1
  • A passkey can now be answered from the Android app as well as the console. The station accepts an assertion that names the app's own signing certificate as its origin, when that certificate is the published app's or one listed under Settings, Sign-in, "Android builds that may use passkeys", and binds it to the station's public https address.
  • Signing in to the console with a passkey, and answering a second step with one, now work. The console sent the signed passkey form-encoded, which flattened it to nothing the station could read, so both were refused.

deadair 0.72.1

Choose a tag to compare

@deadair-release deadair-release released this 19 Oct 17:06
37c226b
  • The station's audio is back on Liquidsoap 2.4.5. On 2.4.6, everything on the station skipped: the stream switched between the running order and the station ident thousands of times a minute and fell further and further behind.
  • A call-in or co-host banter left half-written by a restart no longer blocks every later one for its broadcast. The hour a production stays fit to air now retires it whatever state it was left in, so a row stuck in drafting (or any earlier stage) with no job behind it is failed after its hour and the show's next call or banter is commissioned on the same pass. Readings are still exempt.

deadair 0.72.0

Choose a tag to compare

@deadair-release deadair-release released this 19 Oct 14:42
b7d2491
  • Voice, Pronunciations: every entry has a play button that speaks the word the way that entry says it, so a respelling can be judged before it airs. It works for proposals and turned-down entries as well as active ones, and beside the Written and Said fields for one still being typed or edited. Pick the voice to hear them in at the top of the page, or leave it on the plugin's default. The route is POST /pronunciations/sample with the written form, the spoken form and an optional voice; it is in every SDK.
  • A brief that rules an act out ("Britpop, but no Oasis", "thrash, anything except Metallica") no longer gets that act programmed. The station read every act a brief named as one to play, so the act you excluded could take a share of every batch, longest-neglected first. Acts after "no", "not", "never", "without", "except", "avoid" and the like are now left out, up to the end of the sentence, a colon or a "but" that turns back. A band whose name has one of those words in it, such as No Doubt, is still read as a band.
  • The station's audio now runs on Liquidsoap 2.4.6. It fixes two bugs 2.4.5 had in the station's own path. A Liquidsoap left running for weeks no longer slowly climbs in CPU until a restart. And the start of a break, or of a record after a short join, no longer loses up to a frame of audio. The ffmpeg the image installs for measuring records is now Debian's 7.1.5 rather than deb-multimedia's 7.1.4.
  • Trends' "Average call" for the model now averages only the calls the model answered. A timeout used to count its full two minutes, so one among twenty quick answers read as a model three times slower than it was, and a model that was down and refusing instantly read as a fast one. "Calls" still counts both, and "Failed" beside it says how many did not answer. The station now labels each model call's duration with whether it answered.
  • The station's OTLP metrics now send counters and histograms as running totals (cumulative) rather than per-minute deltas. Every minute used to go out as two points over the same interval, because the flusher sends the still-open minute and then the rest of it, and a collector kept only one of them, so token, failure and duration counts read low. Prometheus now takes them with no deltatocumulative processor. Each station process also reports its own service.instance.id (a UUID made at boot) instead of the constant main, so a restart or a deploy's overlap is a new series rather than one whose total goes backwards; the station key moves to deadair.station.
  • A break written while no show is on air no longer counts a script you typed in yourself as something the station said recently. Those scripts were offered to the writer as phrasing it had already used, so its openings and favourite words were held against your words rather than its own.

deadair 0.71.0

Choose a tag to compare

@deadair-release deadair-release released this 17 Oct 20:19
b28a9f6
  • Sign-in and security has a password card: change your password with the current one, or add one to an account that signs in without. Every other device is signed out, the re-verify dialog opens first when an authenticator or passkey is enrolled, and a wrong current password or a weak new one is said on its own field.
  • The sign-in page has "Forgot your password?": it emails a link to the address typed above, which signs the person in and opens Sign-in and security at a "Choose a new password" card that does not ask for the old one. If the link was opened too long ago to stand in for the old password, the card asks for it after all and says why.
  • A sign-in link can be asked for as a password reset: POST /auth/login/start with grant_type: 'link' takes purpose: 'reset', which emails "Reset your password" instead of "Sign in" and lands the person on the password form once the link has signed them in. The limit on how often an address can be mailed, and the answer for an address with no account, are the sign-in link's own.
  • PUT /auth/password sets or changes the signed-in person's own password (sdk.authentication.factors.setPassword). It needs the current password when there is one, unless a sign-in link was used in the last ten minutes, and a recent authenticator or passkey once one is enrolled. Every other session of the account is signed out, and each of its email addresses gets a notice that the password changed.

deadair 0.70.2

Choose a tag to compare

@deadair-release deadair-release released this 17 Oct 19:52
8410928
  • A new setting, "How hard the production model thinks" (llm.productionReasoning), sets the reasoning effort for writing and re-drafting each turn of a production, the way llm.breakReasoning already does for breaks. It defaults to A little, which is what every turn asked for until now. On a model that thinks at length even then, every phone-in and co-host banter failed as "came back empty twice" because one turn ran out of time or room before it said anything. Not at all fixes that.

deadair 0.70.1

Choose a tag to compare

@deadair-release deadair-release released this 17 Oct 17:55
47c960b
  • Dependency updates: @maroonedsoftware/comms 0.3.0, koa 4.1.3, servercore 0.4.1, discord 2.1.1, slack 3.3.1, telegram 2.1.1 and rhapsode-sdk 0.1.27. The comms release only adds two optional fields to an incoming event, so nothing the station does changes.