From 27d8747203aa09809928a83b1b0470223479f68e Mon Sep 17 00:00:00 2001 From: Z User Date: Thu, 12 Nov 2026 12:21:29 +0000 Subject: [PATCH 1/2] feat(settings): git network options, env mirror and extras, CA trust fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Settings, three areas at once (they share the store, the screen and the guest environment wiring): Git tab — network & cloning: - Shallow clone (--depth 1) as an opt-in for mobile networks. - SSL verification toggle for remote operations, on by default; the off state shows a warning in the UI. Passed as -c http.sslVerify via the new GitAuth.NetOptions, so the per-command hardcode is replaced by a configurable default that local operations keep. - HTTP proxy (host:port) applied to clone/pull/push via -c http.proxy. Environment tab: - Download mirror (direct GitHub or ghproxy.net prefix) for the toolset archives; integrity is untouched because archives stay digest-pinned (ToolsetInstaller.applyMirror routes only github.com release assets). - User-defined environment variables, one KEY=value per line, merged into every guest process (terminal, git, server); invalid lines are skipped and counted in the UI. Never exported in the settings backup. - Installed-environment info rows: CLI version, Debian suite and size. Backup/restore carries the new non-secret fields (git options, mirror). SSL CA fix (clone failed with "Problem with the SSL CA cert (path? access rights?)"): the toolset ships ca-certificates' certificate files but not the combined /etc/ssl/certs/ca-certificates.crt — that bundle is generated by the package post-install script, which never runs when packages are extracted app-side (ADR-008). New SslTrust rebuilds the bundle as a pure file write: during bootstrap (loud failure if the toolset carries no certificates), once per app launch for environments installed before this fix, and idempotently before every network git operation. GIT_SSL_CAINFO / SSL_CERT_FILE are exported to all guest processes as belt and suspenders. Import/export settings actions are stacked full-width: two long labels shared one row badly on phone widths. Verified against the published toolset tarball (150 packaged .crt files, empty /etc/ssl/certs) — the same failure the user hit when cloning. --- .../oustery/opencodephone/OpenCodePhoneApp.kt | 20 ++- .../opencodephone/ui/files/FilesViewModel.kt | 31 +++- .../ui/settings/SettingsScreen.kt | 152 +++++++++++++++++- .../ui/settings/SettingsViewModel.kt | 60 +++++++ app/src/main/res/values-ru/strings.xml | 21 +++ app/src/main/res/values/strings.xml | 21 +++ .../core/linuxenv/BootstrapManager.kt | 12 +- .../core/linuxenv/EnvironmentRuntime.kt | 6 + .../opencodephone/core/linuxenv/GitAuth.kt | 30 +++- .../opencodephone/core/linuxenv/SslTrust.kt | 76 +++++++++ .../core/linuxenv/ToolsetInstaller.kt | 16 +- .../core/linuxenv/GitAuthTest.kt | 15 ++ .../core/linuxenv/SslTrustTest.kt | 76 +++++++++ .../core/linuxenv/ToolsetInstallerTest.kt | 25 +++ .../core/settings/SettingsStore.kt | 82 +++++++++- .../core/settings/EnvExtrasParsingTest.kt | 48 ++++++ 16 files changed, 671 insertions(+), 20 deletions(-) create mode 100644 core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/SslTrust.kt create mode 100644 core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/SslTrustTest.kt create mode 100644 core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstallerTest.kt create mode 100644 core/settings/src/test/java/io/github/oustery/opencodephone/core/settings/EnvExtrasParsingTest.kt diff --git a/app/src/main/java/io/github/oustery/opencodephone/OpenCodePhoneApp.kt b/app/src/main/java/io/github/oustery/opencodephone/OpenCodePhoneApp.kt index bb03529..0b2fb23 100644 --- a/app/src/main/java/io/github/oustery/opencodephone/OpenCodePhoneApp.kt +++ b/app/src/main/java/io/github/oustery/opencodephone/OpenCodePhoneApp.kt @@ -5,6 +5,7 @@ import android.content.Context import io.github.oustery.opencodephone.core.linuxenv.BootstrapManager import io.github.oustery.opencodephone.core.linuxenv.EnvLayout import io.github.oustery.opencodephone.core.linuxenv.EnvironmentRuntime +import io.github.oustery.opencodephone.core.linuxenv.SslTrust import io.github.oustery.opencodephone.core.model.AgentActivity import io.github.oustery.opencodephone.core.opencode.ConnectionConfig import io.github.oustery.opencodephone.core.opencode.OpenCodeClient @@ -44,9 +45,16 @@ class AppGraph(context: Application) { val layout: EnvLayout = EnvLayout(context) - val runtime: EnvironmentRuntime = EnvironmentRuntime(layout) + val runtime: EnvironmentRuntime = EnvironmentRuntime( + layout, + extraEnv = { SettingsStore.parseEnvExtras(settings.envExtrasRaw()) }, + ) - val bootstrap: BootstrapManager = BootstrapManager(layout, runtime, appScope, settings.opencodeVersionPin()) + val bootstrap: BootstrapManager = BootstrapManager( + layout, runtime, appScope, + settings.opencodeVersionPin(), + mirror = { settings.downloadMirror() }, + ) private val _serverConfiguration = MutableStateFlow(settings.effectiveServerConfig()) val serverConfiguration: StateFlow = _serverConfiguration @@ -101,6 +109,14 @@ class AppGraph(context: Application) { } init { + appScope.launch(Dispatchers.IO) { + // Environments installed before the CA-bundle repair never got a + // trust store, so git/curl HTTPS fails with "Problem with the SSL + // CA cert". Rebuild it once per launch — this also covers git run + // by the agent inside the environment (Files' own operations + // re-check before every network call). + if (layout.isInstalled()) SslTrust.ensure(layout.rootfsDir) + } appScope.launch { observeServerLifecycle( enabled = localServerEnabled, diff --git a/app/src/main/java/io/github/oustery/opencodephone/ui/files/FilesViewModel.kt b/app/src/main/java/io/github/oustery/opencodephone/ui/files/FilesViewModel.kt index 443f7db..9428f30 100644 --- a/app/src/main/java/io/github/oustery/opencodephone/ui/files/FilesViewModel.kt +++ b/app/src/main/java/io/github/oustery/opencodephone/ui/files/FilesViewModel.kt @@ -377,6 +377,21 @@ class FilesViewModel(private val graph: AppGraph) : ViewModel() { ) } private suspend fun migrate(repo: File) = GitAuth.migrateRemotes { exec(repo, it) } + + /** Remote-operation options (SSL verification, proxy) from Settings → Git. */ + private fun gitNet(): GitAuth.NetOptions { + val cfg = graph.settings.gitConfig() + return GitAuth.NetOptions(sslVerify = cfg.sslVerify, proxy = cfg.proxy) + } + + /** + * Idempotent CA-bundle repair before any network git operation (see + * [SslTrust]): covers environments installed before the repair existed. + * App-side file check, near-zero cost when the bundle already exists. + */ + private suspend fun ensureSslTrust() { + withContext(Dispatchers.IO) { SslTrust.ensure(graph.layout.rootfsDir) } + } private suspend fun refreshGit() { val repo = project ?: return // -z keeps paths unquoted and NUL-separated, so spaces and exotic @@ -413,7 +428,15 @@ class FilesViewModel(private val graph: AppGraph) : ViewModel() { } val target = files.checked(File(workspace, name)) check(!target.exists()) { graph.appContext.getString(R.string.files_clone_exists) } - val result = exec(workspace, GitAuth.command("clone", "--", clean, name), GitAuth.environment(clean, graph.settings.gitConfig().githubToken)) + ensureSslTrust() + // Optional shallow clone (Settings → Git): one commit deep — + // much less traffic and disk on mobile networks. + val depth = if (graph.settings.gitConfig().shallowClone) listOf("--depth", "1") else emptyList() + val result = exec( + workspace, + GitAuth.command(gitNet(), *(listOf("clone") + depth + listOf("--", clean, name)).toTypedArray()), + GitAuth.environment(clean, graph.settings.gitConfig().githubToken), + ) if (result.exitCode != 0) throw gitFailure(R.string.git_action_clone, result) project = target publishProject(target) @@ -503,10 +526,11 @@ class FilesViewModel(private val graph: AppGraph) : ViewModel() { task(graph.appContext.getString(R.string.files_busy_pushing)) { gitLock.withLock { val repo = checkNotNull(project) { graph.appContext.getString(R.string.files_no_repo) } migrate(repo) + ensureSslTrust() val remote = exec(repo, listOf("git", "remote", "get-url", "--push", "origin")) check(remote.exitCode == 0) { graph.appContext.getString(R.string.git_no_push_remote) } val clean = GitAuth.cleanUrl(remote.output.trim()) - val result = exec(repo, GitAuth.command("push", clean, "HEAD"), GitAuth.environment(clean, graph.settings.gitConfig().githubToken)) + val result = exec(repo, GitAuth.command(gitNet(), "push", clean, "HEAD"), GitAuth.environment(clean, graph.settings.gitConfig().githubToken)) if (result.exitCode != 0) throw gitFailure(R.string.git_action_push, result) _state.update { it.copy( @@ -532,10 +556,11 @@ class FilesViewModel(private val graph: AppGraph) : ViewModel() { require(branch.isNotEmpty() && branch != "HEAD") { graph.appContext.getString(R.string.git_no_branch) } val remote = exec(repo, listOf("git", "remote", "get-url", "origin")) check(remote.exitCode == 0) { graph.appContext.getString(R.string.git_no_remote) } + ensureSslTrust() val clean = GitAuth.cleanUrl(remote.output.trim()) val result = exec( repo, - GitAuth.command("pull", "--ff-only", clean, branch), + GitAuth.command(gitNet(), "pull", "--ff-only", clean, branch), GitAuth.environment(clean, graph.settings.gitConfig().githubToken), ) if (result.exitCode != 0) throw gitFailure(R.string.git_action_pull, result) diff --git a/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsScreen.kt b/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsScreen.kt index 1a9dbfb..ad8ab69 100644 --- a/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsScreen.kt @@ -97,6 +97,9 @@ private val KNOWN_PROVIDERS = listOf( "deepseek", "mistral", "xai", "azure", "amazon-bedrock", "github-copilot", ) +/** Mirror prefix for GitHub release downloads (Settings → Environment). */ +private const val MIRROR_GHPROXY_NET = "https://ghproxy.net" + /** * Groups of the redesigned settings screen (Android-Settings pattern): a * short root list of [OcGroupCard]s, each opening one focused sub-page. @@ -711,6 +714,63 @@ private fun GitPage(vm: SettingsViewModel, state: SettingsUiState, onBack: () -> ) } } + + // ---- Network & cloning -------------------------------------- + OcSectionHeader(stringResource(R.string.settings_git_network_header)) + Card(shape = MaterialTheme.shapes.medium, modifier = Modifier.fillMaxWidth()) { + Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) { + OcToggleableRow( + checked = state.git.shallowClone, + onCheckedChange = vm::setGitShallow, + role = Role.Switch, + modifier = Modifier.fillMaxWidth(), + ) { + Column(modifier = Modifier.weight(1f)) { + Text(stringResource(R.string.settings_git_shallow), style = MaterialTheme.typography.bodyLarge) + Text( + stringResource(R.string.settings_git_shallow_hint), + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + Switch(checked = state.git.shallowClone, onCheckedChange = null) + } + OcToggleableRow( + checked = state.git.sslVerify, + onCheckedChange = vm::setGitSslVerify, + role = Role.Switch, + modifier = Modifier.fillMaxWidth(), + ) { + Column(modifier = Modifier.weight(1f)) { + Text(stringResource(R.string.settings_git_ssl), style = MaterialTheme.typography.bodyLarge) + Text( + stringResource( + if (state.git.sslVerify) R.string.settings_git_ssl_hint + else R.string.settings_git_ssl_warning, + ), + style = MaterialTheme.typography.bodySmall, + color = if (state.git.sslVerify) MaterialTheme.colorScheme.onSurfaceVariant + else MaterialTheme.colorScheme.error, + ) + } + Switch(checked = state.git.sslVerify, onCheckedChange = null) + } + OutlinedTextField( + value = state.git.proxy, + onValueChange = { vm.setGitProxy(it) }, + label = { Text(stringResource(R.string.settings_git_proxy)) }, + placeholder = { Text(stringResource(R.string.settings_git_proxy_placeholder)) }, + singleLine = true, + modifier = Modifier.fillMaxWidth(), + shape = MaterialTheme.shapes.small, + ) + Text( + stringResource(R.string.settings_git_proxy_hint), + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } Spacer(Modifier.height(16.dp)) } } @@ -744,6 +804,21 @@ private fun EnvironmentPage(vm: SettingsViewModel, state: SettingsUiState, onBac label = stringResource(R.string.settings_env_workspace), value = vm.workspacePath(), ) + state.envInfo?.let { info -> + OcInfoRow( + label = stringResource(R.string.settings_env_cli_version), + value = info.cliVersion ?: stringResource(R.string.settings_env_cli_missing), + ) + OcInfoRow( + label = stringResource(R.string.settings_env_debian), + value = "${info.debianSuite} · ${stringResource(R.string.settings_env_size, info.sizeMb)}", + ) + } + } + } + + Card(shape = MaterialTheme.shapes.medium, modifier = Modifier.fillMaxWidth()) { + Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(10.dp)) { OutlinedTextField( value = state.opencodePin, onValueChange = { vm.setOpencodePin(it) }, @@ -757,6 +832,60 @@ private fun EnvironmentPage(vm: SettingsViewModel, state: SettingsUiState, onBac style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, ) + + // Download mirror for GitHub release assets: a transport + // fix for networks where github.com stalls. Integrity is + // unaffected — every archive stays digest-pinned. + Text( + stringResource(R.string.settings_env_mirror), + style = MaterialTheme.typography.bodyLarge, + ) + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + FilterChip( + selected = state.downloadMirror.isBlank(), + onClick = { vm.setDownloadMirror("") }, + label = { Text(stringResource(R.string.settings_env_mirror_direct)) }, + ) + FilterChip( + selected = state.downloadMirror == MIRROR_GHPROXY_NET, + onClick = { vm.setDownloadMirror(MIRROR_GHPROXY_NET) }, + label = { Text(stringResource(R.string.settings_env_mirror_ghproxy)) }, + ) + } + Text( + stringResource(R.string.settings_env_mirror_hint), + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + + // Extra environment variables applied to every guest + // process. Raw text is kept verbatim; invalid lines are + // skipped by the parser and counted below. + OutlinedTextField( + value = state.envExtras, + onValueChange = { vm.setEnvExtras(it) }, + label = { Text(stringResource(R.string.settings_env_extras)) }, + placeholder = { Text(stringResource(R.string.settings_env_extras_placeholder)) }, + minLines = 2, + maxLines = 6, + modifier = Modifier.fillMaxWidth(), + shape = MaterialTheme.shapes.small, + ) + Text( + if (state.invalidEnvExtras > 0) { + stringResource(R.string.settings_env_extras_invalid, state.invalidEnvExtras) + } else { + stringResource(R.string.settings_env_extras_hint) + }, + style = MaterialTheme.typography.bodySmall, + color = if (state.invalidEnvExtras > 0) MaterialTheme.colorScheme.error + else MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + + Card(shape = MaterialTheme.shapes.medium, modifier = Modifier.fillMaxWidth()) { + Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(10.dp)) { OutlinedButton(onClick = { vm.showReinstallConfirm(true) }) { Text(stringResource(R.string.settings_env_reinstall)) } @@ -875,15 +1004,22 @@ private fun AppPage( style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, ) - Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { - Button(onClick = { exportLauncher.launch("opencodephone-settings.json") }) { - Text(stringResource(R.string.settings_backup_export)) - } - OutlinedButton(onClick = { + // Full-width stacked actions: two long labels share one + // row badly on phone widths (the text wraps mid-word and + // the pair reads as one merged blob). + Button( + onClick = { exportLauncher.launch("opencodephone-settings.json") }, + modifier = Modifier.fillMaxWidth(), + ) { + Text(stringResource(R.string.settings_backup_export)) + } + OutlinedButton( + onClick = { importLauncher.launch(arrayOf("application/json", "text/plain", "application/octet-stream")) - }) { - Text(stringResource(R.string.settings_backup_import)) - } + }, + modifier = Modifier.fillMaxWidth(), + ) { + Text(stringResource(R.string.settings_backup_import)) } state.dataMessage?.let { Text(it, style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant) diff --git a/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsViewModel.kt b/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsViewModel.kt index a05601f..83b86a5 100644 --- a/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/io/github/oustery/opencodephone/ui/settings/SettingsViewModel.kt @@ -6,6 +6,7 @@ import io.github.oustery.opencodephone.AppGraph import io.github.oustery.opencodephone.R import io.github.oustery.opencodephone.core.linuxenv.ServerState import io.github.oustery.opencodephone.core.model.BootstrapState +import io.github.oustery.opencodephone.core.model.Pins import io.github.oustery.opencodephone.core.opencode.ConsolePollResult import io.github.oustery.opencodephone.core.opencode.OpenCodeClient import io.github.oustery.opencodephone.core.opencode.OpenCodeConsoleClient @@ -26,6 +27,13 @@ import kotlinx.coroutines.flow.update import kotlinx.coroutines.isActive import kotlinx.coroutines.launch +/** Read-only facts about the installed environment (Settings → Environment). */ +data class EnvInfo( + val cliVersion: String?, + val debianSuite: String, + val sizeMb: Long, +) + data class SettingsUiState( val server: ServerConfig = ServerConfig(), val providers: List = emptyList(), @@ -37,6 +45,10 @@ data class SettingsUiState( val connectionTesting: Boolean = false, val serverDirty: Boolean = false, val bootstrap: BootstrapState = BootstrapState(), + val envInfo: EnvInfo? = null, + val downloadMirror: String = "", + val envExtras: String = "", + val invalidEnvExtras: Int = 0, val serverStateLabel: String = "", val serverState: ServerState = ServerState.Stopped, val serverError: String? = null, @@ -130,6 +142,7 @@ class SettingsViewModel(private val graph: AppGraph) : ViewModel() { fun restartServer() { if (!_state.value.serverDirty) graph.restartLocalServer() } fun reload() { + val extrasRaw = settings.envExtrasRaw() _state.update { it.copy( serverDirty = false, @@ -141,8 +154,35 @@ class SettingsViewModel(private val graph: AppGraph) : ViewModel() { git = settings.gitConfig(), opencodePin = settings.opencodeVersionPin(), account = settings.opencodeAccount(), + downloadMirror = settings.downloadMirror(), + envExtras = extrasRaw, + invalidEnvExtras = SettingsStore.invalidEnvExtrasCount(extrasRaw), ) } + refreshEnvInfo() + } + + /** Installed-environment facts (version, suite, disk) computed off the main thread. */ + private fun refreshEnvInfo() { + viewModelScope.launch(kotlinx.coroutines.Dispatchers.IO) { + val info = if (!graph.layout.isInstalled()) { + null + } else { + val stamp = runCatching { graph.layout.installedStamp.readText() }.getOrDefault("") + val parts = stamp.split(';').mapNotNull { + val idx = it.indexOf('=') + if (idx <= 0) null else it.substring(0, idx) to it.substring(idx + 1) + }.toMap() + EnvInfo( + cliVersion = parts["opencode"]?.ifBlank { null }, + debianSuite = parts["debian"]?.ifBlank { null } ?: Pins.DEBIAN_SUITE, + sizeMb = graph.layout.baseDir.walkBottomUp() + .filter { it.isFile } + .sumOf { it.length() } / (1024 * 1024), + ) + } + _state.update { it.copy(envInfo = info) } + } } // ------------------------------------------------------------- Server @@ -532,6 +572,12 @@ class SettingsViewModel(private val graph: AppGraph) : ViewModel() { fun setGitToken(value: String) = persistGit { it.copy(githubToken = value.trim()) } + fun setGitShallow(value: Boolean) = persistGit { it.copy(shallowClone = value) } + + fun setGitSslVerify(value: Boolean) = persistGit { it.copy(sslVerify = value) } + + fun setGitProxy(value: String) = persistGit { it.copy(proxy = value.trim()) } + private fun persistGit(transform: (GitConfig) -> GitConfig) { val updated = transform(_state.value.git) settings.setGitConfig(updated) @@ -546,6 +592,20 @@ class SettingsViewModel(private val graph: AppGraph) : ViewModel() { _state.update { it.copy(opencodePin = value.trim()) } } + // -------------------------------------------------------- Environment + + fun setDownloadMirror(url: String) { + settings.setDownloadMirror(url) + _state.update { it.copy(downloadMirror = url) } + } + + fun setEnvExtras(value: String) { + settings.setEnvExtrasRaw(value) + _state.update { + it.copy(envExtras = value, invalidEnvExtras = SettingsStore.invalidEnvExtrasCount(value)) + } + } + // -------------------------------------------------------- Appearance /** Persisted through the graph so the live theme flow and the store stay in sync (E-016). */ diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 7ef3e20..b7cba57 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -196,6 +196,15 @@ Email Git Токен GitHub (PAT) Токен используется для клонирования и push в приватные GitHub-репозитории. + Сеть и клонирование + Неглубокое клонирование + Клонируется только последний коммит (--depth 1): заметно быстрее и экономит место. Pull и push продолжают работать. + Проверять SSL-сертификаты + HTTPS-соединения с git-серверами проверяются по набору корневых сертификатов окружения. + Проверка выключена: соединения не проверяются. Используйте только с самоподписанными серверами или доверенным прокси. + HTTP-прокси для git + хост:порт + Применяется к clone, pull и push. Пусто — прямое соединение. Окружение Linux Установка Рабочая папка @@ -203,6 +212,18 @@ Версия будет установлена при следующем сбросе окружения. Изменения применяются после переустановки. Переустановить окружение Это удалит окружение Debian (файлы рабочей папки сохранятся) и повторит полную установку. Продолжить? + OpenCode CLI + не обнаружена + Debian + %1$d МБ + Зеркало загрузок + GitHub напрямую + через ghproxy.net + Загрузки релизов GitHub (архивы инструментов) идут через зеркало, когда github.com медленный или недоступен. Целостность не меняется: каждая загрузка проверяется контрольной суммой. + Переменные окружения + КЛЮЧ=значение + По одной переменной на строку; применяются ко всем процессам окружения (терминал, git, сервер). В резервные копии не выгружаются. + Пропущено некорректных строк: %1$d (ожидается КЛЮЧ=значение с допустимым именем). Оформление Динамические цвета Использовать цвета системных обоев на Android 12+. Когда выключено, применяется фирменная бирюзовая палитра. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2da5061..9baef25 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -229,6 +229,15 @@ Git email GitHub token (PAT) The token is used for cloning and pushing private GitHub repositories. + Network & cloning + Shallow clone + Clone only the latest commit (--depth 1): much faster and saves disk space. Pull and push keep working. + Verify SSL certificates + HTTPS connections to git servers are verified against the environment CA bundle. + Verification is off: connections are not checked. Use only with self-signed servers or a trusted proxy. + HTTP proxy for git + host:port + Applies to clone, pull and push. Leave empty for a direct connection. Linux environment Bootstrap Workspace @@ -236,6 +245,18 @@ Version installed at the next environment reset. Changes apply after reinstall. Reinstall environment This deletes the Debian environment (workspace files are kept) and repeats the full setup. Continue? + OpenCode CLI + not detected + Debian + %1$d MB + Download mirror + GitHub direct + via ghproxy.net + Routes GitHub release downloads (the toolset archives) through the mirror when github.com is slow or unreachable. Integrity is unaffected: every archive stays checksum-verified. + Environment variables + KEY=value + One variable per line, applied to every process inside the environment (terminal, git, server). Never exported in backups. + %1$d invalid lines skipped — expected KEY=value with a valid name. Appearance Dynamic color Use wallpaper-based colors on Android 12+. When off, the teal brand palette is applied. diff --git a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/BootstrapManager.kt b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/BootstrapManager.kt index 4a3aaca..d422eae 100644 --- a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/BootstrapManager.kt +++ b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/BootstrapManager.kt @@ -43,6 +43,8 @@ class BootstrapManager( private val runtime: EnvironmentRuntime, private val scope: CoroutineScope, private var opencodeVersion: String = Pins.OPENCODE_VERSION, + /** HTTPS mirror prefix for GitHub downloads, read at run time from settings. */ + private val mirror: () -> String = { "" }, ) { private val registry = DockerRegistryClient(DockerRegistryClient.longTimeoutClient()) @@ -222,7 +224,7 @@ class BootstrapManager( "Installing tools (git, curl, ripgrep)", message = "Downloading the toolset package", ) - toolset.install(layout, abi.debianArch) { read, total -> + toolset.install(layout, abi.debianArch, mirror = mirror()) { read, total -> val fraction = if (total > 0) read.toFloat() / total else null setState( BootstrapPhase.INSTALLING_TOOLS, @@ -233,6 +235,14 @@ class BootstrapManager( } log("toolset ${abi.debianArch} installed") + // CA trust store: the toolset carries the certificate files but + // not the combined bundle (its post-install script never runs). + // Without it git/curl fail with "Problem with the SSL CA cert". + val caCount = checkNotNull(SslTrust.rebuild(layout.rootfsDir)) { + "Toolset ${abi.debianArch} carries no CA certificates" + } + log("CA bundle rebuilt: $caCount certificates -> ${SslTrust.BUNDLE_PATH}") + // Verify the tools actually run (short, low-CPU command). val check = runtime.exec( listOf("bash", "-lc", "git --version && curl --version | head -1"), diff --git a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/EnvironmentRuntime.kt b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/EnvironmentRuntime.kt index c1a5634..ccd1235 100644 --- a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/EnvironmentRuntime.kt +++ b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/EnvironmentRuntime.kt @@ -24,6 +24,8 @@ sealed interface ServerState { */ class EnvironmentRuntime( private val layout: EnvLayout, + /** User-defined variables (Settings → Environment) merged into every guest process. */ + private val extraEnv: () -> Map = { emptyMap() }, ) { private val interactiveGuard = Any() @@ -98,6 +100,10 @@ class EnvironmentRuntime( val pb = ProcessBuilder(argv) val environ = pb.environment() environ.putAll(PRootCommand.baseEnvironment(layout.tmpDir)) + // CA trust store for git/curl (see SslTrust), then user-defined + // variables, then the per-call env last so callers stay authoritative. + environ.putAll(SslTrust.guestBundleEnv) + environ.putAll(extraEnv()) environ.putAll(env) if (mergeOutput) pb.redirectErrorStream(true) return pb diff --git a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/GitAuth.kt b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/GitAuth.kt index 71b9f4e..84ea898 100644 --- a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/GitAuth.kt +++ b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/GitAuth.kt @@ -6,6 +6,17 @@ import kotlinx.coroutines.withContext /** Credentials live only in the child environment, never URL, argv, config or helper files. */ object GitAuth { + + /** + * Per-operation network options configured in Settings → Git. Local + * operations (status, commit, config) use the defaults; remote ones + * (clone, pull, push) receive the user's choices. + */ + data class NetOptions( + val sslVerify: Boolean = true, + val proxy: String = "", + ) + fun cleanUrl(value: String): String { val uri = URI(value.trim()) require(uri.scheme == "https" && uri.host != null && uri.rawQuery == null && uri.rawFragment == null) { @@ -14,10 +25,21 @@ object GitAuth { return URI("https", null, uri.host, uri.port, uri.path, null, null).toASCIIString() } - fun command(vararg args: String): List = listOf( - "git", "-c", "credential.helper=", "-c", "credential.helper=$helper", - "-c", "http.sslVerify=true", "-c", "http.followRedirects=false", "-c", "core.hooksPath=/dev/null", - ) + args + /** Local (non-network) operations: default options, SSL verification on. */ + fun command(vararg args: String): List = command(NetOptions(), *args) + + fun command(options: NetOptions, vararg args: String): List = buildList { + add("git") + add("-c"); add("credential.helper=") + add("-c"); add("credential.helper=$helper") + add("-c"); add("http.sslVerify=${options.sslVerify}") + add("-c"); add("http.followRedirects=false") + add("-c"); add("core.hooksPath=/dev/null") + if (options.proxy.isNotBlank()) { + add("-c"); add("http.proxy=${options.proxy.trim()}") + } + addAll(args) + } fun environment(url: String, token: String): Map { val uri = URI(cleanUrl(url)) diff --git a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/SslTrust.kt b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/SslTrust.kt new file mode 100644 index 0000000..bdc4e53 --- /dev/null +++ b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/SslTrust.kt @@ -0,0 +1,76 @@ +package io.github.oustery.opencodephone.core.linuxenv + +import java.io.File + +/** + * Rebuilds the guest CA trust store. + * + * The toolset ships the `ca-certificates` package's certificate files + * (`usr/share/ca-certificates/**/*.crt`), but the combined bundle + * `/etc/ssl/certs/ca-certificates.crt` is generated by the package's + * post-install script (`update-ca-certificates`) — and bootstrap extracts + * packages app-side without running guest scripts (ADR-008). Git and curl + * then find no CA store and every HTTPS operation fails with + * `Problem with the SSL CA cert (path? access rights?)`. + * + * The bundle is a plain concatenation of the packaged PEM certificates, so + * the app can rebuild it itself — a pure file write, no guest process. + */ +object SslTrust { + + /** Path inside the rootfs where Debian tooling looks for the CA bundle. */ + const val BUNDLE_PATH: String = "/etc/ssl/certs/ca-certificates.crt" + + /** + * Belt and suspenders for every guest process: point git/libcurl and + * OpenSSL clients at the bundle explicitly, even when a build compiled a + * different default path. Written into the environment alongside the + * bundle itself. + */ + val guestBundleEnv: Map = mapOf( + "GIT_SSL_CAINFO" to BUNDLE_PATH, + "SSL_CERT_FILE" to BUNDLE_PATH, + ) + + fun bundleFile(rootfsDir: File): File = File(rootfsDir, BUNDLE_PATH.removePrefix("/")) + + /** + * Concatenate every packaged certificate into the bundle. Matches + * `update-ca-certificates` sources: the package store + * (`usr/share/ca-certificates`) plus the administrator store + * (`usr/local/share/ca-certificates`). Returns the number of + * certificates written, or null when the rootfs carries none at all + * (a toolset without `ca-certificates`). + */ + fun rebuild(rootfsDir: File): Int? { + val sources = listOf("usr/share/ca-certificates", "usr/local/share/ca-certificates") + .flatMap { dir -> File(rootfsDir, dir).takeIf { it.isDirectory }?.walkTopDown().orEmpty().toList() } + .filter { it.isFile && it.extension == "crt" } + .sortedBy { it.absolutePath } + if (sources.isEmpty()) return null + val target = bundleFile(rootfsDir) + target.parentFile.mkdirs() + val tmp = File(target.parentFile, target.name + ".tmp") + var written = 0 + tmp.outputStream().buffered().use { out -> + for (cert in sources) { + val pem = cert.readText().trim() + if (!pem.contains("BEGIN CERTIFICATE")) continue + out.write((pem + "\n").toByteArray(Charsets.UTF_8)) + written++ + } + } + check(tmp.renameTo(target)) { "Cannot write CA bundle ${target.absolutePath}" } + return written + } + + /** + * Cheap idempotent repair used at app start and before network git + * operations: rewrites the bundle only when it is missing or empty. + */ + fun ensure(rootfsDir: File): Boolean { + val bundle = bundleFile(rootfsDir) + if (bundle.isFile && bundle.length() > 0) return true + return rebuild(rootfsDir) != null + } +} diff --git a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstaller.kt b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstaller.kt index 94651f1..39924b5 100644 --- a/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstaller.kt +++ b/core/linuxenv/src/main/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstaller.kt @@ -24,6 +24,19 @@ import java.security.MessageDigest */ class ToolsetInstaller(private val callFactory: Call.Factory) { + companion object { + /** + * Route a download through an optional HTTPS mirror prefix + * (Settings → Environment). Only github.com release assets are + * mirrored; anything else (npm, docker registry) keeps its URL. + * Integrity never depends on the mirror: archives stay + * digest-pinned and checksum-verified. + */ + fun applyMirror(url: String, mirror: String): String = + if (mirror.isBlank() || !url.startsWith("https://github.com/")) url + else mirror.trim().trimEnd('/') + "/" + url + } + /** * Download the toolset for [arch] into [layout.downloadDir], verify its * sha256 against [Pins.TOOLSET_SHA256] and extract it into the rootfs. @@ -31,11 +44,12 @@ class ToolsetInstaller(private val callFactory: Call.Factory) { suspend fun install( layout: EnvLayout, arch: String, + mirror: String = "", onProgress: (read: Long, total: Long) -> Unit, ) = withContext(Dispatchers.IO) { val digest = Pins.TOOLSET_SHA256[arch] ?: error("No toolset pinned for architecture $arch") - val url = Pins.TOOLSET_URL_PREFIX + arch + Pins.TOOLSET_URL_SUFFIX + val url = applyMirror(Pins.TOOLSET_URL_PREFIX + arch + Pins.TOOLSET_URL_SUFFIX, mirror) val archive = File(layout.downloadDir, "toolset-$arch.tar.gz") val sha = MessageDigest.getInstance("SHA-256") diff --git a/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/GitAuthTest.kt b/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/GitAuthTest.kt index 6c8b968..b48fd0e 100644 --- a/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/GitAuthTest.kt +++ b/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/GitAuthTest.kt @@ -6,6 +6,21 @@ import org.junit.Test import java.nio.file.Files class GitAuthTest { + @Test fun `network options toggle ssl verification and proxy without touching credentials`() { + val plain = GitAuth.command("clone", "--", "https://github.com/a/b") + assertTrue(plain.contains("http.sslVerify=true")) + assertFalse(plain.any { it.startsWith("http.proxy=") }) + val relaxed = GitAuth.command( + GitAuth.NetOptions(sslVerify = false, proxy = "127.0.0.1:8888"), + "clone", "--", "https://github.com/a/b", + ) + assertTrue(relaxed.contains("http.sslVerify=false")) + assertTrue(relaxed.contains("http.proxy=127.0.0.1:8888")) + // The credential-helper contract is untouched by the options: secrets + // still flow only through the environment, never argv. + assertTrue(relaxed.contains("credential.helper=")) + assertFalse(GitAuth.command(GitAuth.NetOptions(proxy = " "), "pull").any { it.startsWith("http.proxy=") }) + } @Test fun `helper releases a fake token only for HTTPS github without persisting it`() { fun fill(host: String): Pair { val builder = ProcessBuilder(GitAuth.command("credential", "fill")).redirectErrorStream(true) diff --git a/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/SslTrustTest.kt b/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/SslTrustTest.kt new file mode 100644 index 0000000..4f8237b --- /dev/null +++ b/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/SslTrustTest.kt @@ -0,0 +1,76 @@ +package io.github.oustery.opencodephone.core.linuxenv + +import org.junit.Assert.* +import org.junit.Test +import java.io.File +import java.nio.file.Files + +class SslTrustTest { + + private fun cert(name: String, serial: String): String = """ + -----BEGIN CERTIFICATE----- + MIIB-$name-$serial + filler line for the test PEM body + -----END CERTIFICATE----- + """.trimIndent() + "\n" + + @Test fun `rebuild concatenates packaged certificates into the bundle path`() { + val rootfs = Files.createTempDirectory("rootfs").toFile() + try { + val mozilla = File(rootfs, "usr/share/ca-certificates/mozilla").apply { mkdirs() } + val local = File(rootfs, "usr/local/share/ca-certificates").apply { mkdirs() } + File(mozilla, "b.crt").writeText(cert("B", "1111")) + File(mozilla, "a.crt").writeText(cert("A", "2222")) + File(local, "custom.crt").writeText(cert("C", "3333")) + File(mozilla, "readme.txt").writeText("not a certificate") + + val count = SslTrust.rebuild(rootfs) + assertEquals(3, count) + val bundle = SslTrust.bundleFile(rootfs) + assertTrue(bundle.isFile) + val text = bundle.readText() + // Deterministic order: sorted by absolute path, so the local + // store (usr/local/share) precedes usr/share. + assertTrue(text.indexOf("C-3333") < text.indexOf("A-2222")) + assertTrue(text.indexOf("A-2222") < text.indexOf("B-1111")) + assertEquals(3, Regex("BEGIN CERTIFICATE").findAll(text).count()) + // No temp file left behind. + assertEquals(listOf("ca-certificates.crt"), bundle.parentFile.list()?.sorted()) + } finally { rootfs.deleteRecursively() } + } + + @Test fun `rebuild returns null when the rootfs carries no certificates`() { + val rootfs = Files.createTempDirectory("rootfs-empty").toFile() + try { + assertNull(SslTrust.rebuild(rootfs)) + File(rootfs, "usr/share/ca-certificates").mkdirs() + assertNull(SslTrust.rebuild(rootfs)) + } finally { rootfs.deleteRecursively() } + } + + @Test fun `ensure rewrites only when the bundle is missing or empty`() { + val rootfs = Files.createTempDirectory("rootfs-ensure").toFile() + try { + val mozilla = File(rootfs, "usr/share/ca-certificates/mozilla").apply { mkdirs() } + File(mozilla, "a.crt").writeText(cert("A", "4444")) + // Nothing yet: repair writes the bundle. + assertFalse(SslTrust.bundleFile(rootfs).exists()) + assertTrue(SslTrust.ensure(rootfs)) + val bundle = SslTrust.bundleFile(rootfs) + val stamp = bundle.lastModified() + // Present and non-empty: no rewrite (timestamp unchanged). + assertTrue(SslTrust.ensure(rootfs)) + assertEquals(stamp, bundle.lastModified()) + // Emptied bundle (failed previous repair): rewritten. + bundle.writeText("") + assertTrue(SslTrust.ensure(rootfs)) + assertTrue(bundle.length() > 0) + } finally { rootfs.deleteRecursively() } + } + + @Test fun `guest env points git and openssl clients at the bundle`() { + assertEquals(SslTrust.BUNDLE_PATH, SslTrust.guestBundleEnv["GIT_SSL_CAINFO"]) + assertEquals(SslTrust.BUNDLE_PATH, SslTrust.guestBundleEnv["SSL_CERT_FILE"]) + assertTrue(SslTrust.BUNDLE_PATH.startsWith("/etc/ssl/certs/")) + } +} diff --git a/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstallerTest.kt b/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstallerTest.kt new file mode 100644 index 0000000..4459e6f --- /dev/null +++ b/core/linuxenv/src/test/java/io/github/oustery/opencodephone/core/linuxenv/ToolsetInstallerTest.kt @@ -0,0 +1,25 @@ +package io.github.oustery.opencodephone.core.linuxenv + +import org.junit.Assert.* +import org.junit.Test + +class ToolsetInstallerTest { + @Test fun `mirror prefix routes only github release assets and keeps direct URLs intact`() { + val asset = "https://github.com/oustery/opencodephone/releases/download/toolset-v1/toolset-arm64.tar.gz" + // No mirror configured: byte-identical URL. + assertEquals(asset, ToolsetInstaller.applyMirror(asset, "")) + assertEquals(asset, ToolsetInstaller.applyMirror(asset, " ")) + // Mirror prefixes the URL; trailing slashes on the mirror are trimmed. + assertEquals( + "https://ghproxy.net/$asset", + ToolsetInstaller.applyMirror(asset, "https://ghproxy.net"), + ) + assertEquals( + "https://ghproxy.net/$asset", + ToolsetInstaller.applyMirror(asset, "https://ghproxy.net/"), + ) + // Non-github endpoints (npm, docker registry) are never mirrored. + val npm = "https://registry.npmjs.org/opencode-linux-arm64/1.19.5.tgz" + assertEquals(npm, ToolsetInstaller.applyMirror(npm, "https://ghproxy.net")) + } +} diff --git a/core/settings/src/main/java/io/github/oustery/opencodephone/core/settings/SettingsStore.kt b/core/settings/src/main/java/io/github/oustery/opencodephone/core/settings/SettingsStore.kt index 19c403e..db7cf42 100644 --- a/core/settings/src/main/java/io/github/oustery/opencodephone/core/settings/SettingsStore.kt +++ b/core/settings/src/main/java/io/github/oustery/opencodephone/core/settings/SettingsStore.kt @@ -32,6 +32,16 @@ data class GitConfig( val userName: String = "", val userEmail: String = "", val githubToken: String = "", + /** Clone with `--depth 1`: faster on mobile networks, less disk (opt-in). */ + val shallowClone: Boolean = false, + /** + * HTTPS certificate verification for remote git operations. On by + * default; turning it off is an explicit escape hatch for self-signed + * servers and proxy MITM setups, shown with a warning in the UI. + */ + val sslVerify: Boolean = true, + /** HTTP proxy for git network operations (`host:port`), empty = direct. */ + val proxy: String = "", ) data class ModelSelection( @@ -234,12 +244,18 @@ class SettingsStore(private val context: Context) { userName = prefs.getString(KEY_GIT_NAME, "") ?: "", userEmail = prefs.getString(KEY_GIT_EMAIL, "") ?: "", githubToken = prefs.getString(KEY_GIT_TOKEN, "") ?: "", + shallowClone = prefs.getBoolean(KEY_GIT_SHALLOW, false), + sslVerify = prefs.getBoolean(KEY_GIT_SSL_VERIFY, true), + proxy = prefs.getString(KEY_GIT_PROXY, "") ?: "", ) fun setGitConfig(config: GitConfig) = edit { it.putString(KEY_GIT_NAME, config.userName) it.putString(KEY_GIT_EMAIL, config.userEmail) it.putString(KEY_GIT_TOKEN, config.githubToken) + it.putBoolean(KEY_GIT_SHALLOW, config.shallowClone) + it.putBoolean(KEY_GIT_SSL_VERIFY, config.sslVerify) + it.putString(KEY_GIT_PROXY, config.proxy) } // ---------------------------------------------------------- Versions @@ -253,6 +269,31 @@ class SettingsStore(private val context: Context) { it.putString(KEY_OPENCODE_PIN, version) } + // ------------------------------------------------------- Environment + + /** + * Optional HTTPS mirror prefix for GitHub release downloads (toolset + * archives) used when github.com is slow or unreachable. Empty = direct. + * Only transport changes: every download stays digest-pinned, so a + * mirror cannot swap in different bytes. + */ + fun downloadMirror(): String = prefs.getString(KEY_DOWNLOAD_MIRROR, "") ?: "" + + fun setDownloadMirror(url: String) = edit { + it.putString(KEY_DOWNLOAD_MIRROR, url.trim()) + } + + /** + * Raw user-defined environment variables applied to every guest process + * (terminal, git, server), one `KEY=value` per line. Stored verbatim and + * never exported (the values may hold secrets). + */ + fun envExtrasRaw(): String = prefs.getString(KEY_ENV_EXTRAS, "") ?: "" + + fun setEnvExtrasRaw(value: String) = edit { + it.putString(KEY_ENV_EXTRAS, value) + } + fun hasCompletedBootstrap(): Boolean = prefs.getBoolean(KEY_BOOTSTRAP_DONE, false) fun setBootstrapCompleted() = edit { it.putBoolean(KEY_BOOTSTRAP_DONE, true) } @@ -312,7 +353,10 @@ class SettingsStore(private val context: Context) { "git", org.json.JSONObject() .put("userName", git.userName) - .put("userEmail", git.userEmail), + .put("userEmail", git.userEmail) + .put("shallowClone", git.shallowClone) + .put("sslVerify", git.sslVerify) + .put("proxy", git.proxy), ) .put( "model", @@ -322,6 +366,7 @@ class SettingsStore(private val context: Context) { ) .put("agent", agentName().orEmpty()) .put("opencodePin", opencodeVersionPin()) + .put("downloadMirror", downloadMirror()) .put("dynamicColor", dynamicColor()) .put("setupChoice", setupChoice().name) .put("selectedProject", selectedProject().orEmpty()) @@ -361,6 +406,9 @@ class SettingsStore(private val context: Context) { userName = g.optString("userName", current.userName), userEmail = g.optString("userEmail", current.userEmail), githubToken = current.githubToken, + shallowClone = g.optBoolean("shallowClone", current.shallowClone), + sslVerify = g.optBoolean("sslVerify", current.sslVerify), + proxy = g.optString("proxy", current.proxy), ), ) sections++ @@ -378,6 +426,7 @@ class SettingsStore(private val context: Context) { val pin = json.optString("opencodePin", Pins.OPENCODE_VERSION) if (pin.isNotBlank()) setOpencodeVersionPin(pin) } + if (json.has("downloadMirror")) setDownloadMirror(json.optString("downloadMirror")) if (json.has("dynamicColor")) setDynamicColor(json.optBoolean("dynamicColor", false)) if (json.has("setupChoice")) { runCatching { setSetupChoice(SetupChoice.valueOf(json.getString("setupChoice"))) } @@ -394,6 +443,32 @@ class SettingsStore(private val context: Context) { keys.deleteEntry(MasterKey.DEFAULT_MASTER_KEY_ALIAS) } + /** + * Parse user-defined environment variables (`KEY=value`, one per + * line, `#` comments). Invalid lines (no `=`, bad key shape) are + * skipped — the raw text stays untouched so the user can fix it. + */ + fun parseEnvExtras(raw: String): Map = raw.lineSequence() + .map { it.trim() } + .filter { it.isNotEmpty() && !it.startsWith("#") } + .mapNotNull { line -> + val index = line.indexOf('=') + if (index <= 0) return@mapNotNull null + val key = line.substring(0, index).trim() + if (!key.matches(Regex("[A-Za-z_][A-Za-z0-9_]*"))) return@mapNotNull null + key to line.substring(index + 1).trim() + } + .toMap() + + /** Number of non-comment lines that parseEnvExtras has to skip. */ + fun invalidEnvExtrasCount(raw: String): Int { + val lines = raw.lineSequence() + .map { it.trim() } + .filter { it.isNotEmpty() && !it.startsWith("#") } + .toList() + return lines.size - parseEnvExtras(raw).size + } + private const val KEY_LOCAL_SERVER_SECRET = "local_server_secret" private const val KEY_SERVER_MODE = "server_mode" private const val KEY_SERVER_HOST = "server_host" @@ -407,7 +482,12 @@ class SettingsStore(private val context: Context) { private const val KEY_GIT_NAME = "git_user_name" private const val KEY_GIT_EMAIL = "git_user_email" private const val KEY_GIT_TOKEN = "git_github_token" + private const val KEY_GIT_SHALLOW = "git_shallow_clone" + private const val KEY_GIT_SSL_VERIFY = "git_ssl_verify" + private const val KEY_GIT_PROXY = "git_http_proxy" private const val KEY_OPENCODE_PIN = "opencode_version_pin" + private const val KEY_DOWNLOAD_MIRROR = "download_mirror" + private const val KEY_ENV_EXTRAS = "env_extras_raw" private const val KEY_BOOTSTRAP_DONE = "bootstrap_completed" private const val KEY_DYNAMIC_COLOR = "dynamic_color" private const val KEY_SETUP_CHOICE = "setup_choice" diff --git a/core/settings/src/test/java/io/github/oustery/opencodephone/core/settings/EnvExtrasParsingTest.kt b/core/settings/src/test/java/io/github/oustery/opencodephone/core/settings/EnvExtrasParsingTest.kt new file mode 100644 index 0000000..95999df --- /dev/null +++ b/core/settings/src/test/java/io/github/oustery/opencodephone/core/settings/EnvExtrasParsingTest.kt @@ -0,0 +1,48 @@ +package io.github.oustery.opencodephone.core.settings + +import org.junit.Assert.* +import org.junit.Test + +/** Pure companion parsers of SettingsStore — no Android context needed. */ +class EnvExtrasParsingTest { + @Test fun `parses KEY=value lines, trims and deduplicates keeping the last one`() { + val parsed = SettingsStore.parseEnvExtras( + """ + HTTPS_PROXY=http://127.0.0.1:7890 + # comment line + LANG=C.UTF-8 + + NO_PROXY=github.com + LANG=C.UTF-8 + """.trimIndent(), + ) + assertEquals( + mapOf( + "HTTPS_PROXY" to "http://127.0.0.1:7890", + "LANG" to "C.UTF-8", + "NO_PROXY" to "github.com", + ), + parsed, + ) + } + + @Test fun `skips invalid lines and counts them`() { + val raw = """ + GOOD=1 + no equals sign + 9BAD=2 + =3 + ALSO_GOOD=4 + """.trimIndent() + val parsed = SettingsStore.parseEnvExtras(raw) + assertEquals(mapOf("GOOD" to "1", "ALSO_GOOD" to "4"), parsed) + assertEquals(3, SettingsStore.invalidEnvExtrasCount(raw)) + assertEquals(0, SettingsStore.invalidEnvExtrasCount("")) + assertEquals(0, SettingsStore.invalidEnvExtrasCount("# only a comment")) + } + + @Test fun `value may contain equals signs and spaces are trimmed`() { + val parsed = SettingsStore.parseEnvExtras(" TOKEN = a=b=c ") + assertEquals(mapOf("TOKEN" to "a=b=c"), parsed) + } +} From e77ed212fd98b1c589304818855a96262cbd091c Mon Sep 17 00:00:00 2001 From: Z User Date: Thu, 12 Nov 2026 12:21:29 +0000 Subject: [PATCH 2/2] =?UTF-8?q?feat(app):=20new=20launcher=20icon=20?= =?UTF-8?q?=E2=80=94=20interwoven=20coral=20mark=20on=20warm=20charcoal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the chat-bubble icon per the brand brief: a single symmetrical interwoven continuous-line mark with rounded caps, soft coral (#E07A5F) on a solid warm charcoal (#141413) background, flat, no text. The master art (1024px, generated with the brand prompt) is adapted by scripts/make_icon.py: - A chroma mask extracts the mark and removes the generated background vignette, so the adaptive background layer is a flat #141413 vector and no seams show under any mask shape. - The mark is scaled to 59.3% of the 108dp grid — inside the 66dp safe zone — so circular, squircle and square masks keep the full glyph. - The monochrome layer (Android 13+ themed icons) is the same silhouette flattened to white. The old vector foreground is replaced by drawable-nodpi PNG layers (minSdk 26 relies on the adaptive icons only); BootstrapScreen reuses the same drawable resource name and keeps working. --- .../drawable-nodpi/ic_launcher_foreground.png | Bin 0 -> 158644 bytes .../drawable-nodpi/ic_launcher_monochrome.png | Bin 0 -> 69101 bytes .../res/drawable/ic_launcher_background.xml | 16 ++++------ .../res/drawable/ic_launcher_foreground.xml | 30 ------------------ .../res/mipmap-anydpi-v26/ic_launcher.xml | 2 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 2 +- 6 files changed, 8 insertions(+), 42 deletions(-) create mode 100644 app/src/main/res/drawable-nodpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/drawable-nodpi/ic_launcher_monochrome.png delete mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml diff --git a/app/src/main/res/drawable-nodpi/ic_launcher_foreground.png b/app/src/main/res/drawable-nodpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..6c9dba116e9a7ea79dba5914d091e35118cd19a5 GIT binary patch literal 158644 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 Km0;!f;C}%hj}r#~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-nodpi/ic_launcher_monochrome.png b/app/src/main/res/drawable-nodpi/ic_launcher_monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..1473ec72a25fda89871eed665ca0d96c4c46acf0 GIT binary patch literal 69101 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

rVz}cvl*LZqeMV0M!`d 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 a6_$^jIgb@5maf#dlM){twQIyPEB_0VuBXcY literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml index 33a083b..30347dd 100644 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -1,15 +1,11 @@ - + - - - - - + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml deleted file mode 100644 index d486c6f..0000000 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index b3e26b4..8fde456 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -2,5 +2,5 @@ - + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index b3e26b4..8fde456 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -2,5 +2,5 @@ - +