SimpleX Chat GUI built with Rust, Tauri and Yew

Overview

simplex-desktop

Rust CI

A desktop application for simplex-chat. WIP, contributions are welcome.

Architecture

For the back end we rust with tauri and frontend is built with yew-rs

For developers

  1. You will need Rust; you can most easily install this with rustup:
    curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
  2. You will need some software libraries; installing these may vary depending on your operating system; a recipe for Ubuntu is given here, but Tauri's Getting Started has steps for each popular platform.
    sudo apt install -y libgtk-3-dev libsoup2.4-dev libjavascriptcoregtk-4.0-dev libwebkit2gtk-4.0-dev
  3. Then you will need Yew; find detailed instuctions in Yew's Getting Started:
    rustup target add wasm32-unknown-unknown
    cargo install --locked trunk
    cargo install wasm-bindgen-cli
  4. And you will need the Tauri CLI:
    cargo install --locked tauri-cli

Now you should be able to to run the app with

cargo tauri dev

Join the discussion

You can join the simplex group #simplex-desktop by clicking the link, or by scanning this QR code in the app:

#simplex-desktop
You might also like...
Cross-platform Window library in Rust for Tauri. [WIP]

Cross-platform application window creation library in Rust that supports all major platforms like Windows, macOS, Linux, iOS and Android. Built for you, maintained for Tauri.

OpenAI ChatGPT desktop app for Mac, Windows, & Linux menubar using Tauri & Rust
OpenAI ChatGPT desktop app for Mac, Windows, & Linux menubar using Tauri & Rust

