Failed to authenticate. API Error: 401 Invalid authentication credentials

[2026-05-20] vault sync
This commit is contained in:
Alexey Martemyanov
2026-05-20 04:09:44 +06:00
parent 8f030c5981
commit f4f3419bde
2 changed files with 57 additions and 2 deletions
+17 -2
View File
@@ -18,8 +18,8 @@ confidence: high
| Host | IP | Notes | | Host | IP | Notes |
|------|----|-------| |------|----|-------|
| Kraken | 192.168.1.14 | LAN (eth0, DHCP static lease). `ssh kraken` | | Kraken | 192.168.1.15 | wlan0 (ASUS5), основной. `ssh kraken`. eth0 отключён |
| Kraken WiFi | 192.168.1.15 | wlan0 (ASUS5), активен с 2026-05-19 | | Kraken eth0 | 192.168.1.14 | DHCP static lease, **неактивен** |
| HTPC | 192.168.1.86 | Bazzite, LAN | | HTPC | 192.168.1.86 | Bazzite, LAN |
## Важные правила ## Важные правила
@@ -32,6 +32,21 @@ confidence: high
Kraken имеет WireGuard адрес 10.99.1.2 (через VPS 91.207.28.205). Используется только как резервный путь при недоступности LAN. Kraken имеет WireGuard адрес 10.99.1.2 (через VPS 91.207.28.205). Используется только как резервный путь при недоступности LAN.
### wg-auto.sh (Eagle-side, macOS)
Авто-управление WireGuard-туннелем на Eagle (ноутбуке):
- Polling каждые 30 секунд
- `AbandonProcessGroup=true` в plist (корректное завершение)
- Проверка туннеля: `ifconfig | grep 10.99.0.2`
- Поднятие/опускание через `wg_up()` с очисткой старого интерфейса
- `wg0.conf`: **без `DNS=`** — вместо этого PostUp создаёт `/etc/resolver/kraken` (nameserver 10.99.0.1), PostDown удаляет. **Без `killall mDNSResponder`** — не нужно.
### Сетевые интерфейсы Kraken
- `wlan0` (192.168.1.15, MAC `2c:cf:67:64:03:f4`, ASUS5) — **основной**, static lease на роутере
- `eth0` — отключён
- `ssh kraken` резолвится в **192.168.1.15** (wlan0)
## Kodi на HTPC ## Kodi на HTPC
- Library: `/run/media/bazzite/Data/kodi/{movies,series}` — симлинки на реальные файлы - Library: `/run/media/bazzite/Data/kodi/{movies,series}` — симлинки на реальные файлы
+40
View File
@@ -0,0 +1,40 @@
---
title: reflect-skip Skip Fuse — New SwiftUI View Stub
created: '2026-05-20'
updated: '2026-05-20'
type: reference
tags:
- reflect
- skip
- swiftui
- kotlin
- pitfall
---
# reflect-skip Skip Fuse — Adding a New SwiftUI View
## Problem
При добавлении нового SwiftUI View-файла в `Sources/ReflectApp/Views/` Skip Fuse **не создаёт Kotlin-стаб автоматически**. Приложение крашится с `ClassNotFoundException` при запуске.
## Fix — создать Kotlin-стаб вручную
Нужно создать стаб в **обоих** местах:
1. `DerivedData/.../reflect-skip.output/ReflectApp/skipstone/ReflectApp/src/main/kotlin/reflect/app/`
2. `.build/plugins/outputs/reflect-skip/ReflectApp/destination/skipstone/ReflectApp/src/main/kotlin/reflect/app/`
**Шаблон:** скопировать `OnboardingView.kt`, заменить:
- Имя класса
- `@State` vars
Constructor принимает closure-параметры.
После создания стабов:
```bash
skip gradle assembleDebug
```
## Проект
`~/Developer/reflect-skip`