Feature/consolidate setup (#3092)

* start consolidating

* add start-cli flash-os

* combine install and setup and refactor all

* use http

* undo mock

* fix translation

* translations

* use dialogservice wrapper

* better ST messaging on setup

* only warn on update if breakages (#3097)

* finish setup wizard and ui language-keyboard feature

* fix typo

* wip: localization

* remove start-tunnel readme

* switch to posix strings for language internal

* revert mock

* translate backend strings

* fix missing about text

* help text for args

* feat: add "Add new gateway" option (#3098)

* feat: add "Add new gateway" option

* Update web/projects/ui/src/app/routes/portal/components/form/controls/select.component.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add translation

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Matt Hill <mattnine@protonmail.com>

* fix dns selection

* keyboard keymap also

* ability to shutdown after install

* revert mock

* working setup flow + manifest localization

* (mostly) redundant localization on frontend

* version bump

* omit live medium from disk list and better space management

* ignore missing package archive on 035 migration

* fix device migration

* add i18n helper to sdk

* fix install over 0.3.5.1

* fix grub config

---------

Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com>
Co-authored-by: Alex Inkin <alexander@inkin.ru>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Aiden McClelland
2026-01-27 14:44:41 -08:00
committed by GitHub
parent 99871805bd
commit c65db31fd9
251 changed files with 12163 additions and 3966 deletions

View File

@@ -20,7 +20,7 @@ use crate::prelude::*;
use crate::rpc_continuations::Guid;
use crate::s9pk::S9pk;
use crate::s9pk::git_hash::GitHash;
use crate::s9pk::manifest::Manifest;
use crate::s9pk::manifest::{LocaleString, Manifest};
use crate::s9pk::merkle_archive::directory_contents::DirectoryContents;
use crate::s9pk::merkle_archive::source::http::HttpSource;
use crate::s9pk::merkle_archive::source::multi_cursor_file::MultiCursorFile;
@@ -155,20 +155,21 @@ impl From<PackSource> for DynFileSource {
#[derive(Deserialize, Serialize, Parser)]
pub struct PackParams {
#[arg(help = "help.arg.input-path")]
pub path: Option<PathBuf>,
#[arg(short, long)]
#[arg(short, long, help = "help.arg.output-path")]
pub output: Option<PathBuf>,
#[arg(long)]
#[arg(long, help = "help.arg.javascript-path")]
pub javascript: Option<PathBuf>,
#[arg(long)]
#[arg(long, help = "help.arg.icon-path")]
pub icon: Option<PathBuf>,
#[arg(long)]
#[arg(long, help = "help.arg.license-path")]
pub license: Option<PathBuf>,
#[arg(long, conflicts_with = "no-assets")]
#[arg(long, conflicts_with = "no-assets", help = "help.arg.assets-path")]
pub assets: Option<PathBuf>,
#[arg(long, conflicts_with = "assets")]
#[arg(long, conflicts_with = "assets", help = "help.arg.no-assets")]
pub no_assets: bool,
#[arg(long, help = "Architecture Mask")]
#[arg(long, help = "help.arg.architecture-mask")]
pub arch: Vec<InternedString>,
}
impl PackParams {
@@ -280,19 +281,19 @@ pub struct ImageConfig {
#[derive(Parser)]
struct CliImageConfig {
#[arg(long, conflicts_with("docker-tag"))]
#[arg(long, conflicts_with("docker-tag"), help = "help.arg.docker-build")]
docker_build: bool,
#[arg(long, requires("docker-build"))]
#[arg(long, requires("docker-build"), help = "help.arg.dockerfile-path")]
dockerfile: Option<PathBuf>,
#[arg(long, requires("docker-build"))]
#[arg(long, requires("docker-build"), help = "help.arg.workdir-path")]
workdir: Option<PathBuf>,
#[arg(long, conflicts_with_all(["dockerfile", "workdir"]))]
#[arg(long, conflicts_with_all(["dockerfile", "workdir"]), help = "help.arg.docker-tag")]
docker_tag: Option<String>,
#[arg(long)]
#[arg(long, help = "help.arg.architecture-mask")]
arch: Vec<InternedString>,
#[arg(long)]
#[arg(long, help = "help.arg.emulate-missing-arch")]
emulate_missing_as: Option<InternedString>,
#[arg(long)]
#[arg(long, help = "help.arg.nvidia-container")]
nvidia_container: bool,
}
impl TryFrom<CliImageConfig> for ImageConfig {
@@ -755,7 +756,7 @@ pub async fn pack(ctx: CliContext, params: PackParams) -> Result<(), Error> {
}
};
Some((
s9pk.as_manifest().title.clone(),
LocaleString::Translated(s9pk.as_manifest().title.to_string()),
s9pk.icon_data_url().await?,
))
}