Skip to content

feat: mobile companion design spec and backend auth updates#79

Merged
ZingerLittleBee merged 15 commits intomainfrom
dhaka
Mar 28, 2026
Merged

feat: mobile companion design spec and backend auth updates#79
ZingerLittleBee merged 15 commits intomainfrom
dhaka

Conversation

@ZingerLittleBee
Copy link
Copy Markdown
Owner

Summary

  • Add mobile companion app design spec (1093 lines)
  • Add iOS app foundation: auth services, WebSocket client, models
  • Update server auth/config/router for mobile support
  • Clean up security hardening round2 docs

Changes

  • Docs: Mobile companion design spec (2026-03-28-serverbee-mobile-companion-design.md)
  • iOS: Auth services (Keychain, AuthManager, APIClient), WebSocket client, network monitor
  • Server: Auth service updates, config cleanup, router adjustments
  • Frontend: OpenAPI sync, i18n additions, auth hook fix

Implement Unit 3 of the iOS companion app:
- WebSocketClient: connects to /api/ws/servers with Bearer auth,
  decodes BrowserMessage frames, auto-reconnects with exponential
  backoff and jitter
- NetworkMonitor: NWPathMonitor wrapper publishing connectivity
  state on the main thread
- OfflineBannerView: yellow banner shown when device is offline
- Model types: BrowserMessage (custom Decodable), ServerStatus,
  PartialServerStatus, AlertStatus, ApiResponse
- Minimal project scaffold (project.yml, ServerBeeApp, Assets)

Builds successfully with xcodegen + xcodebuild on iOS Simulator.
#72)

Implement Unit 2 of the iOS companion app: networking and authentication
infrastructure.

- KeychainService: generic Security.framework wrapper for token/user persistence
- InstallationID: stable UUID persisted in Keychain across reinstalls
- AuthManager: @observable auth state with Keychain restore and token refresh
- APIClient: actor-based HTTP client with automatic 401 retry and coalesced
  token refresh
- Model types: MobileUser, MobileTokenResponse, ApiResponse, auth request DTOs
- Minimal app shell (ServerBeeApp, project.yml, Info.plist) for build verification

Targets iOS 17+, Swift 6.0 strict concurrency. Builds with zero warnings.
…ttleBee/ServerBee into dhaka

# Conflicts:
#	apps/ios/ServerBee/Info.plist
#	apps/ios/project.yml
@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
server-bee-docs Ready Ready Preview, Comment Mar 28, 2026 5:34pm

# Conflicts:
#	apps/ios/ServerBee/Assets.xcassets/AccentColor.colorset/Contents.json
#	apps/ios/ServerBee/Info.plist
#	apps/ios/ServerBee/Models/APIModels.swift
#	apps/ios/ServerBee/Models/AlertModels.swift
#	apps/ios/ServerBee/Models/AuthModels.swift
#	apps/ios/ServerBee/Models/ServerStatus.swift
#	apps/ios/ServerBee/Models/WebSocketModels.swift
#	apps/ios/ServerBee/ServerBeeApp.swift
#	apps/ios/project.yml
@ZingerLittleBee ZingerLittleBee merged commit a03cf69 into main Mar 28, 2026
9 checks passed
@ZingerLittleBee ZingerLittleBee deleted the dhaka branch March 28, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant