Skip to content

Latest commit

 

History

2,074 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Sable Sable Next

A from-scratch rewrite of Sable, with Svelte and Rust.

Join the Matrix space at #sable:sable.moe to discuss the project and meowing.

The development web build is deployed to next.sable.moe. See infra/README.md for the Cloudflare Worker and OpenTofu setup.

Getting started

mise manages Node, pnpm, Rust, and other tooling.

mise install
mise run setup    # pnpm install + git hooks
mise run dev      # SvelteKit on http://localhost:3000

mise run dev builds the development WASM bundle first. While editing Rust in another terminal, run mise run wasm:watch; Vite reloads after each regenerated bundle. Production builds generate the optimised WASM bundle automatically.

pnpm test:e2e generates its WASM bundle in src/generated/wasm-e2e/, so it can run while the development server is using src/generated/wasm/.

Run mise tasks for the full list.

Apps (Tauri)

Native builds use Tauri. Targets: Windows, macOS, Linux, Android, and iOS.

mise run tauri:setup          # Shared Rust/system dependencies, including Linux packages
mise run tauri:icons          # Regenerate native icons after changing the logo SVG
mise run tauri dev            # Run the app for the current desktop OS
mise run tauri:setup:windows  # Windows: Visual Studio Build Tools + WebView2
mise run tauri:setup:macos    # macOS: Xcode
mise run tauri:setup:android  # Android: SDK packages + NDK
mise run tauri:setup:ios      # iOS: Xcode project + CocoaPods (macOS)

Every push to main publishes bundles for all five targets as a distinct nightly prerelease. Linux x86_64 and Android build here; macOS, Windows, iOS and Linux aarch64 build on the GitHub mirror and attach their bundles, with attestations, to the same release. Tagged releases are not set up yet.

The web build ships with every release as sable-next-<version>-web.tar.gz. Extract it into your web root to serve the app yourself; see Caddyfile for an example configuration.

Proxy

Start a desktop app with --proxy to send all of its traffic through an HTTP or SOCKS5 proxy, for example --proxy=socks5://127.0.0.1:9050. On Windows, add it to the end of the shortcut's Target, after the quoted path. A SOCKS5 proxy also resolves host names, so lookups do not leave the proxy. An invalid value shows an error and quits rather than starting without the proxy.

Linux (Flatpak)

Nightly builds have their own Flatpak remote, rebuilt from main on every push:

flatpak remote-add --if-not-exists sable-next-nightly https://sableclient.github.io/sable-next/sable-next-nightly.flatpakrepo
flatpak install sable-next-nightly moe.sable.next.Nightly

Built by the build-nightly-flatpak and publish-nightly-flatpak jobs in tauri-build.yml.

Android (Obtainium)

APKs ship with every build, and Obtainium updates them straight from Forgejo. Each build also publishes an obtainium.json app config.

Add to Obtainium   App config   Download APK

Setup & install

  1. Install Obtainium.
  2. Tap Add to Obtainium above. It enables prereleases and selects the nightly build releases.
  3. Or download obtainium.json and import it with Import/Export → Import from file.

Apps added before the move to per-build prereleases have to be removed and re-added.

iOS (AltStore / SideStore)

iOS builds are unsigned IPAs distributed through AltStore and SideStore. Each nightly publishes its IPA in its own prerelease; altstore-source.json lists them.

Add to AltStore   Add to SideStore   Direct URL

Setup & install

  1. Set up AltStore Classic or SideStore on your device.
  2. Tap a button above, or add the source manually:
    • AltStore: altstore://source?url=https://git.sable.moe/SableClient/sable-next/releases/download/nightly/altstore-source.json
    • SideStore: sidestore://source?url=https://git.sable.moe/SableClient/sable-next/releases/download/nightly/altstore-source.json
  3. Install Sable Next from the source. AltStore/SideStore re-sign the unsigned IPA with your personal development certificate at install time, so apps refresh every 7 days on a free account.

Both configs come from the obtainium and altstore jobs in tauri-build.yml.

Contributing

See CONTRIBUTING.md.

License

AGPL-3.0-or-later, with an additional permission for App Store executables under MPL 2.0. The Sable name and logo are covered by TRADEMARKS.md.

About

Sable rewrite in Rust and Svelte next.sable.moe, Mirrored from https://git.sable.moe/SableClient/sable-next

Resources

Code of conduct

Contributing

Security policy

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages