Commits
Marek Vsechovsky committed aca833b5085
Session 144, Step 50: Update aisman-instructions-template.md to require issue.num in summaries instead of issue.id - AIM-2779 Update aisman-instructions-template.md to require issue.num in summaries instead of issue.id - AIM-2755 Auto-create first project user story with guided instructions on project creation - AIM-2756 Show discount code field in checkout pane for first-time discount users - AIM-2766 Add split edit/preview mode to Workflow Write instructions - AIM-2769 Save InvoiceItem records for subscription purchases Outcome: All five issues addressed: - **AIM-2755**: Fixed textarea focus loss after split mode entry by adding `ta.focus()` at end of `_enterSplitMode()`. Tab switching guard already correct. - **AIM-2756**: Increased pro-rata note threshold from $1 to $5. Added yearly total price display for yearly subscriptions. - **AIM-2766**: Fixed toolbar targeting in dual-story split view by capturing focus state on `mousedown` before click changes focus. Fixed `_exitSplitMode` and `_enterSplitMode` to use `ta.closest()` for correct wrap targeting. - **AIM-2769**: Added six financial columns to InvoiceItem model and database (Subtotal, Discount, Tax, Fee, Affiliate, NetTotal). SQL migration script 110 created. - **New issue -3290**: Updated template and source instruction files to require acronym-number references in summaries. Session 144, Step 51: Save InvoiceItem records for subscription purchases - AIM-2769 Save InvoiceItem records for subscription purchases Outcome: AIM-2769: Implemented per-item financial data extraction from Paddle transaction webhook. Added ParsePaddleAmount, FindAndRemovePaddleItem, and DistributeFee helpers. Modified EnsureInvoiceAsync to parse data.items[] and match by Paddle price_id for both subscription tiers and add-on features.