Repository navigation
Settings: git network options, environment mirror/extras, SSL CA fix, new icon - #32
Merged
Merged
Conversation
added 2 commits
November 12, 2026 12:21
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.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что внутри
1. Настройки → Git: сеть и клонирование
--depth 1(опционально): быстрее на мобильных сетях, экономит место.GitAuth.NetOptions.-c http.proxy.2. Настройки → Окружение Linux
3. Фикс ошибки клонирования «Problem with the SSL CA cert»
Toolset кладёт файлы сертификатов ca-certificates, но не собирает бандл
/etc/ssl/certs/ca-certificates.crt(его делает постинсталл-скрипт пакета, который не запускается при app-side распаковке — ADR-008). Проверено на опубликованном toolset-тарболе: 150 .crt-файлов,/etc/ssl/certsпуст. НовыйSslTrustсобирает бандл записью файла: при бутстрапе, раз за запуск приложения (для уже установленных окружений) и идемпотентно перед каждой сетевой git-операцией; плюсGIT_SSL_CAINFO/SSL_CERT_FILEдля всех гостевых процессов.4. Экран настроек: кнопки Экспорт/Импорт — во всю ширину столбиком (две длинные подписи в одном ряду сжимались и переносились).
5. Новая иконка приложения — переплетённый коралловый знак (#E07A5F) на тёплом угле (#141413) по бренд-брифу: хрома-маска убирает виньетку генерации, знак вписан в safe-zone 66/108 adaptive-сетке, есть monochrome-слой для themed-иконок Android 13+.
Проверка
SslTrustTest,ToolsetInstallerTest.applyMirror,EnvExtrasParsingTest,GitAuthTest.NetOptions).Иконка-артефакты: мастер-арт и превью (плоский + круглый маск) — в
download/icon/.