Files
LlamaCasty/HANDOFF.md
T
gramps 6208cb9409 feat(ui): route locked tiers through About
Keep non-owner resolution choices visible but muted. Selecting one preserves the free tier and opens About; external navigation is only the explicit llamacasty.com link. Ref: https://streamlabs.com/desktop
2026-11-02 09:41:38 -08:00

32 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HANDOFF — 2026-11-02 (Steam ownership check)
## State
- `main`; local work unit, not pushed.
- Distribution plan: one paid Steam app ($79 announced launch price, then $99) plus its associated
free Demo. Same code; no subscription, DLC purchase, or GitHub binary.
- `IEntitlement.IsAppOwned` feeds the app-wide `MainViewModel.IsAppOwned` flag. Debug uses a fake
owned result; the fake is excluded from Release.
- Release ownership uses `BIsSubscribedApp(paidAppId)` and fails closed when the ID or Steam is
unavailable. **The paid app ID is not configured yet; the Steamworks application is pending.**
- Steam's private-use clause is not, by itself, a proven blocker. EULA wording should expressly
allow commercial/monetized streaming; OBS is the relevant Steam software precedent. See
`MyMistakes.md` → Steam distribution.
## Next action
Day 1 next: system-message strip. The queued Debug-only test-access rule also needs checking. Keep
one integration test per change.
## Landmines
- The Demo has its own App ID. Ownership must check the paid app ID, never the Demo ID or test ID
`480`.
- No fake ownership code or developer panel in Release.
- No Steam checkout in the app; Steam handles purchase and updates.
- The paid app ID is not available yet; Release stays fail-closed until it is configured.
- `verify.sh` clean app build passes; `EntitlementTests` passes 5/5. Full suite currently has 13–14
UI/content failures; connection to this change is unconfirmed, investigate separately.
- Bundled FFmpeg must stay outside the single-file exe (`ExcludeFromSingleFile="true"`).
- Build with Windows `dotnet.exe`; run tests per class (the whole suite can hang in WASAPI teardown).