/seminar-prose-app-macos

Prose macOS application. XMPP client for team messaging.

Primary LanguageSwiftMozilla Public License 2.0MPL-2.0

prose-app-macos

Prose macOS application. Built in Swift / SwiftUI.

Copyright 2022, Prose Foundation - Released under the Mozilla Public License 2.0.

Tested at Swift version: 5.5.2 and Xcode version: 13.2.

Architecture

The Prose macOS app consists mostly of SwiftUI views, bound to core libraries, the client and the views, that are common to all platforms Prose runs on.

The app uses the core client library to connect to XMPP. It calls programmatic methods in order to interact with its internal database and the network. It binds as well to an event bus to receive network events, or update events from the store. Messages are shown in their own view, which is provided by the core views library.

This decoupling makes things extremely clean, and enables common code sharing between platforms (eg. macOS, iOS, etc.).

Design

Prose login screen

Prose main view

👉 The Prose macOS app reference design can be found there.

License

Licensing information can be found in the LICENSE.md document.

🔥 Report A Vulnerability

If you find a vulnerability in any Prose system, you are more than welcome to report it directly to Prose Security by sending an encrypted email to security@prose.org. Do not report vulnerabilities in public GitHub issues, as they may be exploited by malicious people to target production systems running an unpatched version.

⚠️ You must encrypt your email using Prose Security GPG public key: 🔑57A5B260.pub.asc.