Skip to content

Add lazygram 0.4.30: terminal Telegram client (TUI) - #2022

Open
t0d0r wants to merge 10 commits into
omacom:masterfrom
t0d0r:lazygram
Open

t0d0r wants to merge 10 commits into
omacom:masterfrom
t0d0r:lazygram

Conversation

@t0d0r

@t0d0r t0d0r commented Nov 2, 2026 •

Copy link
Copy Markdown

What it is

lazygram is a terminal Telegram client in the BitchX/irssi tradition: one
server window with every chat interleaved, one window per chat, QR login
like the desktop apps, an encrypted local cache, pictures drawn in the
terminal. Pure Go, BSD-2-Clause. Upstream: https://github.com/t0d0r/lazygram
(I am the upstream author).

The recipe

  • pkgbuilds/lazygram/PKGBUILD: builds the tagged source tarball (pinned
    by sha256) per the Arch Go guidelines: PIE, trimpath, external linking
    with the system LDFLAGS, GOTOOLCHAIN=local (never downloads a
    toolchain), -tags release (the upstream release build: no private
    Telegram registration can be compiled in), go test ./... in
    check(). Runtime dependencies: glibc, hicolor-icon-theme (for the
    icon). Optional: xdg-utils (system viewer for attachments and links),
    xdg-terminal-exec (the launcher entry), wl-clipboard (the clipboard
    for mouse selections on Wayland when the terminal lacks OSC 52).
  • arch=('x86_64' 'aarch64').
  • .omarchy/package.json: a GitHub release watch on t0d0r/lazygram
    (v(?P<version>[0-9]+(?:\.[0-9]+)*)), min_release_age 24h (time to
    pull a bad release), and release_ring: fast: a Go binary that links
    libc only, like omarchy-speedtest and cliamp. Drop the fast ring if you
    would rather let it ride the normal promotions.
  • The release tarball's packaging/omarchy/lazygram/lazygram.desktop and
    lazygram.svg, installed by the recipe (nothing else sits beside it): a
    launcher entry in the form of Omarchy's own TUI entries
    (Exec=xdg-terminal-exec --app-id=org.omarchy.lazygram -e sh -c "...",
    Terminal=false, TryExec=xdg-terminal-exec) with the window class
    omarchy-launch-tui would assign, so omarchy-launch-or-focus-tui lazygram finds it; the small wrapper keeps the window open on a
    non-zero exit (the "not linked yet" hint before lazygram login) and
    closes it on a normal quit. Plus a scalable icon.

How I tested it

  • makepkg -sf in an archlinux:base-devel container (x86_64) and an
    Arch Linux ARM container (aarch64): builds, check() passes (all Go
    tests), namcap clean on the PKGBUILD and the x86_64 package,
    pacman -U, pacman -Qkk clean, desktop-file-validate clean, the
    binary is PIE with BIND_NOW and needs libc.so.6 only,
    lazygram -version, lazygram -smoke demo (offline, invented data)
    prints a screen, the not-linked start exits 2 with the login hint and
    the launcher wrapper holds the window for Enter.
  • With the package directory copied into a checkout of this repository
    (master at bf44164), in an Arch Linux ARM container:
    helpers/upstream-watch.py validate and check pass ("current": "0.4.30", "reason": "already current"),
    validate_package_metadata passes, tests/pinned-sources.sh and
    tests/package-metadata.sh pass, bin/build --package lazygram --dry-run plans the build.
  • The watch pattern matches v0.4.30 whole, so a malformed tag such as
    the v0.4.11-1-gd0bdc3f the upstream repository once had (a release
    mishap, deleted since) would never be taken for a version.
  • Not tested by me on Omarchy itself: the launcher entry inside Hyprland
    and omarchy pkg add lazygram once published.

Notes

  • No AUR or official Arch package of that name exists.
  • Self-update: lazygram update refuses to touch a pacman-owned binary
    and points at pacman instead (since upstream 0.4.15).
  • Upstream releases from v0.4.22 on are built by GitHub Actions and carry
    SLSA build provenance; the recipe builds from the tag's source tarball,
    whose sha256 is pinned as usual.

