Changelog
Every Harmony release: the Android app, the website and the server.
2.2.0 2026-11-10
Added
- Statuses, as in Discord: Online, Idle, Do Not Disturb and Invisible. Pick one from your avatar (website) or the user bar (app); it's saved on your account. You go Idle automatically after 10 minutes without input (website) or while the app is in the background. Do Not Disturb silences message sounds (calls still ring); Invisible appears offline to everyone else.
- Servers: create your own (up to 100 per person, as in Discord), each starting with #general and a General voice channel. Invite people with links like
harmonychatapp.com/invite/abc12345; opening one offers to join. - Server menu: Invite People, Create Channel, Leave Server, Delete Server. Until roles exist, only the owner can create or delete channels and delete the server.
- Voice channels: drop-in voice for anyone in the server. See who's in each channel (with mute/deafen icons) without joining. Mute, deafen and disconnect from the Voice Connected panel (website) or the voice screen (app).
- Join and leave chimes in voice channels, for you and for anyone joining or leaving your channel.
- Member list grouped Online / Offline with status badges.
- App: Discord-style layout with no tab bar. The chat slides aside to show your servers and channels (with you at the bottom) or the members. Back goes members → chat → channel list.
- App: User Settings hub (Profile, Account, Appearance, Log out) from the cog next to you.
Changed
- The original "Harmony" server is now a normal server, owned by its creator, with every existing account as a member. New accounts join it automatically.
- Only a server's members can see its channels, messages and live events.
- Joining a voice channel ends a DM call and vice versa (one at a time, as in Discord).
Fixed
- The first message in a brand-new DM could disappear until you reloaded.
- Your own status could show the previous one for a moment after changing it.
- Signing in after a saved session expired could reopen the previous account's last DM.
2.1.0 2026-11-10
Added
- Calls to people who are offline: it rings for 30 seconds, then hangs up and counts as a missed call ("You missed a call from …") with an unread badge for them. If they come online while it's ringing, they get the incoming-call screen.
- App: edit your profile (picture, username, bio) and account (email with verification code, password, two-factor authentication) without the website.
- Your DM list comes from your message history, newest first, with a preview of the last message (app) — no need to search for people you've already talked to.
Changed
- Calls only happen in DMs. Server member lists offer "Message" instead of "Call".
- DMs are no longer stored as guilds internally (they had a made-up guild ID each); they're separate, as in Discord.
2.0.0 2026-11-10
Added
- A native Android app (React Native), replacing the 1.x web wrapper: chat with grouped messages and GIFs, GIF picker, DMs, full-screen calls with mute and speaker, incoming-call screen, call bar, themes. Installs over 1.x.
Changed
- The website and the app now share all their logic, so they behave the same.
Fixed
- The live connection dropped after 100 seconds without activity (Cloudflare's idle limit), losing anything sent while it reconnected, including call offers. The server now keeps connections alive.
- Your microphone stayed on after the other person hung up, and live messages couldn't mark conversations as read.
- App: the keyboard covered the message box; Back from a chat closed the app; messages in a chat you'd left didn't raise a badge.
1.0.0 2026-11-10
Added
- First Android app (a wrapper around the website).
- harmonychatapp.com: landing page and APK download page.
- Themes: Light, Ash, Dark, Onyx, Sync with device, and nine gradient colour themes.
- Animations for menus, popups and dialogs, with a Reduce motion option.
- Phone layout for the website: slide-out channel list and member drawers, with swipes.
Website, 2026-11-09 (before the app)
Added
- Each channel and DM remembers where you were scrolled while the app is open.
- "You're Viewing Older Messages — Jump to Present" bar.
- Call logs in DMs: "started a call", "…that lasted N minutes", "You missed a call", with "Join the call" while it's ongoing.
- Discord-style dark scrollbars.
- New channels appear for everyone straight away.
Changed
- Settings are saved Discord-style (one versioned entry per area) instead of loose keys; old settings carry over.
- Guild channels open at the latest messages and load older ones as you scroll up.
Fixed
- After logging out, the next person on the same browser could briefly see the previous account's cached DMs.
- Returning to a DM cut its history back to one page.
- Messages that arrived while a channel was open were lost when switching away and back.
- The server was logging the contents of DMs; that logging is removed.
- Pressing Enter while composing text with an input method sent the message early.