Switches the project from AGPL to a source-available license that
restricts commercial use — selling oAI or any part of it, standalone
or bundled into another product/service, now requires a separate
commercial license from the copyright holder. Noncommercial use,
study, modification, and sharing remain fully permitted.
Updates: LICENSE (canonical PolyForm Noncommercial 1.0.0 text +
commercial licensing contact note), SPDX headers and file-header
boilerplate across all Swift source files, the in-app About dialog's
license link (+ its localization catalog entry), README.md and
DEVELOPMENT.md license sections.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Two contributing layout issues in the chat message bubble:
1. MessageRow's content VStack (icon + text HStack) had no
.frame(maxWidth: .infinity), so it sized to its content's ideal
width instead of the space actually available.
2. swift-markdown-ui renders paragraphs with mixed inline styling
(bold/italic runs next to plain text) as concatenated Text(+)
segments, which on macOS report their ideal unwrapped single-line
size for height purposes instead of wrapping — truncating with "…"
regardless of window width. Plain single-style paragraphs (a single
Text) weren't affected, which is why some lines wrapped fine and
others didn't.
Fixed by adding .frame(maxWidth: .infinity, alignment: .leading) to
the MessageRow content stack, and .fixedSize(horizontal: false,
vertical: true) to the markdown paragraph label so height is
recomputed for the width actually given instead of the ideal width.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>