Skip to content

Blamp26/vetra-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

359 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


██╗   ██╗███████╗████████╗██████╗  █████╗
██║   ██║██╔════╝╚══██╔══╝██╔══██╗██╔══██╗
██║   ██║█████╗     ██║   ██████╔╝███████║
╚██╗ ██╔╝██╔══╝     ██║   ██╔══██╗██╔══██║
 ╚████╔╝ ███████╗   ██║   ██║  ██║██║  ██║
  ╚═══╝  ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝

Talk freely. No noise. Just connection.


Download Version Platform




✦ Why Vetra?

Most messengers are bloated. Ads. Subscriptions. Tracking. Slow.

Vetra is different.

It's fast, private, and built around the way people actually communicate — in real time, with friends, teams, or communities. No distractions. No compromises.




✦ What you get


💬   Instant Messaging

Send messages that arrive in milliseconds. Edit them, react to them, reply to them, search through them. Everything you'd expect — done right.


🖥️   Servers & Channels

Create your own space. Organise conversations into channels by topic. Invite your people. You're in control.


📞   Crystal-clear Voice Calls

One click to call anyone. One click to call anyone. No accounts to link, no call limits, no waiting rooms.


🖼️   Media Sharing

Drop a photo, a video clip, a file — right into the chat. Instantly previewed, instantly delivered.


😄   Reactions

Say more with less. React to any message with an emoji and keep the conversation flowing without cluttering it.


🔔   Smart Notifications

Get notified about what matters. Ignore the rest. Customise notifications per server, per channel, or mute everything when you need focus.


👤   Profiles & Presence

See who's online. Set your status. Personalise your profile. Know when your friends are around.




✦ Built to feel native

Vetra is a desktop app — not a browser tab.

It launches instantly, stays in your taskbar, and uses your computer's hardware properly. No memory leaks. No tab juggling. No "is this thing still open?"

Works on Windows, macOS, and Linux.




✦ Your data. Not ours.

  • 🔒   No ads. No tracking. No selling your conversations.
  • 🔐   Voice calls are private — your conversations stay between you.
  • 🚫   We don't read your messages.



✦ Get Vetra


Platform Download
🪟 Windows Download .exe
🍎 macOS Download .dmg
🐧 Linux Download .AppImage

Or clone the repo and build it yourself — we respect that.




✦ Screenshots

Messaging · Calls · Servers · Profile — all in one window.

[ screenshot 1 ]   [ screenshot 2 ]   [ screenshot 3 ]



✦ Quick start

1. Download Vetra for your platform
2. Create an account — takes 10 seconds
3. Make a server, or message someone directly
4. That's it.



Vetra  ·  Fast. Private. Yours.

Made with care by people who just wanted a better messenger.


Star on GitHub


Developer Smoke Checks

Copy .env.smoke.example to .env.smoke, fill in the LAN backend URLs plus VETRA_SMOKE_USERNAME and VETRA_SMOKE_PASSWORD, and keep .env.smoke out of git. The smoke login uses the same username field as the app.

Read-only smoke:

npm run smoke:lan

Write smoke with tagged test messages and reaction toggles:

npm run smoke:lan:write

Release check without Tauri packaging:

npm run check:release

Release check including Tauri packaging:

npm run check:release:tauri

The release wrappers reuse VETRA_SMOKE_API_URL and VETRA_SMOKE_SOCKET_URL as VITE_API_URL and VITE_SOCKET_URL when those build variables are not already set.

Developer Load Checks

Copy .env.load.example to .env.load, fill in the LAN backend URLs plus VETRA_LOAD_USERNAME and VETRA_LOAD_PASSWORD, and keep .env.load out of git. The load tool reuses the same username/password login flow and socket-ticket flow as the app and smoke tests. Large VU startups are ramped by VETRA_LOAD_RAMP_BATCH_SIZE and VETRA_LOAD_RAMP_BATCH_DELAY_MS so socket-ticket requests do not burst all at once.

Set VETRA_LOAD_SERVER_MONITOR=1 to sample the Ubuntu backend over SSH during the test. The built-in monitor uses VETRA_LOAD_SERVER_SSH, VETRA_LOAD_SERVER_SERVICE, VETRA_LOAD_SERVER_PORT, and VETRA_LOAD_SERVER_SAMPLE_INTERVAL_MS to collect service PID, process CPU/RAM, available RAM, and TCP connection counts. SSH monitor failures are logged as warnings and recorded in the JSON summary without aborting the load run.

Use VETRA_LOAD_STARTUP_TIMEOUT_MS to cap each VU startup step (socket-ticket, socket connect, user-channel join) so ramp-up cannot hang forever. Use VETRA_LOAD_MONITOR_SSH_TIMEOUT_MS to cap each SSH sample separately so server monitoring cannot block the main load run.

Safe connect-only load test:

npm run load:lan

Channel-message load mode:

npm run load:lan:messages

Call-signaling load mode:

npm run load:lan:calls

Low-rate soak mode:

npm run load:lan:soak

Default behavior is non-destructive. Set VETRA_LOAD_WRITE=1 only when you intentionally want to send tagged [load-test] messages or signaling events. Real media load is peer-to-peer/TURN and is not the same as backend signaling load. JSON summaries are written to load-results/ by default.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors