Skip to content

Ghostly 1.7.2

Choose a tag to compare

@github-actions github-actions released this 31 Oct 07:47
· 1890 commits to dev since this release
27a306c

Ghostly 1.7.2 is a patch for 1.7 with two CLI security fixes, adding a device that now works without a direct connection between two browsers, and lighter chats, voice messages and file transfers.

Security

  • CLI: ghostly listen --webhook names the bridge by its origin only on stderr, so a token in the webhook's path or query no longer reaches logs.
  • CLI: what the CLI prints writes C1 control characters and bidi controls from a message as \uXXXX, so a contact's text cannot act on the terminal reading chat history or listen. The JSON value is unchanged.

Fixed

  • Devices: adding a device between two web apps whose direct connection never opens now goes on over Iroh's relay after 20 seconds, and the two stay linked the same way. Before, it stopped on "Connecting" until the code ran out. It is enough that one of the two devices is updated.
  • Devices: moving a profile goes on from where it was when the connection blinks during the last copy, and a phone taking a large profile needs less memory.
  • Chat: a contact's reaction to a message that hasn't reached you yet is no longer lost if the app stops first; Delete for everyone says why when it is refused; a chat leaving DHT only goes live even when the relay budget has just run out.
  • Wallets: Max on a Lightning address leaves room for the fee; a refused payment's error no longer stays after Cancel or Back; Later on the backup reminder says when it is refused; the keyboard focus stays in place after Back and Done; "1 new sat" and "the mint kept 1" read right.
  • Calls: on Linux, logging out or shutting down during a call hangs it up for your contact at once.
  • Apps: on Desktop, an app whose window is behind another program can no longer bring Ghostly to the front by asking for files.
  • Languages: in Spanish, French and Italian, Settings has one name everywhere.
  • Website: a page printed or saved as PDF shows all of its text, and a phone's first 10 seconds are much lighter.

Faster

  • Voice and files: recording, listening back to a paused recording and a moving file's progress bar no longer lay the page out at every frame.
  • Chats: with many chats, relay reads and held-back publishes take much less of an idle app's work; files sent through hold storage no longer slow the app down one by one.
  • Desktop: with translation on, the first chat no longer freezes the app for half a second.
  • Web: the web app no longer downloads the Desktop app's language detector (about 850 KB).

For developers

  • CLI: service open --port is a usage error (exit 2) when the port is out of range or not whole, and answers busy when the port is in use or the service is open on another port. service add refuses a target on port 0.
  • CLI: identity add --days and --timeout, typing --kind, and send --button styles and ids out of range are usage errors that name the flag, before the profile opens. The identity.add API takes whole days only.
  • CLI: wallet redeem - reads the Cashu token from stdin. --translate says at once that this build cannot translate.
  • CLI: the JSON output writes DEL, C1 controls, U+2028, U+2029 and bidi controls as \uXXXX. It parses to the same value; a reader that compares raw bytes sees the escapes.
  • Apps: on Desktop, ghostly.files.serve(id) looks up the one file it serves.

Thanks

Thanks to @brunotenisi (#3994) for the report in this release.

The full list is in the changelog.