Skip to content

🚨 MASTER TZ: TRIOS = имя проекта. BrowserOS ЗАПРЕЩЕНО в новом коде. Читать ПЕРВЫМ. #512

@gHashTag

Description

@gHashTag

MASTER ТЗ — TRIOS PROJECT

⚠️ ЭТОТ ISSUE ЧИТАЕТСЯ ПЕРВЫМ ПЕРЕД ЛЮБОЙ РАБОТОЙ.
Нарушение любого пункта = немедленный откат PR без обсуждения.


🔴 ЗАКОН #1 — НАЗВАНИЕ

ПРОЕКТ НАЗЫВАЕТСЯ: TRIOS
НЕ: BrowserOS
НЕ: browseros  
НЕ: BrowserOS Server
НЕ: browserosId

Что заменить везде:

❌ ЗАПРЕЩЕНО ✅ ОБЯЗАТЕЛЬНО
BrowserOS Server TRIOS Server
BrowserOS ID initialized TRIOS ID initialized
browserosId triosId
Starting BrowserOS Starting TRIOS
@browseros/ (новые пакеты) @trios/
Google логотип в NTP 999.svg (TRIOS logo)

ИСКЛЮЧЕНИЕ: chromium_patches/ — там BrowserOS может быть в C++ именах классов (legacy). Всё остальное — TRIOS.


🔴 ЗАКОН #2 — ЦВЕТ ФРЕЙМА

ЦВЕТ ФРЕЙМА: #000000 (ЧЁРНЫЙ)
user_color2 = 4278190080
color_scheme2 = 2 (kDark)

SSOT для цветов: packages/browseros/tokens/trios.tokens.json
Менять цвета ТОЛЬКО там, затем:

bun run tokens:build
bun run tokens:apply

НЕ ТРОГАТЬ user_color2 и color_scheme2 руками — только через tokens:apply.


🔴 ЗАКОН #3 — ЛОГОТИП

ЛОГОТИП: /Users/playra/BrowserOS/assets/999.svg
  • В NTP (New Tab Page) — 999.svg вместо Google
  • В sidebar extension — 999.svg
  • В favicon extension — 999.svg
  • НЕ УДАЛЯТЬ, НЕ ЗАМЕНЯТЬ на Google/Chrome/BrowserOS логотип

🔴 ЗАКОН #4 — ЗАПУСК

TRIOS запускает ФИНАЛЬНЫЙ БИНАРНИК, не dev сервер.
  • bun run launch → открывает /Applications/BrowserOS.app или out/BrowserOS/BrowserOS
  • Клик по иконке на рабочем столе → открывает TRIOS (не wxt, не bun --watch)
  • Порт 9105 должен быть свободен перед запуском

🔴 ЗАКОН #5 — ПОРТ 9105 RACE CONDITION

bun --watch НЕ ДОЛЖЕН перезапускать упавший сервер немедленно.

В apps/server/src/api/server.ts — retry с задержкой 2с при EADDRINUSE.
НЕ бесконечный цикл crash → restart.


✅ ИСТОРИЯ УСПЕХА (не откатывать!)

Что сделано Файл Статус
SSOT токены packages/browseros/tokens/trios.tokens.json ✅ DONE
Build pipeline packages/browseros/tokens/build.mjs ✅ DONE
CSS импорт apps/agent/styles/global.css ✅ DONE
CI guard цветов check_no_hardcoded_colors.py ✅ DONE
C++ патчи созданы browseros_prefs.cc, theme_service.cc ✅ DONE
Runtime fix set_dark_theme.py / apply_black_theme.py ✅ DONE
Preferences user_color2=4278190080, color_scheme2=2 ✅ DONE

📋 ЗАДАЧИ В ОЧЕРЕДИ


🛑 ПЕРЕД КАЖДЫМ PR ПРОВЕРИТЬ:

# 1. Нет BrowserOS в новом коде
grep -rn "BrowserOS" apps/server/src/ apps/agent/src/ \
  --include="*.ts" --include="*.tsx" | grep -v node_modules

# 2. Цвет правильный  
python3 -c "
import json,pathlib
p=pathlib.Path.home()/'Library/Application Support/BrowserOS/Default/Preferences'
b=json.loads(p.read_text()).get('browser',{})
print('✅ OK' if b.get('user_color2')==4278190080 and b.get('color_scheme2')==2 else '❌ FAIL: '+str(b))
"

# 3. Логотип на месте
ls -la /Users/playra/BrowserOS/assets/999.svg

# 4. Билд токенов
bun run tokens:check

Все 4 проверки должны быть ✅. Иначе PR не мёрджится.


GO. Начни с grep -rn "BrowserOS" apps/ --include="*.ts" и замени всё на TRIOS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions