Compare commits

...
Author SHA1 Message Date
65b86de9cd chore(deps): update tauri-build digest to dd6befd
Some checks failed
renovate/stability-days Updates have not met minimum release age requirement
Dependency builds / Test native MTP (pull_request) Failing after 3s
Dependency builds / Build desktop (pull_request) Failing after 5s
Dependency builds / Build web (pull_request) Failing after 6s
Dependency builds / Build mobile (pull_request) Failing after 5s
2026-08-27 21:00:52 +03:00
094cb910aa
Merge remote-tracking branch 'origin/dev' into dev
Some checks failed
Dependency builds / Build web (pull_request) Has been skipped
Dependency builds / Build desktop (pull_request) Has been skipped
Dependency builds / Test native MTP (pull_request) Has been skipped
Dependency builds / Build mobile (pull_request) Has been skipped
/ build-web (push) Successful in 7m14s
/ build-mobile (push) Failing after 12m6s
/ build-desktop (linux) (push) Successful in 12m16s
/ release (push) Has been skipped
# Conflicts:
#	apps/pwa/src/runtime.tsx
#	flake.nix
#	packages/mtp/src/context.test.tsx
#	packages/mtp/src/context.tsx
2026-08-27 19:39:52 +02:00
cf17365c8f
Merge branch 'main' into dev 2026-08-27 19:36:41 +02:00
aa34bd962b
temp(mtp): temp commit stuff that needs to get a rework 2026-08-27 19:35:17 +02:00
1d1b304bcf
feat(workflows): remove env thing 2026-08-27 19:32:48 +02:00
forgejo-actions
0fbedf6733 (qol): update release flake hash
Some checks were skipped
Dependency builds / Build web (pull_request) Has been skipped
Dependency builds / Build desktop (pull_request) Has been skipped
Dependency builds / Build mobile (pull_request) Has been skipped
2026-08-27 12:59:08 +00:00
96b81d30b1
feat(pwa): keep service workers from getting registerd outside the pwa
Some checks failed
/ build-web (push) Successful in 5m32s
/ build-desktop (linux) (push) Successful in 9m55s
/ build-mobile (push) Successful in 18m33s
/ release (push) Failing after 1m42s
2026-08-27 14:38:53 +02:00
forgejo-actions
d0918ff384 (qol): update release flake hash 2026-08-18 20:46:44 +00:00
0ac20f09e4 Merge pull request 'Add pwa & stuff' (#75) from dev into main
All checks were successful
/ build-web (push) Successful in 5m44s
/ build-desktop (linux) (push) Successful in 10m41s
/ build-mobile (push) Successful in 20m49s
/ release (push) Successful in 1m46s
Reviewed-on: #75
2026-08-18 22:32:16 +03:00
73db7e6b2b Update flake.nix 2026-08-12 15:12:05 +02:00
forgejo-actions
ac1bdf5ac2 (qol): update release flake hash 2026-08-06 14:47:23 +00:00
7 changed files with 187 additions and 29 deletions

View file

@ -5,9 +5,6 @@ on:
paths-ignore:
- flake.nix
env:
NIX_CONFIG: experimental-features = nix-command flakes
jobs:
build-web:
runs-on: nixos

View file

@ -6,9 +6,6 @@ on:
paths-ignore:
- flake.nix
env:
NIX_CONFIG: experimental-features = nix-command flakes
jobs:
build-web:
runs-on: nixos

View file

@ -22,9 +22,10 @@ export function subscribeTuFileLaunch(listener: (file: File) => void) {
};
}
function isStandalone() {
function isInstalledPwa() {
return (
window.matchMedia("(display-mode: standalone)").matches ||
window.matchMedia("(display-mode: window-controls-overlay)").matches ||
(navigator as Navigator & { standalone?: boolean }).standalone === true
);
}
@ -60,10 +61,9 @@ async function enablePush() {
await setDatabaseEntry("keys", "push-subscription", subscription.toJSON());
}
export default function PwaRuntime() {
function InstalledPwaRuntime() {
useEffect(() => {
if (
isTauri() ||
!("serviceWorker" in navigator) ||
!["http:", "https:"].includes(window.location.protocol)
) {
@ -94,7 +94,15 @@ export default function PwaRuntime() {
if (worker.state !== "installed") return;
if (!navigator.serviceWorker.controller) {
toast.success("Tensamin is ready for offline startup");
return;
}
toast("A Tensamin update is ready", {
duration: Infinity,
action: {
label: "Update",
onClick: () => worker.postMessage({ type: "SKIP_WAITING" }),
},
});
});
};
if (registration.installing) watchWorker(registration.installing);
@ -134,7 +142,6 @@ export default function PwaRuntime() {
useEffect(() => {
if (
!isStandalone() ||
!("Notification" in window) ||
Notification.permission !== "default" ||
localStorage.getItem("pwa-push-hint")
@ -163,7 +170,6 @@ export default function PwaRuntime() {
useEffect(() => {
if (
isStandalone() &&
"Notification" in window &&
Notification.permission === "granted" &&
import.meta.env.VITE_WEB_PUSH_PUBLIC_KEY
@ -176,3 +182,8 @@ export default function PwaRuntime() {
return null;
}
export default function PwaRuntime() {
if (isTauri() || !isInstalledPwa()) return null;
return <InstalledPwaRuntime />;
}

View file

@ -128,6 +128,7 @@ export function tensaminPwa(): Plugin[] {
filename: "serviceWorker.ts",
injectRegister: null,
registerType: "prompt",
buildBase: "/",
manifestFilename: "manifest.json",
includeAssets: ["favicon.ico", "icons/*.png"],
manifest: {

View file

@ -560,6 +560,17 @@ dependencies = [
"uuid",
]
[[package]]
name = "cfb"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a347dcabdae9c31b0825fd6a8bed285ec9c2acb89c47827126d52fa4f59cece3"
dependencies = [
"fnv",
"uuid",
"web-time",
]
[[package]]
name = "cfg-expr"
version = "0.15.8"
@ -826,7 +837,20 @@ version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2"
dependencies = [
"cssparser-macros",
"cssparser-macros 0.6.1",
"dtoa-short",
"itoa",
"phf",
"smallvec",
]
[[package]]
name = "cssparser"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c9cdaae01d5ed7882b04d795e7f752f46ff52d2fa3b50a20d28c464510bba98"
dependencies = [
"cssparser-macros 0.7.0",
"dtoa-short",
"itoa",
"phf",
@ -843,6 +867,16 @@ dependencies = [
"syn 2.0.119",
]
[[package]]
name = "cssparser-macros"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10a2a99df6e410a8ff4245aa2006499ea662245f967cc7c0a38c83ef8eb44dbf"
dependencies = [
"quote",
"syn 2.0.119",
]
[[package]]
name = "ctor"
version = "0.8.0"
@ -1127,11 +1161,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89"
dependencies = [
"bit-set",
"cssparser",
"cssparser 0.36.0",
"foldhash",
"html5ever",
"html5ever 0.38.0",
"precomputed-hash",
"selectors",
"selectors 0.36.1",
"tendril",
]
[[package]]
name = "dom_query"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fac5fca71e65e94cc718a6e2af65d6e0f9c6027751c2aa562fbb5087fda639bc"
dependencies = [
"bit-set",
"cssparser 0.37.0",
"foldhash",
"html5ever 0.39.0",
"precomputed-hash",
"selectors 0.38.0",
"tendril",
]
@ -1982,7 +2031,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2"
dependencies = [
"log",
"markup5ever",
"markup5ever 0.38.0",
]
[[package]]
name = "html5ever"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46a1761807faccc9a19e86944bbf40610014066306f96edcdedc2fb714bcb7b8"
dependencies = [
"log",
"markup5ever 0.39.0",
]
[[package]]
@ -2278,7 +2337,16 @@ version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7"
dependencies = [
"cfb",
"cfb 0.7.3",
]
[[package]]
name = "infer"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4200d433cbd5178df7797c9c2e75b348b728e39631cf14520d1e2fc424201f4"
dependencies = [
"cfb 0.14.0",
]
[[package]]
@ -2641,6 +2709,17 @@ dependencies = [
"web_atoms",
]
[[package]]
name = "markup5ever"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7122d987ec5f704ee56f6e5b41a7d93722e9aae27ae07cafa4036c4d3f9757de"
dependencies = [
"log",
"tendril",
"web_atoms",
]
[[package]]
name = "memchr"
version = "2.8.3"
@ -4200,7 +4279,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c"
dependencies = [
"bitflags 2.13.1",
"cssparser",
"cssparser 0.36.0",
"derive_more",
"log",
"new_debug_unreachable",
"phf",
"phf_codegen",
"precomputed-hash",
"rustc-hash",
"servo_arc",
"smallvec",
]
[[package]]
name = "selectors"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8adfa1c298912827b8a28b223b3b874357397ae706e6190acd9bf28cee99114d"
dependencies = [
"bitflags 2.13.1",
"cssparser 0.37.0",
"derive_more",
"log",
"new_debug_unreachable",
@ -4798,7 +4896,7 @@ dependencies = [
"serde_repr",
"serialize-to-javascript",
"swift-rs",
"tauri-build",
"tauri-build 2.6.3 (git+https://github.com/tauri-apps/tauri?rev=4af26a3f7f8b692d62cca549bbacd93f5ce90b41)",
"tauri-macros",
"tauri-runtime",
"tauri-runtime-wry",
@ -4833,6 +4931,26 @@ dependencies = [
"walkdir",
]
[[package]]
name = "tauri-build"
version = "2.6.3"
source = "git+https://github.com/tauri-apps/tauri?rev=dd6befda925845fc74ca595d6d42de6c49580dd8#dd6befda925845fc74ca595d6d42de6c49580dd8"
dependencies = [
"anyhow",
"cargo_toml",
"dirs",
"glob",
"heck 0.5.0",
"json-patch 4.2.0",
"schemars 0.8.22",
"semver",
"serde",
"serde_json",
"tauri-utils 2.9.3 (git+https://github.com/tauri-apps/tauri?rev=dd6befda925845fc74ca595d6d42de6c49580dd8)",
"tauri-winres",
"walkdir",
]
[[package]]
name = "tauri-codegen"
version = "2.6.3"
@ -5027,11 +5145,11 @@ dependencies = [
"anyhow",
"cargo_metadata",
"ctor 0.8.0",
"dom_query",
"dom_query 0.27.0",
"dunce",
"glob",
"http",
"infer",
"infer 0.19.0",
"json-patch 3.0.1",
"log",
"memchr",
@ -5063,11 +5181,11 @@ dependencies = [
"brotli",
"cargo_metadata",
"ctor 1.0.12",
"dom_query",
"dom_query 0.27.0",
"dunce",
"glob",
"http",
"infer",
"infer 0.19.0",
"json-patch 4.2.0",
"log",
"memchr",
@ -5091,6 +5209,42 @@ dependencies = [
"walkdir",
]
[[package]]
name = "tauri-utils"
version = "2.9.3"
source = "git+https://github.com/tauri-apps/tauri?rev=dd6befda925845fc74ca595d6d42de6c49580dd8#dd6befda925845fc74ca595d6d42de6c49580dd8"
dependencies = [
"anyhow",
"cargo_metadata",
"ctor 1.0.12",
"dom_query 0.28.0",
"dunce",
"glob",
"http",
"infer 0.22.0",
"json-patch 4.2.0",
"log",
"memchr",
"phf",
"plist",
"proc-macro2",
"quote",
"regex",
"schemars 0.8.22",
"semver",
"serde",
"serde-untagged",
"serde_json",
"serde_with",
"swift-rs",
"thiserror 2.0.19",
"toml 1.1.4+spec-1.1.0",
"url",
"urlpattern 0.6.0",
"uuid",
"walkdir",
]
[[package]]
name = "tauri-winres"
version = "0.3.6"
@ -5146,7 +5300,7 @@ dependencies = [
"serde",
"serde_json",
"tauri",
"tauri-build",
"tauri-build 2.6.3 (git+https://github.com/tauri-apps/tauri?rev=dd6befda925845fc74ca595d6d42de6c49580dd8)",
"tauri-plugin-deep-link",
"tauri-plugin-log",
"tauri-plugin-notification",
@ -6330,7 +6484,7 @@ dependencies = [
"cookie",
"crossbeam-channel",
"dirs",
"dom_query",
"dom_query 0.27.0",
"dpi",
"dunce",
"gdkx11",

View file

@ -15,7 +15,7 @@ name = "mobile_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { git = "https://github.com/tauri-apps/tauri", rev = "4af26a3f7f8b692d62cca549bbacd93f5ce90b41", features = [] }
tauri-build = { git = "https://github.com/tauri-apps/tauri", rev = "dd6befda925845fc74ca595d6d42de6c49580dd8", features = [] }
[dependencies]
tauri-plugin-opener = "2"

View file

@ -17,7 +17,7 @@
systems = [ "x86_64-linux" ];
forAllSystems = nixpkgs.lib.genAttrs systems;
version = "0.0.11";
x86_64DebHash = "sha256-p/6boNv9uWTHsPTVa3EhGzr41EwRzCY/fJWlj854DVA=";
x86_64DebHash = "sha256-iMEgdjY8Ghlx6K/YzKC5JAZbeHNJDIFHm8MKmM4efaI=";
forgejoBaseUrl = "https://git.methanium.net/tensamin/client/releases/download/${version}";
in
{
@ -63,7 +63,6 @@
pipewire
systemd
wayland
webkitgtk_4_1
libX11
libXScrnSaver
libXcomposite
@ -185,7 +184,6 @@
pipewire
systemd
wayland
webkitgtk_4_1
libX11
libXScrnSaver
libXcomposite