Skip to content

Releases: mishan/gtkhx

1.4.1b2

1.4.1b2 Pre-release
Pre-release

Choose a tag to compare

@mishan mishan released this 05 Oct 06:30
9192ff6

Changes since 1.4.1b1. Flatpak users can now install from GtkHx's own repository, which keeps them updated:

flatpak install --user https://dl.gtkhx.org/gtkhx-beta.flatpakref

Files

  • Downloading a folder that holds files of 4 GB or more no longer fails partway
  • File names in non-Roman scripts, such as Japanese, no longer go missing from file listings

Voice and Video

  • Cameras you plug in or unplug show up right away, in Settings and on the camera button
  • A chosen camera that isn't plugged in stays chosen in Settings, marked as missing
  • Chat says when someone in your voice room turns their camera on or starts sharing their screen
  • No video is downloaded while the window is minimized
  • On a metered connection you receive one video at a time, and click another to switch; Settings → Voice can turn this off
  • Video no longer sometimes stays blank, or fails to start, after someone turns their camera on
  • Screen readers can now name the camera and screen-share buttons and the users list's video icon
  • Join and leave sounds are right again after switching voice rooms

Chat

  • Load Older no longer gets stuck on "Loading…" when the server turns it down
  • A private chat you closed no longer reopens when the server answers late
  • Names with accented characters no longer show "is now known as" at every status change
  • Server broadcasts show accented characters correctly

News

  • Accented characters in threaded news show correctly: folder and category names, subjects, authors and posts
  • A news folder, category or article the server refuses no longer stays stuck loading; you can try again
  • Posting into a category, or making one inside a folder, with an accented name works on more servers
  • Loading and posting news no longer flashes by in the Tasks list

Hotline Protocol

  • HOPE secure logins now compress the connection with the Compression setting's choice (GZIP, LZ4 or ZSTD) when the server supports it
  • Closing a server's agreement window now declines it, like the Disagree button
  • An empty server agreement no longer opens an empty window
  • Older servers that refuse GtkHx's once-a-minute check that the connection is alive no longer cause an error each time
  • Sending a message, loading the user list and fetching chat history no longer appear in the Tasks list

Updates

  • The Flatpak tells you when a new version is out, and can update and restart into it; Settings → General can turn this off
  • Windows, macOS and Flatpak test builds show their real version, such as 1.4.1b2, in About instead of 1.4.1-dev

Code Modernization

  • HOPE secure login and its ciphers moved to hx-libs, the Hotline library GtkHx shares with hxd-ng and hx-ng

Translations

  • The Flatpak download now includes the translations

Full Changelog: v1.4.1b1...v1.4.1b2

1.4.1b1

1.4.1b1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 01:20
d44c0b7

Files

  • Large folders open several times faster, and sorting by name is faster too
  • Renaming in place now replaces the name instead of adding to it
  • Moving a file and renaming it in one step no longer leaves it under its old name
  • Get Info can save just a comment on Janus servers
  • The right-click menu's last items are no longer cut off
  • Local folders no longer show "(4096 items)" as their size
  • Very long folder names no longer break the path sent to the server

Docking

  • A new dock, built on mullion-gtk in place of libpanel; your layout carries over
  • A pane's tabs sit in its top corner as icons, in sight where the pane has room for them and otherwise while you are in the pane; Pane Titles puts tab strips with titles back
  • Drag a tab onto another pane's tabs, onto a pane, or onto an edge to split it
  • Drag a tab out of the window to give it a window of its own, and back to dock it
  • Reset Layout puts the default layout back at once, rather than at the next launch
  • Alt with the arrows moves between panes, and with Shift moves the pane; Alt+Enter zooms one to fill the window
  • A pane closes when its last panel is moved out or closed
  • A panel's toolbar button and menu item always bring it back after it was undocked

Voice and Video

  • Changing the microphone, speaker or camera in Settings now switches a call in progress
  • Video tiles fill the panel, each at its stream's shape, instead of fixed-height strips
  • Click a tile to bring it into focus at the top of the panel; click it again to show everyone alike
  • Each tile has controls to focus, mute, or stop watching someone, and you can watch them again from the bar below
  • The users list shows who has a camera or screen share on, even when GtkHx can't play video

