[2026-10-15] eagle: family/how-to/vault-git-sync.md personal/how-to/ipad-ios935-build-deploy.md personal/how-to/ipad-vault-sync.md personal/projects/virfield.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-15 09:39:35 +06:00
1 parent 386ce6e9ee
commit 81b902adc7
4 files changed
+18 -7

No files matched your search

+1 -1
View File
@@ -219,4 +219,4 @@ Fake-sign verification проверил **49 Mach-O**: все armv7, minimum7.0
## Обновление: vault sync настроен 2026-10-15
После отдельного поручения пользователя настроен native Git2.8.1→TrueNAS bare SSH→launchd300s клиент от mobile, vault в Documents Edhita/ObsidianVault. Dedicated Ed25519 key ограничен exact vault Git operations и persisted в TrueNAS user settings. Actual push iPad→NAS и automatic pull NAS→iPad подтверждены; два последовательных scheduled ticks прошли exit0, позднейший третий также ok. Isolated native tests подтвердили offline сохранение/retry, conflict остановку без push, stale empty lock recovery. Folder виден в Edhita. Это заменяет прежний build-only checkpoint о ненастроенном синке; собственного GitJournal remote эта настройка не касается. Полная актуальная инструкция: [[personal/how-to/ipad-vault-sync]].
После отдельного поручения пользователя настроен native Git2.8.1→TrueNAS bare SSH→launchd300s клиент от mobile, vault в Documents Edhita/ObsidianVault. Dedicated Ed25519 key ограничен exact vault Git operations и persisted в TrueNAS user settings. Actual push iPad→NAS и automatic pull NAS→iPad подтверждены; два последовательных scheduled ticks прошли exit0, позднейший третий также ok. Isolated native tests подтвердили offline сохранение/retry и stale empty lock recovery. Обработка конфликтов приведена к Mac-скрипту 2026-10-15: маркеры с обеими версиями коммитятся с `review needed` и пушатся; следующий синк и возобновление прерванного merge проверены на iPad. Folder виден в Edhita. Это заменяет прежний build-only checkpoint о ненастроенном синке; собственного GitJournal remote эта настройка не касается. Полная актуальная инструкция: [[personal/how-to/ipad-vault-sync]].
+4 -2
View File
@@ -37,7 +37,7 @@ Vault в Documents принадлежит редактору. При удале
2. Local edits коммитятся до обращения к серверу.
3. Fetch main → обычный merge → push без force.
4. При unavailable remote локальные commits сохраняются, процесс возвращает75 и повторяет попытку на следующем tick.
5. При конфликте sync останавливается с кодом4; локальная версия сохранена в Git, conflicting merge не пушится. После ручного разрешения/commit следующий tick продолжит синк.
5. При конфликте поведение такое же, как в Mac `~/scripts/sync-vault-lib.sh`: `git add -A`, commit `iPad: merge conflict — review needed`, затем обычный push. Маркеры конфликта с обеими версиями попадают в заметку; последующие ticks продолжают синк без ожидания ручного разрешения. Уже прерванный merge с unmerged files также коммитится и пушится на следующем запуске.
6. Успех отмечается только после совпадения local HEAD и remote main и отсутствия новых working-tree edits. core.fileMode=false; автоматический gc на маленьком flash отключён.
Внешние изменения открытой заметки могут потребовать Reload/переоткрытия в Edhita. Скрипт не изменяет поведение редактора.
@@ -60,7 +60,9 @@ launchctl list local.ipad.obsidian-vault-sync
launchctl start local.ipad.obsidian-vault-sync
```
Изолированные тесты на настоящем Git2.8/Bash4 iPad прошли: push локальной заметки, pull peer-заметки, сохранение offline edits/retry, остановка на конфликте без изменения remote. Лог на Mac `test-results.log`; fixtures retained `/var/mobile/Library/VaultSync/test-20261014T192932Z-3600`. Первый production manual sync завершился успешно, local/NAS main совпали `9bc1a2847ef2fce0172ecf1f9f6ae87db7c68920`. Production roundtrip и автоматический scheduler проверены; результаты ниже.
Изолированные тесты на настоящем Git2.8/Bash4 iPad повторно прошли 2026-10-15: push локальной заметки, pull peer-заметки, сохранение offline edits/retry, commit/push маркеров с обеими версиями и получение другим clone, продолжение следующего синка, возобновление уже прерванного конфликтного merge. Лог на Mac `test-results-mac-conflicts.log`; fixtures retained `/var/mobile/Library/VaultSync/test-20261015T033520Z-12175`. Прежняя остановка на конфликте заменена поведением Mac-скрипта. Первый production manual sync завершился успешно, local/NAS main совпали `9bc1a2847ef2fce0172ecf1f9f6ae87db7c68920`. Production roundtrip и автоматический scheduler проверены; результаты ниже.
Исправленный script установлен атомарно после тестов; предыдущая версия сохранена на iPad как `sync-vault.sh.before-mac-conflicts-20261015`. Байты установленного файла сверены с host source: SHA256 `6db11b994888e3a523614fe30c56a5066ccceba51b3b1d6c44f3c0c437e0618f`. Запуск через существующий launchd завершился 2026-10-15T03:35:49Z, LastExitStatus0 / last-result ok, working tree чистый, local/NAS main `386ce6e9ee6651072279b6dc9a6eb01baebcfe64`. Evidence на Mac: `mac-conflicts-deploy-verification.log`. Расписание осталось каждые300с.
См. [[personal/how-to/ipad-ios935-build-deploy]].