ChatGPT Desktop App Unofficial open source OpenAI ChatGPT desktop app for mac, windows, and linux menubar using tauri & rust. Downloads Windows (2.7 M

Helps positioning your tauri windows.

Tauri plugin positioner A plugin for tauri that helps positioning you windows at well known locations. Install Rust [dependencies] tauri-plugin-positi

A custom invoke system for Tauri that leverages a localhost server

Tauri Invoke HTTP This is a crate that provides a custom invoke system for Tauri using a localhost server. Each message is delivered through a XMLHttp

📦 Port of tauri-bundler

📦 Port of tauri-bundler You can now easily create installers for your Deno apps, thanks to the amazing work of Tauri 💪

Type-safe IPC for Tauri using GraphQL

Tauri Plugin graphql A plugin for Tauri that enables type-safe IPC through GraphQL. Install Rust [dependencies] tauri-plugin-graphql = "0.2" JavaScrip

🦀 Small Tauri SolidJS Example feat. Vite
🦀 Small Tauri SolidJS Example feat. Vite

Tauri Solid Example (2022) Simple Solid(vite) starter running with Tauri. Should hopefully save some time trying to setup Tauri and Solid. Currently c

A Raycast/Spotlight like app shell using tauri
A Raycast/Spotlight like app shell using tauri

Tauri Shell This repo can be used as reference for building alfred/raycast/spotlight apps using Tauri. Usage This reference repository is using Svelte

Bindings to the Tauri API for projects using wasm-bindgen

tauri-sys Raw bindings to the Tauri API for projects using wasm-bindgen Installation This crate is not yet published to crates.io, so you need to use

Comments
  • Add <html lang= and , append to .gitignore">

    Add and , append to .gitignore

    Added to .gitignore for a file created by VSCode. Also added minor changes to the html to ensure proper viewport size and ensuring proper language rendering.

    opened by ahadley1124 1
  • Bump serde_json from 1.0.93 to 1.0.94

    Bump serde_json from 1.0.93 to 1.0.94

    Bumps serde_json from 1.0.93 to 1.0.94.

    Release notes

    Sourced from serde_json's releases.

    v1.0.94

    • Fix message duplication between serde_json::Error's Display and source() (#991, #992)
    Commits
    • a15bd09 Release 1.0.94
    • 3e418b1 Merge pull request #992 from dtolnay/errorsource
    • 7eeb169 Fix message duplication between error Display and source()
    • d9447c3 Ignore let_underscore_untyped pedantic clippy lint
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Add Tauri system dependencies to CI

    Add Tauri system dependencies to CI

    These packages are installed via apt install:

    • libgtk-3-dev
    • libsoup2.4-dev
    • libjavascriptcoregtk-4.0-dev
    • libwebkit2gtk-4.0-dev

    These binaries are installed via cargo install:

    • trunk
    • tauri-cli
    opened by sshine 0
  • Resolve

    Resolve "Node.js 12 actions are deprecated" CI warning

    The CI workflow depends on actions-rs/toolchain to install the Rust toolchain:

          - name: Install stable toolchain + additional wasm target
            uses: actions-rs/[email protected] # v1.0.7, 2020-03-24
            with:
              target: wasm32-unknown-unknown
              profile: minimal
              toolchain: stable
              override: true
    

    Unfortunately, this action depends on Node 12.0, which GitHub marked as deprecated September 2022:

    Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/[email protected], actions-rs/[email protected] For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.

    There is not a final date for deprecating Node 12.0 yet:

    We will monitor the progress of the migration and listen to the community for how things are going before we define a final date.

    Whether actions-rs/toolchain upgrades to Node 16.0 is being tracked here:

    • https://github.com/actions-rs/toolchain/issues/219

    The worst case is that GitHub deprecates Node 12.0 before actions-rs/toolchain bumps their dependency; at this point we can quickly switch to one of the alternatives suggested in the upstream tracking issue. Those involve curl ... | sh, so they probably don't cache as well.

    This issue can be closed when those warnings are resolved.

    opened by sshine 2
Owner
Simon Shine
Simon Shine
This is a small demo to accompany the Tauri + Yew tutorial

Tauri + Yew Demo This is a small demo to accompany the Tauri + Yew tutorial

Steve Pryde 94 Jan 2, 2023
A cross-platform tauri gui where Oblique Strategies meets Pomodoro

Obliqoro Oblique Strategies meets Pomodoro Built in Rust, Vue3, and Typescript, using Tauri, and SQLite Screenshots About Obliqoro is an open source,

Jack Wills 8 Dec 19, 2022
Hydrogen is the desktop application for Geplauder, built with tauri studio.

Hydrogen Hydrogen is the desktop application for Geplauder, built with tauri studio. For more information on Geplauder, click here. Usage To configure

null 4 Nov 21, 2021
A fork of yew-router

Yew Router (fork) This is fork of version 0.15 of the yew-router. Motivation The main motivation behind the fork is the lack of nested router support

Jens Reimann 2 Jan 4, 2022
Searchbuddy is a browser extension that lets you chat with people that are searching for what you're searching for.

searchbuddy Make friends while searching! Searchbuddy is a browser extension that lets you chat with people that are searching for what you're searchi

Joseph Gerber 14 May 23, 2022
A lightning fast state management module for Yew.

yewv A lightning fast state management module for Yew built with performance and simplicity as a first priority. Who is this for? If you wish to use a

null 7 Dec 8, 2022
A framework experience for Yew.

stackable A framework experience for Yew. Stackable provides a development stack with: Tooling around Server-side Rendering Support. An easy-to-use, S

Kaede Hoshikawa 8 Dec 30, 2022
Styling framework for Yew ✂

??‍♂️ + ?? -> Hallings - components for Yew ❓ Purpose What if there existed a couple of pre-built components for yew like password strength checker or

David Styrbjörn 3 Jan 6, 2023
Scaffold that provides a basic setup for a Yew app with DaisyUI for styling.

Yew and Tailwind CSS Scaffold This scaffold provides a basic setup for a Yew app with Tailwind CSS for styling. It also includes DaisyUI, a Tailwind C

Alessio Marchi 6 Mar 3, 2023
Tauri and Leptos example.

tauri-leptos-example Tauri Leptos Requires Rust Nightly. See Leptos nightly Note. # Install Tauri CLI cargo install tauri-cli # Build and develop for

Michal Vavra 5 Dec 6, 2022