31 Commits
Author SHA1 Message Date
rune c3abc5a748 Update remaining oai.pm references to confab.no
Covers the per-file license-header comment (~80 Swift files) plus
the contact/website links in README.md, PRIVACY.md, and SECURITY.md.
2026-08-03 08:44:35 +02:00
rune 76b58e6fdc Rename app from oAI to Confab
"oAI" reads as easily confused with OpenAI, both visually and in
casual conversation. Renamed to "Confab" throughout: Xcode
target/scheme/bundle ID (com.oai.Confab), Info.plist and Help Book
identity, all user-facing UI text, internal Log subsystem and color
identifiers, localization catalogs (6 languages, including a proper
reworded/retranslated Intel-deprecation notice), Help Book HTML
content, and docs (README/DEVELOPMENT/PRIVACY/SECURITY).

Deliberately cosmetic-only: the on-disk data folder
(~/Library/Application Support/oAI/), database/backup filenames,
Keychain service identifiers, and EncryptionService's key-derivation
inputs are all left untouched so existing conversations, settings,
and stored API keys survive the update with zero migration and no
re-entering credentials. Verified live: a real signed build
successfully decrypted a stored API key and loaded an existing
conversation database after the bundle ID change.

Also includes a small already-completed, previously uncommitted
model-release-date feature (ModelInfo/OpenRouterModels/
OpenRouterProvider/ModelInfoView) that happened to share several
files with this rename.

