Telegram Amiga 0.0.91: photo captions and GUI

Telegram Amiga alpha 0.0.91 was released on August 27, 2026 for AmigaOS 3.x, AmigaOS 4.x, MorphOS, AROS i386 and AROS x86_64. It is the first refinement release after 0.0.9’s inline photos: instead of adding another oversized subsystem, it makes the existing features more coherent and closes problems that appear only when the client is used on real machines.

The most practical change is photo sending. Version 0.0.9 already introduced native JPEG photo uploads; 0.0.91 now puts the decision behind a dedicated dialog showing the file name and size, a caption field and three explicit actions: Photo, File and Cancel. Enter confirms, Escape cancels, and text already in the composer is not removed until the upload starts. That sounds like a small UI detail, but it prevents one of the most avoidable ways for a client to lose user work.

Telegram Amiga remains a native MTProto client written in C, with an Intuition/GadTools GUI and a TUI sharing the same engine. It is not a web wrapper and not a recompiled Telegram Desktop: the project implements the Telegram protocol from the ground up while keeping one portable base across five Amiga-family platforms with different runtimes, ABIs, graphics paths and hardware limits.

Photo sending now has an explicit decision

When a JPEG is selected from the GUI, the requester or a Workbench drop, the client now opens a proper send-photo dialog. It shows the file name and size and carries the text already being composed into the caption field. The user can then send the content as a photo, send it as a document or cancel the operation.

The same surface handles all three entry points: the menu, the file requester and Workbench drop. The caption travels in the messages.sendMedia field; conversion from the platform charset to UTF-8 preserves accented text as well.

The large-file boundary remains explicit: above 10 MiB, the JPEG uses the document fallback. The caption survives there too. In the text client, the syntax is /photo <path> , with everything after the path becoming the image caption.

Cancel matters as much as the other two choices. The file is untouched, the draft remains in the composer and no accidental upload begins. The client protects the user’s intent before doing something that is difficult to undo.

A more readable conversation

The GUI now groups consecutive messages from the same sender. The name appears once at the beginning of the run, in the style of modern desktop clients. This makes busy conversations easier to scan and saves vertical space on small windows.

The open chat header now shows the peer avatar next to the name. It follows the sidebar row’s drawing: a real photo when available, coloured initials as fallback. The practical benefit is immediate: the header answers “which chat am I in?” without making the eye search the selected row in the sidebar.

The rest of the desktop chrome has been aligned as well. Avatars and unread badges become circles and pills, the jump-to-newest control is a disc and message bubbles receive clipped corners. Screens that can provide exact pens get a one-pixel blend ring; constrained palettes keep crisp edges rather than pretending to have anti-aliasing they cannot actually display.

Fixes born from real use

A particularly useful group of fixes concerns text inside graphical elements. The caret, reply strip, unread counters and avatar initials all relied on a baseline approximated from line height. Taller fonts made the error obvious, especially on MorphOS. Version 0.0.91 derives the position from the actual font metrics and aligns all four cases with the same logic.

The photo cache is also more honest when something goes wrong. If an entry appears to be written but the file disappears immediately afterwards, the client reports the failure instead of fetching it again on every repaint forever. A full or tired volume no longer becomes an invisible request loop.

On a plain 68000, the initial chat-list bootstrap now pauses briefly between download rounds. This gives a PCMCIA network card room to breathe instead of allowing a continuous request burst to monopolise the machine. The project treats CPU time and network-stack time as real resources, not abstract numbers.

Smaller packages, tests where they belong

Offline self-tests are now compiled out of the distributed binaries on all five Amiga lanes. CI still runs them on the host build, while field diagnostics remain available in the release binaries. The changelog reports a size reduction of roughly 15 percent: about 110 KB on AmigaOS 3, 136 KB on MorphOS, 178 KB on AmigaOS 4 and 128 KB on AROS.

That separation makes sense for software moving across floppy disks, slow drives, emulators and memory-constrained systems. A full offline test suite is valuable during development, but should not permanently weigh down every user’s binary. If a stripped build is asked to run a self-test, it says clearly that the test section is not present.

0.0.91 on the road to beta

The roadmap does not present 0.0.91 as “almost beta”. It is the first step in the 0.0.9x series, whose purpose is to put new features in front of real machines and restart the validation cycle after each release. Version 0.1.0 will not arrive simply because the calendar says so: it requires a quiet cycle, no known freeze on the five targets, an adversarial review and up-to-date documentation.

The next block is planned as 0.0.92 and focuses on incoming content: parsing messageMediaWebPage to show a page title or site name and a first description line, feeding an attached preview photo into the existing pipeline and, if the cycle allows, handling late updateWebPage updates. The roadmap is clear about the limits: previews depend on metadata Telegram can build; a page without useful metadata remains just a link.

0.0.93 is about sending: an emoji picker and support for images other than JPEG, starting with PNG. The upload path is already conceptually format-agnostic; the work is recognition, validation and readable handling of Telegram’s errors. IFF ILBM comes later, and is especially relevant on Amiga, but it cannot be sent directly as a Telegram photo: the client would need a small internal PNG writer.

0.0.94 is reserved for speed and open defects: measuring the transfer bottleneck, two MorphOS popup issues, photo speed under AfA_OS and two-step verification on slow 68k hardware. The plain-68000 crash hunt remains on its own rhythm because it depends on field logs, while emoji drawn inside the transcript stays late because the renderer is exactly where AfA_OS has already proved sensitive.

Official downloads

For the Amiga community, Aminet is the primary download channel: it is the historic, natural catalogue for finding Amiga software directly inside the ecosystem. The five official 0.0.91 packages are available here:

As the parallel distribution channel and the technical reference for source code and prereleases, the same builds are also available on GitHub:

The official repository contains the source, README, CHANGELOG and roadmap. For the previous milestone, see the 0.0.9 inline-photo article and the Telegram Amiga development diary.

What changes in practice

Version 0.0.91 does not change the project’s promise; it makes that promise more credible. The photo dialog protects the user’s draft and carries captions through both the native-photo path and the document fallback. Sender grouping, the header avatar and rounded chrome make the GUI feel less like a collection of primitives and more like a coherent client. Cache, font-baseline, event-loop and 68000 fixes address the terrain where bugs do not appear in a demo but arrive reliably on real hardware.

The most important part may be the roadmap discipline. 0.0.92, 0.0.93 and 0.0.94 have explicit boundaries; 0.1.0 adds no features, but requires a verified quiet cycle. For a native MTProto client on Amiga hardware, that is more serious than chasing an endless checklist. First the system must stop surprising its users. Then it can earn the name beta.

In short

  • Telegram Amiga alpha 0.0.91 is available from August 27, 2026 for five Amiga-family targets.
  • New photo-send dialog with file name, size, caption and Photo, File and Cancel actions.
  • UTF-8 captions work for native photos and the document fallback above 10 MiB; TUI: /photo <path> .
  • Chat-header avatar, consecutive-sender grouping and rounded GUI chrome.
  • Corrected alignment for the caret, reply strip, unread badge and avatar initials using real font metrics.
  • More reliable photo-cache failure reporting and gentler plain-68000 chat-list bootstrapping.
  • Offline self-tests are removed from release packages to reduce binary size; CI still runs them on the host and field diagnostics remain available.
  • Roadmap: link previews and incoming media in 0.0.92, emoji/PNG in 0.0.93, speed and open defects in 0.0.94, then the 0.1.0 beta gate.
  • Official downloads: GitHub Releases.

Sources and materials

AUTHOR

IT specialist, developer and systems engineer with a long history across code, Linux servers, retrocomputers and e-learning platforms. On AndroidLab he brings a technical, pragmatic eye: less brochure smoke, more attention to infrastructure, usability, privacy, updates and the real consequences of manufacturers' choices.

Leave a Comment