MarlboroMan's Blog
Posted Mar 25, 2026 04:15 PM
Convo App Dev Blog #1The start of something!
Written for version: 1.0.0
The Backstory
Last summer, @ttbr0@ and I were having our daily convo and as usual the topic was: What can we do to + the user experience here on HF?
Over the weeks we were plotting on this idea of a HackForums group called HF Devs.
His first idea for the group? A desktop convo app.
We thought it was great, I think he started the repository for the project that day.
@ttbr0@ spent a few hours figuring out the auth pattern HF uses for both auth and the chat socket.
Not long after he wrote the first version of the Convo App.
It looked... Terrible but it sparked that spark with us big time.
Thread: https://hackforums.net/showthread.php?tid=6310986
Fast forward to now, I've had some more free time to work on it.
I had actually been doing a lot of web development prior, so I'm excited to work on this.
Timing couldn't be better as @php@ told me about Tauri whilst I'm in the middle of learning Rust lang myself.
This is the exact fuel my brain needs: Passion (for HF) + Mastering new skills (Rust) = Joy
I started the Tauri project from scratch whilst using a fork of the convo.js client used in /convo.php that I ported into the project.
My goal was to keep the unique UX the original web version of Convo has whilst opening it up for new features.
The backend is in pure RUST and is written for Windows/Linux/MacOS.
![[Image: app.gif]](https://i.ibb.co/CKdqFM9r/app.gif)
Long story short, this project originates from the thinkers of this forum. The HF Devs.
Credits:
HF Community - Inspiration and input
@Xerotic@ & @Omniscient@ - Original Convo and API v2
@ttbr0@ - Original idea, auth handshake
@itcorp@ - .NET implementation which was a huge jump forward
@MarlboroMan@ - Convo App Lead Developer
Login & How It Works
| Step | What Happens |
| 1 | Your credentials go directly to HackForums - the app authenticates you the same way the website does |
| 2 | Session cookie is encrypted with AES-256 and stored locally on your device |
| 3 | WebSocket connection is established to HackForums' chat server |
Cloudflare Challenge
If HackForums presents a Cloudflare challenge, click "Open Challenge Window", complete it, then try logging in again.
Stay Logged In
Check this box to save your encrypted session locally. Next time you open the app, it auto-loads your session.
If unchecked, you'll need to log in each time.
Login Source Code (Click to View)
Cloudflare Worker
For API features, I've set up a Cloudflare Worker that handles the OAuth flow:
| Feature | Description |
| Zero Data Storage | The worker does NOT store, log, or save any of your data |
| Passthrough Only | Facilitates the OAuth handshake, passes your token back to your app, then forgets everything |
| HTTPS Only | All communication is encrypted in transit |
| Isolated Sessions | Each OAuth flow is unique, no cross-user data exposure |
Additional Notes:
• Authorization codes expire in 5 minutes and are deleted after retrieval
• Access tokens are NEVER stored in the worker - received and immediately passed to your app
• No logging of request bodies or responses
• API usage is READ-ONLY - the app cannot modify anything on your account
API Permissions:
• Basic Info (READ) - Access public user data such as uid, username, avatar, etc for the current profile
• Posts (READ) - Access forums, threads, and posts
• Users (READ) - Access other public HF user profiles
CF Worker Code (Click to View)
New Commands
Commands that are new in Convo App:
| Command | Description |
| /sizeembed 1-5 | Scale embed/image sizes (1=small, 3=default, 5=large) |
| /afk | Set AFK status - auto-replies when mentioned |
| /askai | Ask AI a question (requires API key in Settings) |
| /askai context | Ask AI with recent chat context |
| /factcheck @username@ | Fact-check a user's recent claims |
| @everyone | Mention all online users |
@Username Autocomplete
![[Image: convo-F04-Ie-Zi-Qhw.gif]](https://i.ibb.co/SwQ2VCmr/convo-F04-Ie-Zi-Qhw.gif)
Start typing @username and the app suggests matching users from the online list.
A ghost text preview appears - press Tab to complete the mention.
Works in both global chat (@username@ format) and private conversations (profile link format).
Supported Embeds
URLs are automatically embedded for these platforms:
| Platform | What Embeds |
| YouTube | Video player (including shorts) |
| Twitter/X | Tweet content |
| Posts, reels, TV | |
| TikTok | Video embed |
| Spotify | Track, album, playlist, episode, show |
| SoundCloud | Audio player |
| Apple Music | Track embed |
| Vimeo | Video player |
| GitHub | Repository/profile card |
| Pastebin | Code embed |
| Truth Social | Post embed |
| Direct media | .mp4, .mp3, .wav, .flac files |
| Images | .jpg, .png, .gif, .webp auto-display |
Use /sizeembed 1-5 to scale all embeds (1=smallest, 5=largest, 3=default).
Attachment and Emojis
![[Image: convooptions.gif]](https://i.ibb.co/23g5fx7j/convooptions.gif)
Click the paperclip icon for upload options:
| Option | Description |
| Image | Up to 3MB, embedded directly (max 3 at once) |
| Image+ | Large images up to 200MB via Catbox |
| Audio | Up to 200MB via Catbox (MP3, WAV, OGG, etc.) |
| Video | Up to 200MB via Catbox (MP4, WebM, MOV, etc.) |
Drag and drop also works - small images embed directly, large files go to Catbox automatically. W
Thumbnails appear in input area before sending, click X to remove.
Native OS Emojis use your native OS emoji picker - with gif support.
Thread Viewer & Previews
Thread Viewer
![[Image: convoappthreadviewer.gif]](https://i.ibb.co/mrYqwvSj/convoappthreadviewer.gif)
Click any HackForums thread link to open the Thread Viewer panel on the right side.
Shows full thread content with posts, requires API connection. If no API connected, links open in browser instead.
Thread Previews
![[Image: convoapptpreview.gif]](https://i.ibb.co/GfMGZhqk/convoapptpreview.gif)
Hover over HackForums thread links to see a preview card with thread title and info before clicking.
Profile Cards
![[Image: convoapphover.gif]](https://i.ibb.co/hRybBCWC/convoapphover.gif)
Hover over any username (in messages or online list) to see their profile card with avatar, bio, join date, post count, and reputation (if API connected).
Chat Features
Reply Feature
![[Image: convoappreply.gif]](https://i.ibb.co/3Y5QvZN3/convoappreply.gif)
Hover over a message and click the reply arrow.
Your message will quote the original with a preview bar above the input.
Censoring & Muting
![[Image: convoappcensor.png]](https://i.ibb.co/d4mSmc7L/convoappcensor.png)
Settings → Chat has several options to control what you see:
Blur Images - Blur images until clicked. First click reveals, second click opens fullscreen.
Only affects other users' images, not your own.
Muted Members - Add members to your mute list:
• Level 1 - Blur their messages (click to reveal)
• Level 2 - Hide completely
Both levels censor their profile picture.
Censored Words - Add words to blur. Click to reveal.
Auto Replace
![[Image: convo-n-RPKjj5-Cqi.gif]](https://i.ibb.co/whmNzBLc/convo-n-RPKjj5-Cqi.gif)
Settings → Chat → Auto Replace. Add words and their replacements.
When you type the word and press space, it automatically replaces with the replacement text.
Hide Messages
![[Image: convapphidemessage.gif]](https://i.ibb.co/nsxj2Cwg/convapphidemessage.gif)
Ctrl+Shift+Click (or Cmd+Shift+Click on Mac) on any message to hide it from your view (session only).
Translator
Settings → Tools → Translator. Right-click selected text in chat to translate to your chosen language.
Desktop Notifications
![[Image: convappnotification.png]](https://i.ibb.co/93qC8Vhs/convappnotification.png)
Settings → Tools → Notifications. Get notified for mentions.
Custom Sounds
Settings → Tools → Sounds. Set custom notification sounds for messages and inbox.
Wiki Lookup
![[Image: convoappwiki.gif]](https://i.ibb.co/Y7dyF6VC/convoappwiki.gif)
If enabled in Settings → Tools, profile cards show a Wiki button to look up user wiki information.
External Link Safety
Clicking external links shows a confirmation modal with the full URL before opening in your browser.
Group Chat Avatars
![[Image: convoappgroupchat.png]](https://i.ibb.co/ycPX2kt0/convoappgroupchat.png)
Multi-user conversations show stacked profile pictures.
Settings Overview
Open with the wrench icon in the left sidebar.
| Tab | What's There |
| Account | Username, UID, API connection, logout |
| Chat | Muted members, censored words, image censoring |
| Theme | Colors, background, app styling, saved themes |
| Tools | Translator, notifications, custom sounds, wiki, AI settings |
Theme Customization
Settings → Theme tab. Customize colors, backgrounds, fonts, and save/share/import themes.
Privacy & Security
Stored Locally (Encrypted)
• Session cookie (AES-256)
• API token (AES-256)
Stored Locally (Unencrypted)
• Settings and preferences
Never Stored
• Your password
• Your messages
iOS/Android
I've tested the app on iOS and it works, but needs a lot in depth of tweaking and it's extremely time consuming for me.
If there is a real desire for this to be released on iOS/Android you'd have to pay the developers for their time (which currently is only me, but will expand).
What's Next?
This is the first in hopefully (or not) many more dev blogs.
This first one is more like a mini documentation but in the future these will be used to talk about updates, developer insights and more.
Right now, my energy is somewhat declining again. I can feel it..
I'll be looking at serious bug reports with high urgency but anything other than that may take a while.