Chat

  • Chat history shows line breaks and accented characters correctly
  • Very long scrollbacks stay fast as new messages arrive and while scrolling
  • Nickname completion is faster on busy servers
  • A link whose text isn't its address shows the real address before opening it, and every link shows its address on hover
  • Email addresses are links again
  • Dismissing a selection with a click no longer also opens the link under it
  • Chat settings now reach every connection, not just the one in focus
  • Settings → Chat can turn off opening links with a single click

Hotline Protocol

  • A rejected login now shows the server's own message
  • Fixed HOPE-encrypted connections misreading a message split across frames
  • No more error at every login on servers that refuse your saved GIF icon
  • Sending text is faster on servers without Unicode
  • GtkHx now tells servers it is GtkHx (client version 254) instead of the Hotline 1.8.5 client

Code Modernization

  • The file browser is now Rust
  • GtkHx now reads tracker listings with code shared with the hxd-ng server
  • The chat view is now Rotulus, a standalone GTK 4 widget published on crates.io
  • Moved to gtk-rs 0.22; building now needs Rust 1.92

Development

  • Performance benchmarks, from single functions up to the running app
  • End-to-end tests of GtkHx's own file requests against real servers
  • The test servers now include hlservd, the Hotline 1.9 server
  • A reference guide to the Hotline protocol and its extensions

Translations

  • The Local / Remote selector in the file browser is now translated

Full Changelog: v1.4.0...v1.4.1b1

1.4.0

Choose a tag to compare

@mishan mishan released this 26 Sep 04:44
c236e24
  • Video
    • Video chat and screen sharing, on servers that support it
    • A dockable Video panel shows everyone's camera and screen, plus your own preview
    • Choose a camera in Settings → Voice
    • Camera tiles keep the same order, by user, instead of shuffling between calls
  • Voice
    • Fixed occasional audio problems after joining or rejoining voice
  • Themes and Icons
    • Themes now color the whole window, not just the chat
    • Richer chat colors, and each nickname keeps its own color
    • New icons that match the desktop and follow the theme's colors
    • The original pixel-art icons live on in the new Classic theme
    • New Neon Doll theme
    • Settings → General can keep the system's window colors around a themed chat
  • Files
    • The file browser is now its own window, one per connection
    • Clearer layout, with labeled Download and Upload buttons
    • Right-click a file for Open, Preview, Get Info, Rename, Delete and more
  • User Interface
    • Slimmer window chrome, so chat gets much more of the window
    • The server banner and connection status now sit in the header bar
    • The status bar is gone, and the toolbar is optional (off by default)
    • Pane titles and action bars can be hidden
    • Chat tabs stay hidden until there is a second conversation
    • Settings opens with Ctrl+,
  • Hotline Protocol
    • Fixed file transfers with Windows clients and servers
  • macOS
    • GtkHx now asks for camera and microphone access
    • Fixed a crash on macOS versions too old to run GtkHx
  • Code Modernization
    • GtkHx now shares its Hotline protocol code with the hxd-ng server
  • Translations
    • Translated the new strings

1.4.0b1

1.4.0b1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 16:45
2818688

What's Changed

  • release: name the macOS artifacts by architecture, not by runner by @mishan in #644
  • release: split snapshot and release into separate workflows by @mishan in #645
  • ci: drop the build-output caches from the release path by @mishan in #646
  • macos: declare the minimum OS the bundle actually needs by @mishan in #647
  • Consume shared hxproto from hx-libs by @mishan in #650
  • Take the protocol C ABI back from hxproto into gtkhx-proto-ffi by @mishan in #651
  • Vendor git dependencies into the Flatpak build by @mishan in #652
  • Consume shared file transfer codecs by @mishan in #653
  • Consume shared HFS sidecar codecs by @mishan in #654
  • Relink binaries when only Rust changed by @mishan in #658
  • Slim the window chrome: header banner, pane controls, optional bars by @mishan in #657
  • Files: a window per connection, with a clearer two-panel layout by @mishan in #659
  • Add video chat and screen sharing over the voice session by @mishan in #656
  • Prepare the tree for 1.4.0: metadata, changelog, translations, docs by @mishan in #661
  • Harden video: portal hangs, a closed panel's stream, refused requests by @mishan in #662
  • Reach the camera through the Camera portal inside the Flatpak by @mishan in #663
  • Gate the Camera portal's remote to Unix, fixing the Windows build by @mishan in #664
  • Fix macOS bundle.sh parse error under bash 3.2 by @mishan in #665

