AminetAminet
Search:
85465 packages online
About
Recent
Browse
Search
Upload
Setup
Services

comm/tcp/TelegramAmiga-MOS.lha

Mirror:Random
Showing: ppc-morphos icongeneric icon
No screenshot available
Short:Native MTProto Telegram chat client
Author:"Michele Dipace" michele.dipace at kaffeine.net
Uploader:michele dipace kaffeine net (Michele Dipace)
Type:comm/tcp
Version:0.0.9
Architecture:ppc-morphos
Date:2026-08-08
Requires:MorphOS 3.x with its TCP/IP stack
Replaces:comm/tcp/tgamiga.ppc-morphos.lha
Download:comm/tcp/TelegramAmiga-MOS.lha - View contents
Readme:comm/tcp/TelegramAmiga-MOS.readme
Downloads:233

WHAT IS THIS?
-------------
Telegram Amiga brings real, live Telegram chat to the Amiga -- not through
a gateway, a proxy service or a web wrapper, but by speaking Telegram's
own MTProto protocol natively, from scratch, on your machine. You sign in
to your normal Telegram account, your chat list appears, and you talk to
people (and they talk back) on hardware that may well be older than they
are.

Everything is built in: RSA, Diffie-Hellman, AES, SHA and the SRP two-
factor login are implemented inside the program. Zero external
dependencies -- no MUI, no ixemul.library, no AmiSSL, no TCP helper
beyond your system's own bsdsocket stack.

One program, two faces, one engine and one saved login:

  TelegramAmiga  - the native Intuition/GadTools GUI: chat list with real
                 profile-picture avatars, message bubbles, scrollbars,
                 mouse wheel, context menus. This package ships its icon.
                 The same binary also runs a full-screen text/console client
                 from a Shell -- the manual gives the command line.

WHAT CAN I ACTUALLY DO WITH IT?
-------------------------------
Read and send messages in private chats, groups and channels. Download a
received file (right-click -> Download) or send one from disk, up to
250 MiB on this build, including files over 10 MiB.
Photos appear immediately as blurred previews, refine from a bounded download
and reuse decoded pixels from disk when reopened. Click one for a larger
progressive viewer, or disable inline loading on a slower machine and open
only the images you choose. Forward one message to Saved Messages in a
click, or choose another destination through chat search.
Use the pinned Saved Messages chat as a cloud transfer drawer between the
Amiga and your phone or PC. Reply to a specific message (right-click it).
Edit or delete your own messages. See
real delivery state: one tick = sent, two blue ticks = read, updating
live. See who is typing. Search for chats. Send messages from your desk
at work and find the conversation already synced when you get home to
the Amiga -- and the other way round.

Message times follow your Amiga clock. Unread badges and your chat order
survive restarts. The window remembers where you left it, and can open
on its own screen if you prefer a dedicated page for chatting.

GETTING STARTED
---------------
1. Copy this drawer to a WRITABLE volume (not from the archive directly).
2. Double-click TelegramAmiga (or TelegramAmiga-TUI on very low-end setups).
3. First run walks you through the normal Telegram login: phone number,
   the code Telegram sends you, and your cloud password if you use
   two-factor. That is all -- next time it goes straight to your chats.

The login is stored in telegram-auth.bin next to the program. Treat that
file like a house key: NEVER copy it around or share it -- anyone who has
it has your Telegram session. Full EN and IT manuals are in the archive,
including per-platform notes and troubleshooting.

WHAT IS NEW IN 0.0.9
--------------------

ADDED
- The full-screen TUI now word-wraps transcript messages on narrow consoles,
  with indented continuation lines and hard breaks for overlong words. Its
  composer grows from one to three screen rows before reverting to a bounded
  tail view, while scrollback continues to move by logical messages.
- Photo messages now offer Save photo as... from their context menu whether
  inline display is enabled or not. The fixed-size viewer exposes the same
  action on the S key; both use a save requester, prefer the best cached
  original JPEG, fetch the viewer-size JPEG on demand when necessary and ask
  before replacing an existing file.
- Settings now includes a persistent photo-cache limit (10, 50 or 200 MiB, or
  Unlimited; default 50 MiB) and a confirmed Clear photo cache action. The
  client catalogs photos/ incrementally during idle time, prunes the oldest
  files without evicting photos currently on screen, and never touches the
  separate avatar cache.
- Photo messages now use Telegram's embedded stripped thumbnail as an instant
  blurred preview while the bounded network image is fetched and refined. The
  tiny preview is cached separately, works in the transcript and viewer, and
  does not start background work when inline photos are disabled.
- The Telegram menu now groups persistent preferences under Settings: download
  drawer, inline photos and Photo dithering with Full, Light and Off levels.
  Each change is written immediately and restored at next start.
- Clicking a photo, including the [Photo] label while inline photos are
  disabled, now opens one reusable fixed-size viewer window. It requests a
  larger bounded Telegram image, keeps a separate -l.jpg disk cache and
  reveals the JPEG progressively without evicting transcript photo slots.