Gitignored on this branch and updated on disk but not part of this
commit: CLAUDE.md, RELEASE_NOTES.md, and the build*.sh scripts.
2026-08-02 14:58:14 +02:00
rune 77223536e9 Fix docs: Crash Recovery setting is in Settings → General, not Advanced
Corrected README and Help book — the toggle actually lives in
SettingsView.generalTab, not the Advanced tab.
2026-07-31 08:15:02 +02:00
rune e3557a87df Add unsaved-changes save prompt and crash-recovery draft
Replaces heuristic auto-save (goodbye-phrase detection, idle timeout,
min-message count, on-model-switch) with a standard macOS unsaved-changes
gate (Save/Don't Save/Cancel) on New Chat, Clear Chat, Load Conversation,
and Quit. The Save dialog gained a folder picker with inline "New Folder…"
creation.

Separately, the in-progress conversation is periodically mirrored to disk
(DraftRecoveryService, configurable interval in Settings, default 10s) and
offered back on next launch if oAI crashes or is force-quit, including the
model that was selected.

Two real bugs found via ObjectIdentifier/log-based diagnosis before this
worked correctly:
- oAIApp.init() wired AppDelegate.chatViewModel from its own @State read,
  which returned a throwaway ChatViewModel instance distinct from the one
  ContentView actually renders. Wiring moved to ContentView.onAppear.
- NSApplication.shared.delegate as? AppDelegate always failed silently:
  @NSApplicationDelegateAdaptor registers an internal SwiftUI.AppDelegate
  wrapper as the real NSApp.delegate (same name, different type in a
  different module), which forwards protocol methods but isn't castable
  to our type. AppDelegate now tracks itself via a static `shared`.

Also guards checkForCrashRecoveryDraft() against running under
XCTestConfigurationFilePath — oAITests is app-hosted, so xcodebuild test
launches this same app, and a leftover draft file on disk would otherwise
hang the entire test run on a blocking NSAlert with no one to click it.
2026-07-31 08:11:12 +02:00
runeandClaude Sonnet 5 71e8a49d77 Audit and fix README content errors and gaps
Real errors found and fixed:
- Disclaimer referenced a nonexistent Telegram feature and called the
  app "oAI-Web" (leftover from a different project's README)
- Git Sync goodbye-phrase example listed "thanks" as a trigger, which
  was deliberately excluded from the actual phrase list (fires on
  every polite message)
- UI/UX section still described status pills (MCP/Online/Sync) as
  living in the header; they moved to the footer in the v2.4 sidebar
  redesign

Missing shipped features added: Apple Intelligence provider, Personal
Data Tools (Calendar/Reminders/Contacts/Location), Research Agents,
External MCP Servers, MCP PDF text extraction, and the /shortcuts,
/skills, /jarvis, // slash commands.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 10:24:40 +02:00
runeandClaude Sonnet 5 d700b348cc Remove stale Gatekeeper warning from README
DMGs are notarized and stapled automatically now, so the workaround
steps no longer apply. Also corrected the minimum macOS requirement
to match the actual deployment target (26.2, not 14.0).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 10:19:26 +02:00
runeandClaude Sonnet 5 983c75f325 Update README screenshots
Replace the old 4 screenshots with 7 current ones covering chat,
General/Apple Intelligence settings, MCP + Personal Data settings,
Agent Skills (list + edit), Advanced settings, and iCloud Backup —
placed next to the sections they illustrate.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 10:16:04 +02:00
runeandClaude Sonnet 5 f1665a3a57 Remove Roadmap section from README
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 09:31:53 +02:00
runeandClaude Sonnet 5 3712078a74 Link Privacy and Security policies from README
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 09:25:27 +02:00
runeandClaude Sonnet 5 bd686873c4 Update commercial licensing contact URL to oai.pm
Consolidates the mac.oai.pm subdomain references (introduced in the
PolyForm Noncommercial relicense) to the root oai.pm domain, across
the LICENSE file, README, and all Swift source file headers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 11:33:53 +02:00
runeandClaude Sonnet 5 cf3f4ebfe4 Relicense oAI from AGPL-3.0-or-later to PolyForm Noncommercial 1.0.0
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>
2026-07-15 11:16:09 +02:00
runeandClaude Sonnet 5 0cefef16e4 Change Command History shortcut from ⌘H to ⇧⌘H
⌘H is reserved by macOS for "Hide Application" and pre-empts app-level
menu bindings before they ever fire, so the Command History shortcut
never actually worked. Moved to ⇧⌘H and updated all references (in-app
help, macOS Help Book, README).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:46:53 +02:00
rune 66c9054bd5 Update README with i18n disclosure and newly added features
Document Jarvis integration, Combine Conversations, model category
filter, sidebar navigation, prompt caching, and the 2nd Brain trust
toggle. Clarify that localization is AI/machine-translated rather than
reviewed by native speakers. Normalize all em-dashes to plain hyphens.
2026-06-22 11:14:34 +02:00
rune 00dccd648c README.md edits 2026-06-17 11:00:55 +02:00
rune 098c3c3d1e Update README.md 2026-04-15 07:25:18 +02:00
rune 3d6ac578db Update README.md 2026-04-15 07:24:48 +02:00
rune 3f9b30bfa1 New release v2.3.8 2026-03-05 13:17:53 +01:00
rune 49f842f119 New version v2.3.6 2026-03-04 10:19:16 +01:00
rune 11017ee7fa Updates 2026-02-23 13:45:58 +01:00
rune d386888359 Updates 2026-02-23 13:43:58 +01:00
rune 56f79a690e Updated README.md 2026-02-21 13:15:29 +01:00
rune 5f9631077b Updated README.md 2026-02-20 10:04:26 +01:00
rune 4acf538d8f Added install instructions, and version check 2026-02-20 09:55:30 +01:00
rune 52e3d0c07e updated with correct license 2026-02-18 12:43:47 +01:00
rune a3ec699b59 Updated README.md 2026-02-18 12:03:44 +01:00
rune 09463d7620 README.md changes 2026-02-16 13:23:40 +01:00
rune 25bcca213e Small feature changes and bug fixes 2026-02-16 13:17:08 +01:00
rune f89fda3482 Readme 2026-02-11 22:36:28 +01:00
rune fd03dc4dd8 Readme 2026-02-11 22:36:07 +01:00
rune 302c414ff5 Readme 2026-02-11 22:35:29 +01:00
rune 42f54954c1 Initial commit 2026-02-11 22:22:55 +01:00