- Add a dedicated “New Tab” toolbar button across iOS/iPadOS/macOS
- Keep toolbar behavior aligned with existing menubar New Tab action
- Refactor “New Window” scene to use a per-window @StateObject EditorViewModel
- Prevent detached window state resets that could surface as sidebar toggles/text loss after paste
- Preserve existing shared error bindings and window sizing behavior
Replace the separate CommandMenu("File") with CommandGroup placements
that inject items into the existing macOS File menu, eliminating the
duplicate menu.
- Move LineNumberRulerView into its own file
- Fix line number updates while scrolling
- Preserve window translucency by avoiding opaque ruler drawing
- Remove unused textContainer binding
- Fix Swift code being misclassified as C# by unifying language detection
- Remove conflicting AI-based language detection on paste
- Route paste, open, and edit events through LanguageDetector
- Add toggle for translucent editor background
- Persist translucency preference across sessions
- Minor cleanup of conflicting or redundant editor logic
• Add robust availability checks for Apple Intelligence (iOS 18 / macOS 15) before using system language model
• Implement health check via LanguageModelSession to validate model responsiveness (“ping” -> “pong”)
• Provide synchronous completion API appleFMComplete(prompt:) returning model response text
• Implement streaming completion API appleFMStream(prompt:) that yields incremental deltas
• Fix optional handling in streaming: unwrap partial.content.text safely and remove force unwraps
• Correct delta computation using unwrapped current string and maintain last state
• Add graceful fallback to single-shot completion if streaming fails
• Provide stubbed implementations when USE_FOUNDATION_MODELS is disabled to ensure build stability across configs