- The GUI now has a persistent Settings > Inline photos toggle. It defaults to
  on except on AmigaOS 3 systems without RTG or with a CPU below a 68040;
  every explicit choice wins over the hardware default. Disabling it restores
  lightweight [Photo] bubbles without background photo fetch or decode work.
- A message can now be forwarded to Saved Messages from its GUI context menu.
  The TUI provides /forward for the latest message and /forward <id> for an
  explicit Telegram message ID. Forwarding uses the layer-214
  messages.forwardMessages method and reports Telegram RPC failures by name.
- The GUI's Forward to... action now reuses the local-first chat search as a
  destination picker, including browse and online results. The TUI provides
  /forwardto <chat-number> [message-id] for the same peer-to-peer operation.
- Photo messages now render inline in GUI bubbles. The client selects a
  bounded Telegram thumbnail for each platform, downloads it incrementally
  through the existing multi-DC file channel, and reuses the on-disk photos/
  cache on later paints and runs. Text-only and failed-download fallbacks
  remain usable.
- JPEG files can now be sent as Telegram photos from the GUI, Workbench drop
  or the TUI /photo command. The existing non-blocking upload engine is
  reused; photos above 10 MiB are sent as documents with explicit status
  feedback.

CHANGED
- AmigaOS 3 chooses the first-run Inline photos default from the active screen
  and CPU: it starts disabled without RTG or below a 68040. This automatic
  value is never written to disk, so hardware upgrades are detected; an
  explicit user toggle remains persistent in either direction.
- AmigaOS 3.x now discovers cybergraphics.library at runtime and sends
  inline-photo and viewer RGB888 rows directly to compatible true-colour RTG
  screens. AGA and systems without a validated CyberGraphX target keep the
  existing zero-dependency pen-grid renderer.
- Photo decode and canonical-cache reads now size their idle slices from
  measured execution time instead of a fixed CPU-family assumption. Slow 68k
  machines retain the conservative floor, while fast 68k accelerators ramp up
  toward a roughly 120 ms work budget and use a short wake cadence until the
  visible photo queue is drained.
- JPEG decode, canonical-cache reads and photo replay now keep independent
  measured budgets. Slow palette mapping can no longer throttle entropy decode
  on accelerated 68k systems, and diagnostics identify the cost centre for
  every pacing adjustment.
- Non-68k photo scheduling now starts bounded background work without waiting
  behind a continuous pointer-event stream, advances larger JPEG and palette
  slices, and loads normal canonical RGB frames in about two chunks. The
  conservative m68k pacing remains unchanged.
- Final canonical photo frames are now cached atomically as versioned RGB888
  files beside their JPEGs. Reopening a viewed chat can load the exact pixels
  in bounded idle chunks without decoding JPEG again; corrupt or stale cache
  entries are discarded and rebuilt automatically.
- Non-68k targets now select an approximately 800-pixel inline Telegram source
  within a 1 MiB cap. Final-pass upscales use bilinear filtering, while coarse
  preview passes and ordinary downscales retain the bounded fast path.
- MorphOS RTG screens now keep photos in RGB888 and replay them directly to
  the CyberGraphX window after the off-screen frame blit when its friend
  bitmap is not a CGX target. The runtime-checked pen-grid fallback remains
  available for paletted screens and incompatible drivers.
- Live resize now paints only the window background while intermediate sizes
  are arriving. On AfA_OS it also clears the current client area at the first
  size event, so the system's opaque resize stretches only blank background;
  the complete frame is rebuilt once after release. Crash-safe diagnostics
  mark resize begin, rebuild, repaint and end without changing the final
  layout.
- Inline photos now decode once into a platform-sized canonical cache and
  repaint from that cache at every bubble size. Resize paints never trigger a
  JPEG decode, modern RTG targets use optional RGB888 output, paletted screens
  use ordered dithering, and larger bounded thumbnails improve detail without
  making repaints depend on image size.
- Inline JPEG decoding now advances in bounded idle slices outside the paint
  path using browser-style quality passes: a complete coarse 1/8 image appears
  first, then 1/4 and final detail replace it atomically. Input, scrolling and
  resize events keep priority, and incomplete bands never enter a paint.
- The AfA_OS compatibility renderer now composes complete bitmap-font runs in
  memory and submits one BltTemplate per run instead of one per glyph. Native
  text rendering on systems without AfA_OS is unchanged.
- Inline-photo decoding now follows the visible viewport: the topmost visible
  photo is advanced first, off-screen partial decoders wait, and idle periods
  use larger bounded slices without taking priority over queued GUI events.
- The canonical photo cache now keeps four slots on 68k and six on wider
  targets. True LRU eviction skips active and currently visible photos, so a
  third visible image no longer makes an earlier one disappear.
- Hidden chats now remain in the local peer cache. They stay out of the normal
  sidebar, appear immediately in local search with a (hidden) marker, and
  return to the sidebar when opened, without an online search or cache reload.