Full Changelog: v1.3.2...v1.4.0b1

1.3.2

Choose a tag to compare

@mishan mishan released this 05 Sep 05:00
  • Fixed issue with Linux Flatpak and bundled library paths
  • News Browser
    • Fixed double load issue
    • Fixed a bug that prevented users from creating a new folder

1.3.1

Choose a tag to compare

@mishan mishan released this 06 Aug 20:09
  • Build
    • Bundle fonts and translations for macOS and Windows packages
  • Connections
    • Include some more servers for new users
  • User Interface
    • Fix chat scroll bug

1.3.0

Choose a tag to compare

@mishan mishan released this 04 Aug 22:41
  • Connections (formerly Bookmarks)
    • Bookmarks are now Settings → Connections; the separate Bookmarks window is gone
    • Each connection can override your nickname and icon for that server, or
      inherit the defaults from Settings → Identity
    • Bookmarks are now kept in a single TOML file
    • Legacy bookmark files are imported if the TOML file does not exist
    • Connections can be exported to legacy Hotline bookmark files
    • Built-in bookmarks can now be deleted
  • Build
    • GtkHx is now available for macOS and Windows
  • Code Modernization
    • GtkHx is now mostly Rust code
  • Config
    • The settings file (gtkhxrc) is now gtkhx.toml
    • GtkHx will migrate the old gtkhxrc if one is present and no gtkhx.toml exists
    • Fixed bugs in preferences along the way
  • Hotline Protocol
    • Fixed old bug with resumable file transfers
    • Ensure that multi-byte names > 32 bytes get truncated at a character boundary
  • Multiple Connections
    • Users may now be connected to more than one server at a time, and switch between connections with tabs
  • Sound
    • Replaced libcanberra with rodio for notification sound playback
  • Translations
    • Updated existing translations
    • Added Japanese translations
  • User Interface
    • Button icons now default to their original size, rather than upscaled
    • Brand new hxchat widget for Chat (replaces forked version of HexChat's xtext)
      • Significantly better performance
      • Markdown support (toggleable)
      • Icon display next to speaker (toggleable)
      • Speaker grouping, so doesn't have to keep appearing on every consecutive line
      • Right clicking on a speaker's name or icon will now pop up a "user" popup menu
      • Chat history can be searched via Ctrl-F
    • Ctrl-U now works to clear any input in the app
    • [Enter] in the Connect dialog now connects
    • Handle character conversion on user list and user info
    • Closed panels/windows will not reopen on startup
    • Docking a window will now highlight the pane that is being targeted
    • Panel foreground state is now persisted

1.3.0b7

1.3.0b7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Aug 07:16
069d037
  • Now Rustier than ever!
  • Fixed chatpost click sound
  • Multiple connections
  • Preferences migrated to gtkhx.toml
  • Updated translations
  • Added Japanese translations
  • Bug fixes
  • Dock fixes

1.3.0b6

1.3.0b6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Jul 19:15
  • Hotline Protocol
    • Fixed old bug with resumable file transfers
  • User Interface
    • Brand new hxchat widget for Chat (replaces forked version of HexChat's xtext)
      • Significantly better performance
      • Markdown support (toggleable)
      • Icon display next to speaker (toggleable)
      • Speaker grouping, so doesn't have to keep appearing on every consecutive line
      • Right clicking on a speaker's name or icon will now pop up a "user" popup menu
      • Chat history can be searched via Ctrl-F
    • Ctrl-U now works to clear any input in the app
    • [Enter] in the Connect dialog now connects

1.2.2

Choose a tag to compare

@mishan mishan released this 07 Jul 06:25
  • Voice
    • Voice activity detection for self
    • Volume control slider for each individual
    • Sounds for join / leave events
    • Update to follow latest version of the voice chat spec
  • Code Modernization
    • Parts of GtkHx's UI are now written in Rust