lazygram is a terminal Telegram client in the BitchX/irssi style, pure
Go, BSD-2-Clause. The recipe builds the v0.4.21 source tarball, pinned
by sha256, per the Arch Go guidelines (PIE, trimpath, external linking,
GOTOOLCHAIN=local, -tags release) and runs go test in check().

package.json watches GitHub releases of t0d0r/lazygram with a whole-tag
pattern, holds a release for 24h and puts the package on the fast ring
(a Go binary that links libc only).
t0d0r added a commit to t0d0r/lazygram that referenced this pull request Nov 2, 2026
PR.md and the submit steps name 0.4.21 instead of 0.4.20. The
omarchy-pkgs validators were rerun on the 0.4.21 recipe against their
master 1c774e2: upstream watch validate and check, package metadata,
pinned sources and the build plan all pass.

The recipe is submitted as omacom/omarchy-pkgs#2022 and waits for a
maintainer's build-approved label. The session note also records the
first OpenSSF Scorecard result (3.7) and what would raise it.
@greptile-apps

greptile-apps Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issues were found.

Summary

Adds packaging for lazygram, now at 0.4.30.

  • Users can install lazygram as a terminal Telegram client.
  • New lazygram releases enter Omarchy’s update path after a 24-hour wait.

Reviews (10) · Last reviewed commit: "feat(lazygram): update lazygram to 0.4.3..." · Reviewed by Greptile

v0.4.22 is the first upstream release built by GitHub Actions with SLSA
build provenance. It fixes a crash on path completion after ~, a
self-update that could install a cut binary over 64 MiB, and the text
handling bugs found by the new fuzz targets. The recipe is unchanged
apart from pkgver and the source tarball's sha256.
@t0d0r t0d0r changed the title Add lazygram 0.4.21: terminal Telegram client (TUI) Add lazygram 0.4.22: terminal Telegram client (TUI) Nov 2, 2026
t0d0r added a commit to t0d0r/lazygram that referenced this pull request Nov 3, 2026
The recipe builds v0.4.23: pkgver 0.4.23 and the sha256 of the tag's
source tarball (457bfffc...562c). Built and tested in Arch Linux ARM
from a directory with only PKGBUILD and .omarchy/: check() green,
pacman -Qkk clean, desktop entry valid, lazygram 0.4.23. The Docker VM
needed one compiler job to fit beside other containers; the packaging
README records the settings. x86_64 was not rebuilt.

v0.4.23 was published by the Release workflow from 320821e with SLSA
build provenance; every asset, the attestations (store and bundle) and
the stable installer URL were verified. The session note records it,
the Homebrew formula commit that is not pushed yet, and
omacom/omarchy-pkgs#2022, which still names 0.4.22.
v0.4.23 adds a multi-line input area, start hints, /help and /keys
wrapped to the window width, full-width status and input rows in every
theme, and a padding fix for rows that start with a prepend mark. Like
0.4.22 it was built by GitHub Actions with SLSA build provenance. The
recipe is unchanged apart from pkgver and the source tarball's sha256.
@t0d0r t0d0r changed the title Add lazygram 0.4.22: terminal Telegram client (TUI) Add lazygram 0.4.23: terminal Telegram client (TUI) Nov 3, 2026
t0d0r added a commit to t0d0r/lazygram that referenced this pull request Nov 3, 2026
omacom/omarchy-pkgs#2022 now proposes 0.4.23: commit b0266f4 on the
fork's lazygram branch, a fast-forward on top of 9df0efd, with the
title and text from PR.md. The omarchy-pkgs validators pass against
their master 30fed32, and the 0.4.23 recipe was built and tested on
both architectures (x86_64 under emulation in 955 s, one compiler job).
PR.md names 0.4.23 and that master; the packaging README, the todo and
the release session note record the move.
v0.4.24 adds /feed, which keeps chat messages out of the server window,
and /settings, a menu in the server window for every kept setting;
/help now carries the notes on the mouse, themes and windows. Like the
releases before it, it was built by GitHub Actions with SLSA build
provenance. The recipe is unchanged apart from pkgver and the source
tarball's sha256.
@t0d0r t0d0r changed the title Add lazygram 0.4.23: terminal Telegram client (TUI) Add lazygram 0.4.24: terminal Telegram client (TUI) Nov 3, 2026
t0d0r added a commit to t0d0r/lazygram that referenced this pull request Nov 3, 2026
The recipe builds v0.4.24: pkgver 0.4.24 and the sha256 of the tag's
source tarball (a696aa7e...3d01). Built and tested on aarch64 and
x86_64 from a directory with only PKGBUILD and .omarchy/: check()
green, pacman -Qkk clean, desktop entry valid, lazygram 0.4.24.