FIXED
- Temporary quiet-log files no longer litter the program drawer: they live in
  T: and are cleaned up at startup and exit.
- TUI composer threshold crossings now repaint only the separator and the
  one-to-three composer rows, restoring just the transcript rows that become
  visible again. Direct character echo and rubout remain active on wrapped
  composer rows, so narrow 68000 consoles no longer flash or pause per key.
- Local five-lane test packaging now creates AROS media only with Rock Ridge
  plus Joliet, verifies the executable inside every archive and ISO, rejects
  reused volume labels and keeps the macOS hybrid path limited to AmigaOS 4.
- Progressive transcript photos and the photo viewer now share one
  owner-checked decode pipeline. Back-to-back fetch completions remain queued
  until the current image commits, preventing one photo from being repeated or
  split across another message bubble on fast targets.
- Shell launches now carry the same 1 MiB minimum-stack contract as Workbench
  icons. AROS also swaps to a private safe stack when a launcher supplies
  less; OS3 and OS4 reject unsafe bounds instead of entering the stack-heavy
  GUI.
- Photo source selection now prefers baseline JPEG sizes that the bundled
  decoder supports. If a downloaded size is rejected, the client retries a
  smaller untried baseline size instead of rejecting the whole photo for the
  rest of the session; transcript and viewer use the same bounded fallback.
- Final photo-quality upscales now derive fixed-point coordinates without a
  32-bit overflow, preventing large images from repeating rows or tiles when
  the detailed frame replaces a stripped or coarse preview.
- Every visible stripped photo preview is now prepared before serialized
  network and quality work begins, so later photos and the on-demand viewer no
  longer remain grey while an earlier image is being refined.
- Background photo work can no longer wait forever behind continuous window
  events or an inactive window. The heartbeat now advances it, visible failed
  fetches are re-queued, and a clicked viewer photo has queue priority.
- The JPEG drop requester now offers Photo, File and Cancel as distinct
  actions; its Cancel button and Escape key leave the file untouched.
- Empty inline-photo preference files now fall back cleanly to the default
  setting without relying on an unchecked read result.
- Documents with a caption now keep the caption and append the downloadable
  file label on a new line instead of hiding the attachment name.
- Inline-photo cache downloads no longer become permanently suppressed after a
  transient network, datacenter or filesystem failure. Opt-in live diagnostics
  now identify each fetch and render stage without logging chat content.
- Inline photos on MorphOS now use the proven pen-grid renderer instead of an
  RGB888 path that could leave decoded photos grey. Other RTG targets validate
  the destination bitmap with a write/read self-check and fall back for the
  whole session when the driver cannot replay RGB pixels reliably.
- Photo fetch, decode and partial replay now remain suspended for the complete
  resize cycle. A stable placeholder frame is built first and cached images
  are restored on the next idle paint, avoiding buffer access during
  reallocation.
- --gui-live-debug now records a bounded set of AfA_OS full-paint metrics:
  render/blit clock ticks, primitive count, batched and fallback text blits,
  and RGB-row or pen-run photo replay work. Normal GUI runs remain unchanged.

A COMMUNITY PROJECT
-------------------
MIT licensed, non-commercial, written for the love of the platform.
Bug reports and wishes are very welcome -- testers on real hardware
(A1200s, A4000s, Pegasos, Sam, FPGA machines) are what moves this
project forward.

  Source + issues:
  https://github.com/kaffeine1/telegram-amiga
  Development diary:
  https://androidlab.it/en/telegram-amiga-mtproto-client-development-diary/


Contents of comm/tcp/TelegramAmiga-MOS.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Aug  7 13:40 TelegramAmiga/
-rw-r--r--   501/20      10320   24015  43.0% -lh5- c795 Aug  7 13:40 TelegramAmiga/CHANGELOG.txt
-rw-r--r--   501/20        653    1101  59.3% -lh5- 70c8 Aug  7 13:40 TelegramAmiga/LICENSE
-rw-r--r--   501/20       4930   10919  45.2% -lh5- df3c Aug  7 13:40 TelegramAmiga/Manual-EN.txt
-rw-r--r--   501/20       5036   11354  44.4% -lh5- b6a1 Aug  7 13:40 TelegramAmiga/Manuale-IT.txt
-rw-r--r--   501/20        832    1431  58.1% -lh5- 2473 Aug  7 13:40 TelegramAmiga/README.txt
-rwxr-xr-x   501/20     482060 1038124  46.4% -lh5- 3deb Aug  7 13:40 TelegramAmiga/TelegramAmiga
-rw-r--r--   501/20      18770   20680  90.8% -lh5- 7320 Aug  7 13:40 TelegramAmiga/TelegramAmiga.info
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Aug  7 13:40 TelegramAmiga/data/
-rw-r--r--   501/20         37      42  88.1% -lh5- e771 Aug  7 13:40 TelegramAmiga/data/telegram-api.txt
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        10 files  522638 1107666  47.2%            Aug  8 00:49
Page generated in 0.03 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>