Commit Graph
1034 Commits
Author SHA1 Message Date
ZacharyZhang-NY fdd457c0fa Merge #14433 input methods and remove Rime
The keyboard choice and omarchy-setup-input own Chinese input now. The
new passwordless sudo and input tooltips get Chinese text.
2026-10-08 23:30:41 -04:00
ZacharyZhang-NY 4521dac023 Merge reworked #13690: timezone-derived region and channel mirror prepends
Drop the .cn servers.sed twins, the USTC Arch fallback and the closed
#14399 timezone preselection. region.sh follows the installer's marker.
2026-10-08 22:43:55 -04:00
Kros DaiandClaude Opus 5.5 ec4579a461 🐛 fix(test): skip exact zone match without tzdata.zi
- 🐛 minimal containers lack the link table, so the exact china zone check failed on a correct profile

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QuATgjU4mnqpqSLAKMQ14g
2026-10-08 16:44:15 -04:00
Kros DaiandClaude Opus 5.5 b381093e32 ✅ test(region): derive china zones from tzdata
- ✅ dropping a backward-compatible zone name from the profile now fails the test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QuATgjU4mnqpqSLAKMQ14g
2026-10-08 15:31:04 -04:00
Kros DaiandClaude Opus 5.5 9d74c813f1 🐛 fix(channel): require every region fragment for dev
- 🐛 leaving dev refreshes stable or rc with the checkout's tools, so a profile missing those fragments would drop regional repositories
- ✅ refuse a profile missing any single fragment

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QuATgjU4mnqpqSLAKMQ14g
2026-10-08 15:31:04 -04:00
Kros DaiandClaude Opus 5.5 3c68a1bb04 ✨ feat(region): put the china channel mirrors first
- ✨ omarchy now runs per-channel china replicas, so they should lead instead of trailing as a fallback
- ♻️ prepend per-channel fragments so each channel's own mirror stays the fallback
- 🔥 drop the ustc arch mirror, which was never a stable or rc snapshot replica

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QuATgjU4mnqpqSLAKMQ14g
2026-10-08 15:21:51 -04:00
Kros DaiandClaude Opus 5.5 0de49b231a ✨ feat(region): map timezones to regions
- ✨ one iso serves every region, so the installer derives it from the timezone the user already picks
- ✅ reject unknown zones and zones claimed by two regions

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QuATgjU4mnqpqSLAKMQ14g
2026-10-08 15:03:41 -04:00
David Heinemeier Hansson 40642c0d35 Verify input setup and composition stay quiet 2026-10-07 18:10:20 +02:00
David Heinemeier Hansson ee358c251b Show the input switching shortcut in keyboard hints 2026-10-07 18:10:20 +02:00
David Heinemeier Hansson f273eed840 Suppress the Cloudpinyin first-use prompt 2026-10-07 17:48:56 +02:00
ZacharyZhang-NY d62dff95b6 Trust ArchLinuxCN before the China refresh upgrades through it; repair links before the cn rename 2026-10-07 11:46:38 -04:00
David Heinemeier Hansson 036e501e58 Show explicit choices on notification cards 2026-10-07 17:35:03 +02:00
ZacharyZhang-NY 9a57690e7d Align the China region to the official cn profile
The region value is cn, the China files live under default/regions/cn/, and
omarchy-apply-pacman renders pacman for every caller: the .cn twins of the
channel servers first, then .org, USTC and ArchLinuxCN. Switching to China
installs and trusts the ArchLinuxCN keyring. A migration renames china to cn
and repoints the drop-in links.
2026-10-07 11:33:01 -04:00
David Heinemeier Hansson 2841563e6c Remember input selections before an app gains focus 2026-10-07 17:17:02 +02:00
David Heinemeier Hansson cd73dc6cfd Keep Pinyin setup prompts visible 2026-10-07 17:17:02 +02:00
ZacharyZhang-NY d2e4a95aed Merge branch 'pr-14399' into omarchycn
# Conflicts:
#	bin/omarchy-refresh-pacman
#	install/post-install/pacman.sh
2026-10-07 11:08:25 -04:00
David Heinemeier Hansson fcda55944a Show input modes in the keyboard indicator 2026-10-07 16:57:03 +02:00
David Heinemeier Hansson 22514b59f2 Exercise input engines across desktop toolkits 2026-10-07 15:59:46 +02:00
David Heinemeier Hansson 0f14a84934 Preserve inherited input keys and later keyboard changes 2026-10-07 15:19:06 +02:00
David Heinemeier Hansson cd0025b62f Merge branch 'quattro' into unified-input-method-setup 2026-10-07 15:02:38 +02:00
David Heinemeier Hansson d9b970dd62 Let users choose passwordless sudo duration (#14435)
* Let users choose passwordless sudo duration

* Warn in the menu bar when passwordless sudo is active

* Fix sudo indicator hover behavior and repeated authentication

* Disable passwordless sudo from the bar without a terminal

* Shorten passwordless sudo indicator tooltip

* Recover interrupted passwordless sudo duration switches

* Allow sudo grant changes when listings require authentication

* Start passwordless sudo setup with the duration question
2026-10-07 14:41:27 +02:00
David Heinemeier Hansson 9fe6a04715 Unify input methods with the installer keyboard selection 2026-10-07 12:59:36 +02:00
David Heinemeier Hansson 402128b6a2 Automatically approve orphan removal during updates (#14428) 2026-10-07 12:13:33 +02:00
David Heinemeier Hansson 83957145a7 Replace Disk Usage TUI with Disktree (#14426) 2026-10-07 11:53:39 +02:00
Spencer Bull 0f8af9be30 Merge pull request #14017 from omacom/xps13-ptl-cirrus-firmware
Install XPS 13 Panther Lake speaker firmware
2026-10-06 22:58:04 -05:00
Spencer BullandGreptile db21abdef0 Request a reboot directly in the PTL firmware migration
Each pending user's one-time migration requests a reboot even when hardware setup has already installed the aliases. Let migration completion handle repeat runs and remove the shared marker and its privileged write.

Co-Authored-By: Greptile <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-10-06 21:56:49 -05:00
Spencer Bull 499f50ffd6 Move speaker reboot bookkeeping into the migration
Keep hardware setup limited to installing the firmware package. The migration owns the pending-reboot marker and preserves prompts for every user migrating before reboot.
2026-10-06 21:47:56 -05:00
ZacharyZhang-NY 5fc227b06c Word every notification at its sender and show notifications as given 2026-10-06 22:41:59 -04:00
ZacharyZhang-NY 051952600d Word parameterized messages at the sender with omarchy-text and translate only exact text in the shell 2026-10-06 22:29:57 -04:00
Spencer BullandCodex GPT-6.1-Sol XHigh 0d8232b9db Install the XPS 13 PTL speaker alias package
Install the separately owned firmware aliases through the package helper so stock firmware updates and stable refreshes retain them. Use a distinct migration to reach machines with the prior migration completed and preserve the reboot prompt until reboot. Restore the generic updater and leave display quirks to the kernel.

Co-Authored-By: Codex GPT-6.1-Sol XHigh <noreply@openai.com>
2026-10-06 21:29:54 -05:00
Kros DaiandClaude Opus 5.5 3e00a48c00 ✅ test(pacman): sandbox the region for every boundary test
- ✅ The channel and update boundary tests copied the real render and dev-region guard, so on a China install they read the host's `/etc/omarchy/region` and failed before reaching their checks
- ♻️ The shared fixture now points both lookups at a sandbox target that starts global, and the regional test only writes `cn` there

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdXqTwm63rRMwotZ1xqLC8
2026-10-06 22:14:56 -04:00
Kros DaiandClaude Opus 5.5 1454e04b7f ✨ feat(region): default china installs to Asia/Shanghai
- ✨ offline China first boots preselect `Asia/Shanghai` from the region profile instead of the top of the list
- 📝 profiles may name a `timezone`; first-boot setup reads it for the region in `/etc/omarchy/region`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdXqTwm63rRMwotZ1xqLC8
2026-10-06 22:14:56 -04:00
Kros DaiandClaude Opus 5.5 d53b24cfc7 ✨ feat(form): let callers preselect a fallback timezone
- ✨ an offline install has no geo guess, so the timezone list opened on Africa/Abidjan; a caller-supplied zone now stands in for the missing guess
- ✅ a successful geo guess still outranks the fallback

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdXqTwm63rRMwotZ1xqLC8
2026-10-06 22:14:56 -04:00
ZacharyZhang-NY f63ecb6697 Translate finished messages by template and the world clock, Dropbox and scoped titles at display 2026-10-06 22:07:19 -04:00
Kros DaiandClaude Opus 5.5 a1bdc46119 ✅ test(pacman): isolate the regional refresh boundary test
- ✅ the render read the host's region marker, so a global machine never rendered China and a China machine failed on missing fragments
- ✅ check the finished China files root installs, not only the copy order

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdXqTwm63rRMwotZ1xqLC8
2026-10-06 22:00:59 -04:00
Kros DaiandClaude Opus 5.5 7a60c8dea4 🐛 fix(channel): require a usable region profile for dev
- 🐛 an empty profile directory or a helper that cannot run passed the guard, linked dev, and then broke the refresh
- ✅ the success case now uses a complete profile

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdXqTwm63rRMwotZ1xqLC8
2026-10-06 22:00:59 -04:00
Kros DaiandClaude Opus 5.5 6be88d14a5 🐛 fix(pacman): remove the render dir on every refresh exit
- 🐛 a failed render, a refused sudo prompt, or a signal left the scratch directory behind; repeated attempts piled them up
- 🔒 the cleanup runs before the sudo revocation, which stays the last step of the exit path

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdXqTwm63rRMwotZ1xqLC8
2026-10-06 21:58:48 -04:00
ZacharyZhang-NY 2b2302a279 Translate the remaining shell text at display and keep translated values out of logic 2026-10-06 21:50:11 -04:00
ZacharyZhang-NY e236713d9f Show the desktop shell in Chinese under zh_CN 2026-10-06 21:29:39 -04:00
ZacharyZhang-NY f9c36b2f3b Offer to log out after a region switch, in the new region's language 2026-10-06 21:15:32 -04:00
ZacharyZhang-NY a77c246d38 Ask pacman only for the packages pkg-add finds missing 2026-10-06 21:14:50 -04:00
ZacharyZhang-NY a3e40cb8b0 Set up China before moving the mirrors so a failed switch leaves the machine Global 2026-10-06 21:13:37 -04:00
ZacharyZhang-NY b268838479 Give the setup form Chinese text for the ISO's China installs 2026-10-06 18:29:20 -04:00
Kros DaiandClaude Opus 5.5 d5ef1c1d15 🔥 refactor(region): drop input defaults from the cn profile
- 🔥 keep this change to the regional build architecture; Chinese input gets its own proposal instead of fixing one engine here
- ✅ assert the shipped profile adds only its repository keyring

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3Jna1ogUUviYLJzhsG6Vr
2026-10-06 14:43:25 -04:00
Kros DaiandClaude Opus 5.5 d7f17a0424 ♻️ refactor(pacman): render regional config without root
- 🔒 upstream refresh now gives root only command-scoped copies, so regional files are rendered as the caller and installed with the same four `sudo cp` calls
- ✅ exercise refresh only inside the sudo-boundary sandbox; the old host-level test reached real sudo once refresh pinned its PATH

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 14:43:25 -04:00
Kros DaiandClaude Opus 5.5 647979bde7 🐛 fix(pacman): keep existing config file modes
- 🐛 refresh used to copy over the existing files, so a customized mode must survive the shared regional applicator too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 14:43:25 -04:00
Kros DaiandClaude Opus 5.5 123535ea14 🐛 fix(channel): keep regional repos when switching to dev
- 🛡️ refuse a dev checkout that lacks this machine's region profile before linking it, since its own refresh would silently replace the regional pacman files
- ✅ isolate channel tests from the host region marker

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 14:43:25 -04:00
Kros Dai e989960895 ✅ test(region): guard runtime defaults
- ✅ protect global behavior and regional mirror ordering
- ⌨️ guard personal settings and reserved input shortcuts

Amp-Thread-ID: T-01a0df38-0ea7-759b-bcff-29da223cc567
2026-10-06 14:43:25 -04:00
ZacharyZhang-NY dff33f16e3 Keep the host's region out of the sudo boundary sandboxes 2026-10-06 02:23:31 -04:00
ZacharyZhang-NY 6fe83bfa47 Restart fcitx5 before Rime Ice setup so it loads the new Rime addon 2026-10-06 01:56:46 -04:00