v0.4.24 (/feed, /settings, the notes in /help) was published by the
Release workflow from f61ae43 with SLSA build provenance; every asset,
the attestations (store and bundle) and the stable installer URL were
verified. omacom/omarchy-pkgs#2022 now proposes 0.4.24 (848071e, the
validators rerun against their master 35687e5); PR.md carries its
text. The session note records the release and the Homebrew formula
commit that is not pushed yet.
Only pkgver and the source checksum change; go.mod and go.sum are as
in 0.4.24.
@t0d0r t0d0r changed the title Add lazygram 0.4.24: terminal Telegram client (TUI) Add lazygram 0.4.25: terminal Telegram client (TUI) Nov 3, 2026
t0d0r added a commit to t0d0r/lazygram that referenced this pull request Nov 3, 2026
The PKGBUILD builds the v0.4.25 tag's source tarball (sha256
a52dffe6...68b6, the same on two downloads). It was built and tested in
Arch Linux ARM and Arch Linux x86_64 under emulation with every check
as before. omacom/omarchy-pkgs#2022 moved to 0.4.25 (fork commit
6c969ba on top of 848071e) after the omarchy-pkgs validators passed
against their master e0ac3a7; PR.md carries the new title and text.
The Homebrew formula is at 0.4.25 (tap f6a17fa), built from source with
brew test passing. The session note records the release and how it was
verified.
Only pkgver and the source checksum change; go.mod and go.sum are as
in 0.4.25.
@t0d0r t0d0r changed the title Add lazygram 0.4.25: terminal Telegram client (TUI) Add lazygram 0.4.26: terminal Telegram client (TUI) Nov 3, 2026
Only pkgver and the source checksum change; go.mod and go.sum are as
in 0.4.26.
@t0d0r t0d0r changed the title Add lazygram 0.4.26: terminal Telegram client (TUI) Add lazygram 0.4.27: terminal Telegram client (TUI) Nov 4, 2026
Only pkgver and the source checksum change; go.mod and go.sum are as
in 0.4.27.
@t0d0r t0d0r changed the title Add lazygram 0.4.27: terminal Telegram client (TUI) Add lazygram 0.4.28: terminal Telegram client (TUI) Nov 4, 2026
Only pkgver and the source checksum change; go.mod and go.sum are as
in 0.4.28.
@t0d0r t0d0r changed the title Add lazygram 0.4.28: terminal Telegram client (TUI) Add lazygram 0.4.29: terminal Telegram client (TUI) Nov 5, 2026
t0d0r added a commit to t0d0r/lazygram that referenced this pull request Nov 5, 2026
The Arch / Omarchy recipe builds v0.4.29: only pkgver and the tag
tarball's sha256 (dba57ab5...abd99d, the same on two downloads)
change; go.mod and go.sum are as in 0.4.28. It was built and tested in
Docker on aarch64 and x86_64 (makepkg with check, namcap, pacman -Qkk,
the desktop entry, lazygram 0.4.29), and the omarchy-pkgs validators
pass against their master 525f91b. omacom/omarchy-pkgs#2022 moved to
0.4.29 with e818f58; PR.md names it.

session/2026-11-05-release-0429.md records the release: v0.4.29 tagged
on master 9b82ac4 (/close-others, #41), published by Release workflow
run 42103409665, every asset checked against SHA256SUMS and its
provenance verified online and offline, a tampered tarball refused, the
latest installer URL installing v0.4.29 into a scratch prefix, and the
Homebrew formula at 0.4.29 (tap a294169, built from source, brew test
passed). todo/todo.md, specs/release.md and docs/arch-omarchy.md follow
the version.
Only pkgver and the source checksum change; go.mod and go.sum are as
in 0.4.29.
@t0d0r t0d0r changed the title Add lazygram 0.4.29: terminal Telegram client (TUI) Add lazygram 0.4.30: terminal Telegram client (TUI) Nov 6, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant