Skip to content

A simple Tauri plugin for Server-Sent Events (SSE), enabling real-time, one-way updates from server to your Tauri frontend.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE_APACHE-2.0
MIT
LICENSE_MIT
Notifications You must be signed in to change notification settings

amitnos123/tauri-plugin-sse

Repository files navigation

Tauri Plugin SSE

Crates.io Version npm version License

Server-Sent Events (SSE) is a web technology that allows a server to push real-time updates to a client over a long-lived HTTP connection.

It provides a lightweight, one-way communication channel, making it ideal for applications that need continuous data streaming from the backend without using WebSockets.

SSE is a simple solution for notifications, activity feeds, live status updates, or any scenario where the server needs to send real-time updates to the client.

This project uses the sse_client crate for handling SSE connections on the Rust side (Tauri's backend).

Sample Usage:

  • Realtime activity feeds or notifications
  • Live server logs
  • Monitoring application state
  • Synchronizing lightweight UI updates
Platform Supported
Linux
Windows
macOS not tested
Android not tested
iOS not tested

Installation

Usage

TypeScript/JavaScript

import EventSource from "tauri-plugin-sse";

// Create connection to server endpoint
const source = new EventSource("https://sse.dev/test");

// Handle on establishing connection
source.onopen = () => {
  console.log("Connection stabilished!");
};

// Fired when a message is received
source.onmessage = (event) => {
  console.log("Message from server:", event.data);
};

// Handle errors
source.onerror = (err) => {
  console.error("EventSource failed:", err);
};

// Handle named event types
source.addEventListener("ping", (event) => {
  console.log("Ping:", event.data);
});

// Remove handler
removeEventListener("ping");

// Close Event Source
source.close();

Rust

//  TODO: Add use of right modules

// Create connection to server endpoint
let event_source = EventSource::new("https://sse.dev/test").unwrap();

// Handle on establishing connection
event_source.on_open(|| {
    println!("Connection stabilished!");
});

// Fired when a message is received
event_source.on_message(|message| {
    println!("New message event {:?}", message);
});

// Handle errors
event_source.on_error(|error| {
    println!("Error {:?}", error);
});

// Handle named event types
event_source.add_event_listener("myEvent", |event| {
    println!("Event {} received: {}", event.type_, event.data);
});

// Remove handler
event_source.remove_event_listener("myEvent");

// Close Event Source
event_source.close();

Licenses

MIT or MIT/Apache 2.0 where applicable.

About

A simple Tauri plugin for Server-Sent Events (SSE), enabling real-time, one-way updates from server to your Tauri frontend.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE_APACHE-2.0
MIT
LICENSE_MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published