Telegram Amiga alpha 0.0.9 è disponibile dal 7 agosto 2026 per AmigaOS 3.x, AmigaOS 4.x, MorphOS, AROS i386 e AROS x86_64. È la release in cui il client comincia a vedere le foto: le riceve inline, le mostra in un viewer dedicato, le salva su disco, le invia come JPEG nativi e le inoltra ad altre chat. Non è più soltanto testo e file: Telegram Amiga inizia a essere un client che gestisce contenuti visivi su macchine per cui la grafica a 256 colori è già un lusso.
Il percorso 0.0.9 è stato il più impegnativo finora. Ogni foto che entra in una bolla della GUI attraversa sei fasi: ricezione del thumbnail stripped, fetch di un JPEG bounded, decode progressivo in tre passaggi di qualità, dithering su palette, cache canonica RGB888 e redisplay senza ritoccare il decode. Il tutto senza bloccare la GUI, su CPU che vanno dal 68020 a 14 MHz fino a PowerPC G4 e core x86_64 moderni, con schermi che vanno dall’AGA a 16 colori fino a RTG true color.
Il progetto resta un client MTProto nativo in C, con GUI Intuition/GadTools e TUI sullo stesso motore. Non è un wrapper web, non è un porting di Telegram Desktop: è codice che implementa il protocollo Telegram dal basso su cinque piattaforme Amiga-family con runtime, ABI e limiti hardware molto diversi tra loro.
Foto inline: il momento in cui una bolla diventa immagine
La novità visuale più importante è l’arrivo delle foto inline. Quando una chat riceve una foto, il client non si ferma più a un’etichetta [Photo]: scarica un thumbnail bounded da Telegram, lo decodifica con il decoder JPEG embedded (lo stesso già usato per gli avatar e per la cache delle foto), lo adatta alla larghezza della bolla e lo mostra nella cronologia. Il tutto senza usare datatype di sistema: il decoder è nel binario, zero installazioni aggiuntive.
La pipeline è studiata per non occupare la macchina più del necessario. Appena arriva la foto, Telegram Amiga usa il thumbnail stripped già incorporato nel messaggio Telegram come anteprima sfocata istantanea. Poi, nei cicli di idle, scarica un JPEG bounded (scelto per ogni piattaforma: circa 800 pixel su non-68k, più piccolo sui target 68k) e lo decodifica in tre passaggi di qualità: un’immagine 1/8 grossolana appare subito, poi viene sostituita atomicamente da 1/4 e infine dal dettaglio completo. Input, scroll e resize hanno priorità: se l’utente interagisce, il decode si ferma e riprende dopo.
Il risultato finale viene tenuto in una cache canonica RGB888 versione su disco, accanto al JPEG originale. Riaprendo una chat già vista, le foto vengono caricate dalla cache RGB888 in chunk bounded senza decodificare di nuovo il JPEG. Se la cache è corrotta o obsoleta, viene scartata e ricostruita automaticamente.
La pipeline sotto vincolo: budget misurati e priorità esplicite
Il decoding delle foto e la lettura della cache canonica non usano più una stima fissa legata alla famiglia di CPU. Ogni fase misura il tempo reale di esecuzione: le macchine 68k lente conservano un pavimento conservativo, mentre gli acceleratori 68k veloci possono salire fino a circa 120 ms di budget di lavoro prima di cedere il controllo. JPEG decode, cache read e photo replay hanno budget misurati indipendenti, così un palette mapping lento non blocca più il decode entropy su sistemi accelerati, e la diagnostica identifica il centro di costo per ogni regolazione di pacing.
Il decode segue il viewport visibile. La foto più in alto nella finestra viene avanzata per prima, i decoder parziali fuori schermo aspettano, e i periodi di idle usano fette più grandi senza prendere priorità sugli eventi GUI in coda. La cache canonica tiene quattro slot su 68k e sei su target più ampi, con LRU vero che non sfratta le foto attive o visibili: una terza immagine visibile non fa più sparire una foto vista prima.
Su AmigaOS 3 con schermo RTG, i pixel RGB888 vengono inviati direttamente al driver cybergraphics. Su AGA e sistemi senza CyberGraphX validato, resta il renderer a pen-grid con zero dipendenze, che usa dithering ordinato per simulare il colore sulle palette ridotte. MorphOS RTG usa il percorso RGB888, ma in caso di driver incompatibile torna al pen-grid collaudato. Il self-check del bitmap di destinazione evita di lasciare foto grigie su driver che non sanno riprodurre RGB888.
Viewer e salvataggio foto
Cliccando una foto (anche l’etichetta [Photo] se le foto inline sono disattivate) si apre un viewer a dimensione fissa riutilizzabile. Il viewer richiede un JPEG più grande bounded e lo rivela progressivamente, con una propria cache -l.jpg su disco. Il tasto S nel viewer salva la foto originale tramite requester, selezionando il miglior JPEG in cache o scaricandone uno on demand.
Dal menu contestuale della bolla, Save photo as... fa la stessa operazione. Il salvataggio chiede conferma prima di sovrascrivere un file esistente, e funziona sia con le foto inline visibili che con le etichette [Photo] quando le foto sono disattivate.
Impostazioni cache foto
Il menu Telegram ora ha una sezione Settings che raggruppa le preferenze persistenti: download drawer, foto inline, Photo dithering (Full, Light, Off) e Photo cache limit (10, 50, 200 MiB o Unlimited, default 50 MiB). Il client cataloga photos/ incrementalmente durante l’idle, elimina i file più vecchi senza toccare le foto attualmente visibili e non interfere mai con la cache separata degli avatar.
Il toggle Inline photos è persistente. Su AmigaOS 3, il valore di primo avvio viene scelto automaticamente dallo schermo attivo e dalla CPU: si avvia disattivato senza RTG o sotto 68040. Questo valore automatico non viene mai scritto su disco, quindi un upgrade hardware viene rilevato; una scelta esplicita dell’utente rimane persistente in entrambe le direzioni.
Inviare foto: GUI, Workbench e TUI
I file JPEG possono ora essere inviati come foto Telegram native. Dalla GUI, il requester del drop JPEG offre tre opzioni: Photo, File e Cancel. Il pump di upload non bloccante già collaudato viene riutilizzato; le foto sopra 10 MiB vengono inviate come documenti con feedback di stato esplicito.
Il drop dal Workbench sulla finestra della chat aperta funziona allo stesso modo, con il requester di scelta Photo/File/Cancel. La TUI offre il comando /photo <path> per l’invio diretto.
Inoltro: verso Messaggi Salvati e verso altre chat
La 0.0.9 aggiunge l’inoltro dei messaggi. Dal menu contestuale della GUI, un messaggio può essere inoltrato a Messaggi Salvati (il proprio cloud Telegram) oppure, tramite Forward to..., a un’altra chat usando la ricerca locale come selettore di destinazione, inclusi browse e risultati online.
La TUI offre /forward per l’ultimo messaggio, /forward <id> per un ID Telegram esplicito, e /forwardto <chat-number> [message-id] per l’inoltro peer-to-peer. L’operazione usa il metodo messages.forwardMessages del layer-214 e riporta gli errori RPC per nome.
Chat nascoste nella ricerca locale
Le chat nascoste (rimosse dalla sidebar dall’utente) ora restano nella cache locale dei peer. Non appaiono nella sidebar normale, ma compaiono immediatamente nella ricerca locale con un indicatore (hidden) e tornano nella sidebar quando vengono aperte, senza bisogno di ricerca online o ricaricamento della cache.
Lavoro sulle piattaforme: RTG, MorphOS, AfA_OS e resize
AmigaOS 3 rileva cybergraphics.library a runtime e invia le righe RGB888 delle foto direttamente agli schermi RTG true color. Colori più ricchi e zero overhead di palette. Su AGA e sistemi senza CyberGraphX validato, il renderer pen-grid resta il percorso di default.
MorphOS ha ricevuto un’attenzione specifica per le foto. Le foto su schermi RTG MorphOS venivano tenute in RGB888 ma diventavano grigie su alcuni driver: la 0.0.9 usa il renderer pen-grid collaudato anche su MorphOS, con un self-check del bitmap di destinazione che fa scattare il fallback per l’intera sessione quando il driver non riproduce RGB888 in modo affidabile.
Su AfA_OS, il renderer di compatibilità ora compone run di font bitmap completi in memoria e invia un BltTemplate per run invece di uno per glifo. Il testo nativo sui sistemi senza AfA_OS resta invariato.
Il resize live ora dipinge solo lo sfondo della finestra durante le dimensioni intermedie. Su AfA_OS, alla prima notifica di resize viene anche pulita l’area client corrente, così lo stretch opaco del sistema disegna solo sfondo bianco; il frame completo viene ricostruito al rilascio. La diagnostica crash-safe segna inizio resize, rebuild, repaint e fine senza cambiare il layout finale.
Le correzioni: dal TUI ai log, dagli stack ai JPEG
La release corregge molti problemi che emergono solo quando il client viene usato davvero su hardware vario. La TUI ora va a capo con word-wrapping sui messaggi lunghi e console strette, con righe di continuazione indentate e il compositore che cresce da una a tre righe prima di tornare alla vista bounded. I crossing di soglia del compositore ridipingono solo la riga del separatore e le righe del compositore, non l’intera finestra.
I file temporanei di log quieto non sporcano più la program drawer: vivono in T: e vengono puliti all’avvio e all’uscita. I lanci da shell portano lo stesso contratto di stack minimo 1 MiB delle icone Workbench; AROS inoltre scambia con uno stack privato sicuro quando il launcher ne fornisce meno, mentre OS3 e OS4 rifiutano i bounds non sicuri.
La selezione della sorgente JPEG preferisce ora le dimensioni baseline supportate dal decoder embedded. Se una dimensione scaricata viene rifiutata, il client riprova una dimensione baseline più piccola non ancora provata, invece di rifiutare l’intera foto per il resto della sessione. Gli upscale finali di qualità derivano coordinate fixed-point senza overflow a 32 bit, prevenendo righe o tile ripetuti quando il frame dettagliato sostituisce l’anteprima stripped.
I documenti con didascalia ora mantengono la didascalia e appendono l’etichetta del file scaricabile su una nuova riga, invece di nascondere il nome dell’allegato. Il requester del drop JPEG offre Photo, File e Cancel come azioni distinte; Cancel e il tasto Escape lasciano il file intatto.
La cache di download delle foto inline non rimane più permanentemente soppressa dopo un errore di rete, datacenter o filesystem transitorio. La diagnostica live opt-in identifica ogni fase di fetch e render senza loggare il contenuto della chat. Le foto MorphOS non rimangono più grigie: usano il pen-grid collaudato invece del percorso RGB888 che poteva lasciarle tali.
Fetch, decode e replay parziale delle foto rimangono sospesi per l’intero ciclo di resize. Un placeholder stabile viene costruito prima, e le immagini in cache vengono ripristinate al prossimo paint idle, evitando accessi al buffer durante la riallocazione.
Download ufficiali: GitHub e Aminet
Gli archivi GitHub contengono entrambi i client GUI e TUI, icone, manuali IT/EN, il file API pubblico e il CHANGELOG. Non contengono sessioni Telegram, token personali o altri file privati. Aminet offre i pacchetti 0.0.9 nelle cinque pagine ufficiali.
- AmigaOS 3.x alpha 0.0.9, build m68k per 68020 o superiore; pacchetto Aminet m68k;
- AmigaOS 4.x alpha 0.0.9, build PowerPC; pacchetto Aminet AmigaOS 4;
- MorphOS alpha 0.0.9, build PowerPC; pacchetto Aminet MorphOS;
- AROS i386 ABIv0 alpha 0.0.9; pacchetto Aminet AROS i386;
- AROS x86_64 alpha 0.0.9; pacchetto Aminet AROS x86_64.
Il repository GitHub ufficiale resta il punto di partenza per sorgenti, issue, documentazione e stato corrente. Il percorso completo è raccolto nel diario di sviluppo Telegram Amiga; per la versione inglese c’è il development diary.
Cosa cambia davvero
La 0.0.9 non è una release decorativa. Le foto inline trasformano il client da strumento testuale a client che può stare in una conversazione moderna senza chiedere all’utente di aprire un altro telefono per vedere cosa è stato mandato. L’inoltro chiude un percorso di condivisione che prima era bloccato. Le impostazioni persistenti, la cache configurabile e il dithering selezionabile danno all’utente controllo su come il client usa risorse di sistema preziose.
Ma quello che conta di più è l’infrastruttura: il decode misurato, la cache canonica, la priorità del viewport, il budget indipendente per ogni fase, il workaround MorposOS, il self-check CyberGraphX. Sono scelte che rendono le foto possibili anche su hardware che non è stato progettato per decodificare JPEG in tempo reale mentre si chatta.
Il progetto resta alpha. Mancano ancora reaction, link preview, gestione completa dei contatti, file dalla CDN Telegram, e il loop updates/differences che trasforma il client da polling a reattivo. Ma il confine si è spostato ancora: oggi Telegram Amiga non solo chatta e trasferisce file, ma vede le foto.
In breve
- Foto inline nelle bolle della GUI: thumbnail stripped, fetch bounded, decode progressivo (1/8 → 1/4 → finale), cache canonica RGB888 su disco.
- Viewer foto a dimensione fissa, tasto S per salvare, salvataggio da menu contestuale con requester.
- Impostazioni persistenti: cache foto (10/50/200 MiB o Unlimited), dithering (Full/Light/Off), toggle foto inline.
- Invio foto JPEG native da GUI, Workbench drop e TUI (
/photo); sopra 10 MiB inviate come documento. - Inoltro verso Messaggi Salvati e verso altra chat con selettore destinazione basato su ricerca locale.
- Chat nascoste nella cache locale: indicatori
(hidden), rientro in sidebar all’apertura senza ricerca online. - Budget di decode misurati per fase, viewport priority, cache canonica LRU a 4/6 slot, decode indipendente da palette mapping.
- AmigaOS 3 RTG: righe RGB888 dirette via cybergraphics; AGA e non-RTG: pen-grid renderer con dithering ordinato.
- MorphOS: pen-grid collaudato invece di RGB888 che produceva foto grigie; self-check bitmap per fallback di sessione.
- AfA_OS: BltTemplate per run invece che per glifo; resize live con solo sfondo durante ridimensionamento.
- TUI word-wrapping, log in T: puliti, stack minimo 1 MiB, JPEG source selection con fallback, documenti didascalia+file, correzioni MorphOS grigio.
- Pacchetti ufficiali 0.0.9 per AmigaOS 3.x, AmigaOS 4.x, MorphOS, AROS i386 e AROS x86_64 su GitHub e Aminet.
Fonti e materiali
- Release GitHub AmigaOS 3.x alpha 0.0.9
- Release GitHub AmigaOS 4.x alpha 0.0.9
- Release GitHub MorphOS alpha 0.0.9
- Release GitHub AROS i386 alpha 0.0.9
- Release GitHub AROS x86_64 alpha 0.0.9
- Aminet TelegramAmiga 0.0.9
- Aminet TelegramAmiga-OS4 0.0.9
- Aminet TelegramAmiga-MOS 0.0.9
- Aminet TelegramAmiga-AROS 0.0.9
- Aminet TelegramAmiga-AROS64 0.0.9
- Repository ufficiale Telegram Amiga
- CHANGELOG ufficiale 0.0.9
- Diario di sviluppo Telegram Amiga