Skip to content

A pack owner in a Trial sees the "Trial ending soon" note (#961) - #966

Merged
Skeyelab merged 1 commit into
mainfrom
agent3/trial-ending-note
Oct 27, 2026
Merged

Skeyelab merged 1 commit into
mainfrom
agent3/trial-ending-note

Conversation

@Skeyelab

Copy link
Copy Markdown
Member

Fixes #961.

The between-Takes "Trial ending soon" note now decides from planLicense(), the plan as owned. It used license(), which reports Pro when the Armed mixer's pack is owned, so a pack owner in a Trial never saw the note. Record press, the limits and the after-Take offers (afterTakeOnDevice, afterTakeStopped) still read license(), since they describe the Take where the pack really applied.

The call moved into RecordScreenModel.trialNote(...) so a test can reach it.

Tests (AppTests/TrialNoteTests)

  • packOwnerInTheTrialsLastDaysSeesTheNote: red first. With the static still on license(): ✘ ... recorded an issue at TrialNoteTests.swift:29:25 (no Trial note: nil). It passes after the switch.
  • trialWithoutAPackStillSeesTheNote and proOwnerNeverSeesTheNote: passed on their first run. They are regression guards.

Full ./scripts/verify.sh passed: macOS build and AppTests, iOS Simulator build, 143s.

Not checked

  • Only tests, not a device. PackAvailability is Debug only, so no tester sees this. Eric's device check stays open on A pack owner in a Trial never sees the "Trial ending soon" note #961 before PackAvailability moves up a level.
  • The review noted that afterShowEnded also reads license(), so a pack owner whose first Show ended with that family Armed never gets the "first Show" offer. That may be intended (they recorded with Pro features). It is left for a separate issue.

The between-Takes note read license(), which counts a pack on the Armed
family as Pro, so a pack owner's Trial looked already over. It now reads
planLicense(), like the Trial sheets and the days chip (#959). Record
press, the limits and the after-Take offers keep license().

Assisted-by: Claude Code:claude-opus-5-5
@codecov

codecov Bot commented Oct 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Skeyelab
Skeyelab merged commit e70e9b0 into main Oct 27, 2026
11 checks passed
Skeyelab added a commit that referenced this pull request Oct 27, 2026
afterShowEnded read license(), which counts a pack on the Armed family
as Pro, so a pack owner whose first Show ended with that mixer Armed
never got the offer. It now reads planLicense(), like the Trial note
(#966). The paywall it opens already offers the upgrade to someone who
bought a pack.

Assisted-by: Claude Code:claude-opus-5-5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A pack owner in a Trial never sees the "Trial ending soon" note

1 participant