Changelog
v0.9.0 — Module 9: Three-Column UI
- Three-column layout — left panel (content), center (terminal), right (sidebar). Inspired by VS Code. Panels take space from margins, center stays fixed.
- Left panel —
/read opens docs in side panel, /view opens media, /expand or [read more] opens full posts with replies. Close with [x], /close, or Escape.
- Right panel — sidebar becomes a proper column with
/ask input field, connection status (Telegram/email), commands, and docs. /ask answers show in the panel, not the terminal.
- Prompt change —
{username}@motd ~ $ → {username}@motd >. Cleaner, matches the m> logo.
/close — close the left panel
/settings cli [position] — move the input line: bottom (default), top, right, left, middle. Stored in localStorage.
- Keyboard shortcuts —
Ctrl+B toggles left panel, Ctrl+J toggles right panel
- Responsive — wide (>1400px) all three columns, medium (1000-1400px) one side at a time, mobile (<800px) full-screen overlays
- Smooth transitions — CSS transitions for panel open/close, no layout shifts in center column
v0.8.0 — Module 8: Email Bridge
/connect email — verify and link your email address
/disconnect email — unlink email
- Inbound email — anyone can email
username@motd.social to create a public post with [email] tag
- Email notifications — connected users receive emails for bookmarked users, tags, mentions, and replies
- Reply to notifications — reply to a notification email to create a threaded reply on motd
- 189-char excerpt — posts longer than 189 characters show a truncated preview with clickable
[read more] in the feed. Applies to ALL posts globally.
- Email parsing — strips signatures, reply chains, HTML. Plain text only. Max 500 chars stored.
- Postfix integration — inbound mail handled via pipe to
email-handler.js. Outbound via sendmail.
- Rate limiting — unknown senders: 5 emails/hour per address
- Notification settings — toggle email notifications independently in
/settings
- DKIM/SPF/DMARC — documented DNS setup for email deliverability
v0.7.0 — Module 7: Telegram Bridge
/connect telegram — one-click account linking via Telegram deep link
/disconnect telegram — unlink your Telegram account
- Telegram bot —
@motdsocial_bot runs inside the motd process via webhooks
/msg command — anyone on Telegram can message a motd user publicly. Posts appear in the feed with [telegram] tag
- Notifications — connected users receive Telegram messages for bookmarked users, bookmarked tags, mentions, and replies
- Reply from Telegram — reply to a forwarded message in Telegram to create a threaded reply on motd
/feed in Telegram — last 5 posts matching your bookmarks
- Rate limiting — 5 msg/hr for non-motd users, 30 msg/hr for connected users
- Notification settings — toggle notifications in
/settings: bookmarked users/tags, mentions/replies
- Kill list integration — filtered users don't appear in Telegram notifications
- Non-motd users — Telegram users without an account post as
telegram:theirname
v0.6.0 — Module 6: Forgejo Git Integration
/repo create, /repo list, /repo info, /repo delete — git repository management via Forgejo
/star, /unstar, /stars — star repositories
- Forgejo admin API — all operations use admin API for simplified integration
v0.5.0 — Module 5: UI Redesign
- Centered terminal layout — 800px default width, drag-to-resize from left/right edges (invisible 8px hit zones, min 400px). Width stored in localStorage.
/terminal --width — set terminal width in px, %, or reset to default
- Mobile — 100% width, no resize
- Full sidebar — replaces the old popup menu. motd branding, commands, doc links, footer.
- Client-side config — localStorage overrides merged with server defaults
/config export — download your config as JSON
/config import — load config from a JSON file
/config reset — restore server defaults
- Guest landing — last 5 posts shown on load for logged-out visitors
v0.4.0 — Module 4: Bookmarks, Docs & Tag Syntax
- Bookmarks —
/bookmark, /unbookmark, /bookmarks. One concept for users, tags, posts, docs. Private, no counts, no notifications.
- Bookmarks by type —
/bookmarks --users, --tags, --posts, --docs
- Right-click context menu — terminal-styled context menu on usernames, tags, posts, doc links, and media. Shows relevant actions (bookmark, kill, reply, find, etc).
- Tag syntax update — tags now use [brackets] instead of the reserved symbol. All existing posts migrated.
/find rust and /find [rust] both work.
- Full documentation — about, api, commands, milestone, roadmap, plugins, changelog, terms, support
v0.3.0 — Module 3: Post Lifecycle & Media
- Post lifecycle — active (30d), archived (90d), then permanently purged. Daily cron job handles transitions.
- Media uploads — PNG (5MB), MP3 (10MB), MP4 (25MB)
- Image pipeline — original (max 1MB), thumbnail (80px), large (800px), ASCII art preview
/attach — inline media attachment in posts
/view, /play, /pause — media playback commands
/read — inline markdown document reader
/tree -cat — category and tag browser
/link — universal navigation command
/find --archive — search archived posts
/terminate-account — permanent account deletion with cascading wipe
- Short IDs — 6-8 character alphanumeric IDs for posts and media
- Categories — coding, creative, meta, general with seeded tag mappings
- Removed following system — feed shows all posts, chronological, kill-filtered
v0.2.0 — Module 2: Posts & Feed
- Posts —
/post with 500 character limit
- Chronological feed — no algorithm, kill-filtered
- User search —
/find by username or display name
- ASCII avatars — deterministic 5x5 symmetric block pattern from username
- Filter score threshold — community-filtered users suppressed from everyone's feed
v0.1.0 — Module 1: Terminal Shell & Auth
- Terminal UI — dark background, monospace, command input
- Registration and login —
/register, /login, /login-permanently, /logout
- Profiles — display name, bio,
/profile, /settings
/kill — hidden moderation system with filter_score and time decay
- Command menu — hamburger menu, tab completion, command history
/help, /menu, /clear
- Config-driven styling — colors, font, prompt format via config.json
- API-first architecture — all features accessible via REST endpoints
← Open motd.social terminal