Skip to content

[codex] Implement License Free State UI#75

Merged
uniplanck merged 2 commits into
mainfrom
codex/boardman-license-free-state-ui
Jun 9, 2026
Merged

[codex] Implement License Free State UI#75
uniplanck merged 2 commits into
mainfrom
codex/boardman-license-free-state-ui

Conversation

@uniplanck

@uniplanck uniplanck commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Show the Board-Man Free license state in the license preferences UI.
  • Keep license activation visible but disabled/not connected.
  • Keep the Pro locked control pattern visible for a Pro-only appearance control.

Visual check follow-up

  • Added explicit Current Plan / Status / Last verified / Device activated rows.
  • Added the full concise Pro features list: Unlimited History, Unlimited Snippets, Advanced Appearance, Export / Import, Paste Analytics, Future Sync.
  • Activation remains disabled/static with no backend, network call, key storage, or device binding.

Files changed

  • Clipy/Sources/Managers/MenuManager.swift
  • Clipy/Sources/Preferences/Panels/CPYBetaPreferenceViewController.swift

UI state added

  • Current Plan: Free Plan
  • Status: Free
  • Last verified: Not verified / Offline
  • Device activated: Not activated
  • Static copy: 1 license = 1 PC
  • Upgrade CTA remains available
  • Pro feature list remains visible

Entitlement source used

  • EntitlementGate.currentSnapshot() in the License preferences panel.
  • EntitlementService.shared.currentSnapshot in the embedded Board-Man settings panel.

Pro locked pattern added

  • Uses the existing BoardManProLockedControlView pattern: disabled control, lock indicator, PRO badge, and upgrade CTA.

Validation

  • git status --short: clean except existing untracked _copy/
  • git diff --stat: 1 file changed, 16 insertions(+), 6 deletions(-) in follow-up commit
  • git diff --check: passed
  • Build passed:
    rtk xcodebuild -project Board-Man.xcodeproj -scheme Board-Man -configuration Debug -derivedDataPath "${TMPDIR:-/tmp}/BoardManCodexValidation" -destination 'generic/platform=macOS' -skipPackagePluginValidation -skipMacroValidation CODE_SIGNING_ALLOWED=NO build
  • Pure Swift entitlement check: no standalone Package.swift/script available; existing ClipyTests entitlement coverage was inspected but not run separately.

Out of scope

  • Real license activation
  • Backend calls
  • Keychain device binding
  • License UI backend wiring
  • Appearance UI redesign
  • Sparkle release/appcast work

@uniplanck uniplanck marked this pull request as ready for review June 9, 2026 01:17
@uniplanck uniplanck merged commit 3da9421 into main Jun 9, 2026
2 checks passed
@uniplanck uniplanck deleted the codex/boardman-license-free-state-ui branch June 9, 2026 02:17
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.

1 participant