From da29ea46d9078df2ca41b5be33ed44a8adc3014a Mon Sep 17 00:00:00 2001 From: Nadia Liliana Kulczycka Date: Thu, 23 Jul 2026 22:50:33 +0200 Subject: [PATCH 1/4] Add guide for getting Sable from Obtainium. --- .vscode/settings.json | 2 +- README.md | 31 +++++++++++++++++++++++++++++++ obtainium-source-nightly.json | 11 +++++++++++ obtainium-source-stable.json | 11 +++++++++++ 4 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 obtainium-source-nightly.json create mode 100644 obtainium-source-stable.json diff --git a/.vscode/settings.json b/.vscode/settings.json index 78a3d23b9a..6c391fa534 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,7 +11,7 @@ "editor.defaultFormatter": "oxc.oxc-vscode" }, "[json]": { - "editor.defaultFormatter": "oxc.oxc-vscode" + "editor.defaultFormatter": "vscode.json-language-features" }, "[rust]": { "editor.defaultFormatter": "rust-lang.rust-analyzer" diff --git a/README.md b/README.md index bc361d5b6e..e715a25012 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,37 @@ Sable iOS builds are distributed as unsigned IPAs through [AltStore](https://alt iOS builds are produced by the `ios` job in [`tauri-build.yml`](.github/workflows/tauri-build.yml) and track the same `dev`/`v*` triggers as desktop builds. +## Android (Obtainium) + +### Nightly Source + +Add to Obtainium +  + +### Stable Source + +Add to Obtainium +  + +### Setup and install + +1. Set up [Obtainium](https://wiki.obtainium.imranr.dev/) on your device. +2. Add the Sable source by either: + - Tapping one of the buttons above. + - Importing one of the JSON files: + - [Nightly](https://raw.githubusercontent.com/SableClient/Sable/refs/heads/dev/obtainium-source-nightly.json) + - [Stable](https://raw.githubusercontent.com/SableClient/Sable/refs/heads/dev/obtainium-source-stable.json) + - Adding it manually - use as the GitHub link and follow the section below with regards to setting app variables +3. Install Sable from the source. + +### Relevant variables and switching between Nightly and Stable + +Relevant variable differences between Nightly and Stable: +- *Include prereleases* - `true` for Nightly, `false` for Stable +- *Fallback to older releases* - `false` for Nightly, `true` for Stable +- *Use latest asset upload as release date* - `true` for Nightly, `false` for Stable (this is due to Nightly builds being uploaded to one release instead of creating new ones) +- *Use release date as version string (pseudo-version)* - `true` for Nightly, `false` for Stable (this is due to Nightly builds being uploaded to one release instead of creating new ones) + ## Self-hosting You have a few options for self hosting, you can: 1. Run the prebuilt docker container. diff --git a/obtainium-source-nightly.json b/obtainium-source-nightly.json new file mode 100644 index 0000000000..9d4e3bdd00 --- /dev/null +++ b/obtainium-source-nightly.json @@ -0,0 +1,11 @@ +{ + "apps": [ + { + "id": "moe.sable.client", + "url": "https://github.com/SableClient/Sable", + "author": "SableClient", + "name": "Sable", + "additionalSettings": "{\"includePrereleases\":true,\"fallbackToOlderReleases\":false,\"filterReleaseTitlesByRegEx\":\"\",\"filterReleaseNotesByRegEx\":\"\",\"verifyLatestTag\":false,\"dontSortReleasesList\":false,\"useLatestAssetDateAsReleaseDate\":true,\"trackOnly\":false,\"versionExtractionRegEx\":\"\",\"matchGroupToUse\":\"\",\"versionDetection\":true,\"releaseDateAsVersion\":true,\"useVersionCodeAsOSVersion\":false,\"apkFilterRegEx\":\"\",\"invertAPKFilter\":false,\"autoApkFilterByArch\":true,\"appName\":\"Sable\",\"shizukuPretendToBeGooglePlay\":false,\"exemptFromBackgroundUpdates\":false,\"skipUpdateNotifications\":false,\"about\":\"An almost stable Matrix client\",\"appAuthor\":\"SableClient\"}" + } + ] +} \ No newline at end of file diff --git a/obtainium-source-stable.json b/obtainium-source-stable.json new file mode 100644 index 0000000000..9d4e3bdd00 --- /dev/null +++ b/obtainium-source-stable.json @@ -0,0 +1,11 @@ +{ + "apps": [ + { + "id": "moe.sable.client", + "url": "https://github.com/SableClient/Sable", + "author": "SableClient", + "name": "Sable", + "additionalSettings": "{\"includePrereleases\":true,\"fallbackToOlderReleases\":false,\"filterReleaseTitlesByRegEx\":\"\",\"filterReleaseNotesByRegEx\":\"\",\"verifyLatestTag\":false,\"dontSortReleasesList\":false,\"useLatestAssetDateAsReleaseDate\":true,\"trackOnly\":false,\"versionExtractionRegEx\":\"\",\"matchGroupToUse\":\"\",\"versionDetection\":true,\"releaseDateAsVersion\":true,\"useVersionCodeAsOSVersion\":false,\"apkFilterRegEx\":\"\",\"invertAPKFilter\":false,\"autoApkFilterByArch\":true,\"appName\":\"Sable\",\"shizukuPretendToBeGooglePlay\":false,\"exemptFromBackgroundUpdates\":false,\"skipUpdateNotifications\":false,\"about\":\"An almost stable Matrix client\",\"appAuthor\":\"SableClient\"}" + } + ] +} \ No newline at end of file From 8b7410df29c095da799872c688eb59e866995b82 Mon Sep 17 00:00:00 2001 From: Nadia Liliana Kulczycka Date: Thu, 23 Jul 2026 22:57:10 +0200 Subject: [PATCH 2/4] Fix docker tags in README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e715a25012..df433fabf4 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,8 @@ You have a few options for self hosting, you can: Prebuilt images are published to `ghcr.io/sableclient/sable`. -- `latest` tracks the current `dev` branch image. +- `latest` tracks the current latest version release. +- `dev` tracks the current `dev` branch image. - `X.Y.Z` tags are versioned releases. - `X.Y` tags float within a release line. - Pushes to `dev` also publish a short commit SHA tag. From 987a5dabf4970c9a67e815606d574e6c54f0121f Mon Sep 17 00:00:00 2001 From: Nadia Liliana Kulczycka Date: Thu, 23 Jul 2026 23:06:34 +0200 Subject: [PATCH 3/4] Attempt to adjust image size --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index df433fabf4..0c609d111f 100644 --- a/README.md +++ b/README.md @@ -49,12 +49,12 @@ iOS builds are produced by the `ios` job in [`tauri-build.yml`](.github/workflow ### Nightly Source -Add to Obtainium +Add to Obtainium   ### Stable Source -Add to Obtainium +Add to Obtainium   ### Setup and install From e47cb02ab04c519264c9992774d2e11ed78547e6 Mon Sep 17 00:00:00 2001 From: Nadia Liliana Kulczycka Date: Thu, 23 Jul 2026 23:17:55 +0200 Subject: [PATCH 4/4] Reset the json default formatter --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 6c391fa534..78a3d23b9a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,7 +11,7 @@ "editor.defaultFormatter": "oxc.oxc-vscode" }, "[json]": { - "editor.defaultFormatter": "vscode.json-language-features" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "[rust]": { "editor.defaultFormatter": "rust-lang.rust-analyzer"