Skip to content

Parley 1.8.0

Choose a tag to compare

@cuza cuza released this 24 Oct 11:00
· 23 commits to main since this release

Undo

  • Edit ▸ Undo (⌘Z) and Redo (⇧⌘Z) work for quick changes: pinning, muting, hiding, marking as read or unread, notification levels, starring, pinning to a space's board, following a thread, and renaming or moving a sidebar section. Undo sends the opposite change to Google Chat. A change Google refuses leaves nothing to undo.
  • Undo in the message field takes back typing. Once the typing is undone, Undo goes on to the last quick change. A sent message or another conversation's draft never comes back with Undo.

Composer

  • Insert from iPhone (Continuity Camera) in the message field's menu takes a photo, scan or sketch with an iPhone or iPad and adds it to the draft as an attachment.
  • The message field's menu no longer offers Layout Orientation. Vertical text broke the composer's layout.

Navigation

  • A mouse's back and forward buttons now go back and forward when mouse software such as Logi Options+ handles them. A three-finger trackpad swipe does the same when it's set to swipe between pages.

Sharing

  • Share… in a message's menu shares its Google Chat link through the share sheet, with Mail, Messages, AirDrop and the rest. On an attachment, Share… shares the file, downloading it when a service asks for it.

Apps

  • An app's dialog opens over the conversation's own window when the conversation has one, instead of over the main window.

Focus

  • A Focus can turn on Google Chat's Do Not Disturb or set a status while it's on. Add Parley's filter under System Settings ▸ Focus ▸ a Focus ▸ Focus Filters. When the Focus ends, Parley takes back what the filter set.

Siri

  • On macOS 27, Siri with Apple Intelligence can send or start a message in Parley in plain words, such as "send a message to Maria in Parley asking if lunch is still on". Siri shows the message and asks before it sends. Siri can also mark a message as read or unread, and edit or delete one of yours after asking, including "this message" on screen or in a notification.

Under the hood

  • Parley's code is reorganized into Clean Architecture's layers. The models, the Google Chat client, the app's state and each feature's views each have their own place.
  • The models and the Google Chat client are modules of a local Swift package, so the compiler keeps them from reaching into the app.
  • The app's state is split into one model per area, such as navigation, conversations, drafts and presence, instead of one large store.
  • Ids are typed, so a message's id can't be passed where a conversation's belongs.
  • Tests compared the app's state and layouts before and after each step, so the reorganization keeps Parley working as before. Unused code is gone.
  • swift-format formats the code and SwiftLint checks it before each commit. GitHub Actions checks both and runs the unit tests on every push.