The Pro surface goes dormant — no section, no signpost, machinery intact
Settings loses its Lanework Pro section and the About box its Pro line — no surface names or sells Pro while the split is re-decided. The machinery underneath (ProEntitlement, ProStorefront, ProSettingsSection, the recorded session tier) stays compiled and tested, documented as dormant since the pivot. CHANGELOG's two 2.0 entries and README's feature list drop the Pro-gated framing while keeping the facts. Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
@@ -1,27 +1,13 @@
|
||||
import IndieAbout
|
||||
|
||||
/// **The About box's configuration — one of the three places the app names Lanework Pro.**
|
||||
/// **The About box's configuration.**
|
||||
///
|
||||
/// 12-editions.md ▸ Tier naming: "The free tier presents as a complete app, not a demo: Pro is
|
||||
/// named in exactly three places — one line in the About box, the contextual popover line on
|
||||
/// `.git` boards, and the Settings Pro section where the subscription actually lives. Nothing on
|
||||
/// the welcome screen, nothing in banners." The popover line is `BoardGitNote`'s; this is the
|
||||
/// About line, riding as the second line of the copyright text — `IndieAbout` renders
|
||||
/// `copyrightText` as one multi-line `Text`, so the signpost is literally a line in the box, no
|
||||
/// custom layout.
|
||||
///
|
||||
/// **One box for every tier.** The 2026-07-27 split gave Pro a twin of this file without the
|
||||
/// signpost, on the reasoning that a separate Pro app pointing at itself would be noise; the
|
||||
/// one-app collapse (12, re-ruled 2026-07-30) makes Pro a subscription, so the line is a pointer
|
||||
/// to something a subscriber has already taken up rather than to another download — true either
|
||||
/// way, and shown to everyone. It stays deliberately flat: what Pro adds, in one sentence, with
|
||||
/// no call to action.
|
||||
///
|
||||
/// **The direction arrived with the section.** The line was written without its "…in Settings"
|
||||
/// while there was no Settings Pro section to point at — a signpost to a dead end is worse than no
|
||||
/// signpost. `ProSettingsSection` exists now, so the sentence ends where the subscription actually
|
||||
/// lives. Still one sentence, still flat, still no verb aimed at the reader: it names the place, it
|
||||
/// does not ask them to go there.
|
||||
/// **Dormant since the 2026-08-07 pivot** (12-editions.md ▸ PIVOT 2026-08-07 — git leaves the
|
||||
/// paywall): this box used to carry a second copyright line naming Lanework Pro, one of the three
|
||||
/// places 12's pre-pivot "Tier naming" section named the subscription. Git left the paywall, the
|
||||
/// base/Pro split is being re-decided, and until it's ruled, no surface in the app names or sells
|
||||
/// Pro — so the line comes out, and the box goes back to a plain, one-line copyright shown to
|
||||
/// everyone.
|
||||
enum AboutBox {
|
||||
|
||||
/// The About window's content: version/build/date from the stamped Info.plist
|
||||
@@ -31,7 +17,7 @@ enum AboutBox {
|
||||
/// own single-line paragraphs.
|
||||
static var configuration: AppInfoConfiguration {
|
||||
AppInfoConfiguration(
|
||||
copyrightText: "© 2026 rzen\nLanework Pro adds git-backed board history and sync — see Settings.",
|
||||
copyrightText: "© 2026 rzen",
|
||||
documents: [.license(extension: "md")],
|
||||
changelogDocument: .changelog()
|
||||
)
|
||||
|
||||
@@ -379,14 +379,15 @@ private struct RecentBoardRow: View {
|
||||
|
||||
/// The app's preferences (⌘, — 11-command-nexus.md).
|
||||
///
|
||||
/// Two sections. The first is the one control v1 shipped with: "Restore open boards at launch",
|
||||
/// whose preference gates only whether the registry's open-now flags are *consulted* at launch — the
|
||||
/// flags themselves are maintained either way, which is what keeps crash recovery working for a user
|
||||
/// who has restoration turned off and then turns it back on.
|
||||
/// One section today: "Restore open boards at launch", whose preference gates only whether the
|
||||
/// registry's open-now flags are *consulted* at launch — the flags themselves are maintained either
|
||||
/// way, which is what keeps crash recovery working for a user who has restoration turned off and then
|
||||
/// turns it back on.
|
||||
///
|
||||
/// The second is **where Lanework Pro lives** (12-editions.md ▸ Distribution: "purchased and managed
|
||||
/// in a Pro section of Settings (⌘,) — subscribe, manage, restore purchases"), and the third of the
|
||||
/// exactly three places the app names Pro at all — see `ProSettingsSection` for its own posture.
|
||||
/// **The Pro section is dormant, not deleted** (12-editions.md ▸ PIVOT 2026-08-07 — git leaves the
|
||||
/// paywall): `ProSettingsSection` still exists and still compiles, but this scene no longer renders
|
||||
/// it — the base/Pro split is being re-decided, and until it's ruled, no surface in the app names or
|
||||
/// sells Lanework Pro.
|
||||
struct SettingsView: View {
|
||||
|
||||
@AppStorage(AppPreferences.restoreOpenBoardsAtLaunchKey)
|
||||
@@ -399,14 +400,11 @@ struct SettingsView: View {
|
||||
} footer: {
|
||||
Text("On, the boards open at your last quit reopen automatically. Off, every launch starts at Welcome.")
|
||||
}
|
||||
|
||||
ProSettingsSection()
|
||||
}
|
||||
.formStyle(.grouped)
|
||||
// Font-derived: this pane is `.fixedSize()`, so a 420-point literal would clip a footer
|
||||
// sentence at a large system text size with no way to resize out of it
|
||||
// (10-accessibility.md ▸ Text scaling). The height stays free — the Pro section's own height
|
||||
// depends on which of its three states it is in, and pinning it would clip the longest.
|
||||
// (10-accessibility.md ▸ Text scaling).
|
||||
.frame(width: BoardMetrics.em(32.3, bodyPointSize: BoardMetrics.bodyPointSize))
|
||||
.fixedSize()
|
||||
}
|
||||
|
||||
@@ -181,8 +181,8 @@ struct KanbanApp: App {
|
||||
// The About window (11-command-nexus.md files About under the app menu's standard
|
||||
// furniture): icon, version/build/date from the Info.plist that `update_build_info.sh`
|
||||
// stamped at build time — never a hardcoded string — with the version line opening the
|
||||
// bundled changelog. `AboutBox` carries the one-line Pro signpost with it (12-editions.md
|
||||
// ▸ Tier naming) — one box, every tier.
|
||||
// bundled changelog. `AboutBox` names no tier (12-editions.md ▸ PIVOT 2026-08-07) — one box,
|
||||
// every tier, identical.
|
||||
IndieAboutCommand(configuration: AboutBox.configuration)
|
||||
|
||||
// The File group, in 11-command-nexus.md's own row order: New Card, New Lane, New Board…,
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
import SwiftUI
|
||||
|
||||
/// **The Settings Pro section** — subscribe, manage, restore (12-editions.md ▸ Distribution), and
|
||||
/// the third and last place the app names Lanework Pro (12 ▸ Tier naming; the other two are
|
||||
/// `AboutBox`'s line and `BoardGitNote`'s contextual one).
|
||||
/// **The Settings Pro section** — subscribe, manage, restore (12-editions.md ▸ Distribution).
|
||||
///
|
||||
/// **Dormant since the 2026-08-07 pivot** (12 ▸ PIVOT 2026-08-07 — git leaves the paywall): git
|
||||
/// integration left the paywall and the base/Pro feature split is being re-decided, so this view is
|
||||
/// no longer instantiated from `SettingsView` — it is unrendered pending the new split. The type,
|
||||
/// its logic, and its tests stay exactly as they were: the entitlement's mechanics (local read,
|
||||
/// composition-time binding, offline grace, the recorded session tier) are unchanged and correct
|
||||
/// for whatever the next split gates, and this section is the seam that will surface it again once
|
||||
/// that split is ruled. Nothing below this comment was touched for the pivot.
|
||||
///
|
||||
/// ### Calm, because the rule says calm
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user