feat(app): offline-кэш GET-запросов на дашборде — фаза 5
CacheInterceptor кэширует каждый успешный GET по путь+параметры в drift (sqlite нативно, wasm+OPFS в браузере) и подменяет им сетевую ошибку; провайдер отдаёт Cached<T>, экран показывает баннер «данные на …». Контракт для остальных экранов — docs/ai/offline-cache.md. flake.nix: libsecret/pkg-config для линуксовой сборки, jq/curl для just app-web-assets (сборка sqlite3.wasm + drift_worker.js).
This commit is contained in:
@@ -24,6 +24,8 @@
|
||||
pkgs.just
|
||||
pkgs.postgresql_17 # local dev cluster (`just db-start`) and psql
|
||||
pkgs.openapi-generator-cli # `just gen-client`
|
||||
pkgs.jq # `just app-web-assets` reads package_config.json / pub deps
|
||||
pkgs.curl # `just app-web-assets` fetches sqlite3.wasm from GitHub releases
|
||||
];
|
||||
|
||||
commonHook = ''
|
||||
@@ -49,7 +51,12 @@
|
||||
};
|
||||
# backend + Flutter toolchain (large download on first use)
|
||||
app = pkgs.mkShell {
|
||||
packages = backendTools ++ [ pkgs.flutter ];
|
||||
packages = backendTools ++ [
|
||||
pkgs.flutter
|
||||
# Linux desktop build: flutter_secure_storage_linux links libsecret via pkg-config
|
||||
pkgs.pkg-config
|
||||
pkgs.libsecret
|
||||
];
|
||||
shellHook = commonHook;
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user