Files
omniget/rust-toolchain.toml
Antonio Leandro 20eb4ab52c refactor!: remove plugins and the Tools section (#374)
* feat(city): decorate and publish your home, beds from the server clock, tinted ground

- Home editor in the city: catalogue, place/move/rotate/remove, undo/redo,
  draft kept per home in localStorage, publish with base revision, package
  hash and idempotency key; conflicts keep the draft and offer a reload.
- Beds panel driven by the server (stage, water, next stage, inventory),
  actions with an op id; pictures attached to the home (upload, visibility,
  report, detach).
- Versioned per-cell tint layer on the map (visual only, outside the hash),
  applied by the WebGL and Canvas 2D bakers; renderer backend override.
- Dev probes for the city canvas (pixel, objects, camera).

* refactor!: remove the plugin system

Delete the native plugin loader, the plugin host, the plugin commands,
the host queue bridge and the omniget-plugin-sdk crate, with the
plugins-bootstrap thread that installed and updated them.

Delete the frontend of every plugin: Study (reader, music, Anki, notes,
focus, progress), Courses, Telegram, Convert and the Marketplace, with
their bridges, stores and listeners. The sidebar loses the plugins
section, the queue loses the plugin-only item kinds and the external
item flag, and the download page loses the course rows and the Open in
Study buttons. The markdown renderer the LLM chat used moves into
$lib/llm/markdown and QueueKindBadge into the download components.

BREAKING CHANGE: installed plugins are no longer loaded.

* refactor!: drop the course platforms

Remove Hotmart and Udemy from the Platform enum, the URL parser and the
download entry points, along with the course platform names the
detector kept for the Study shelves and course_utils. A course URL now
goes through the generic flow like any other site.

* feat(menu): Loop mascot icon set for the sidebar

Ten sticker icons, each pairing Loop with the action it stands for:
home, downloads, llm, help, world, tools, superpowers, settings,
about and league. 1024 px masters in assets/icons/menu, runtime
sizes (32, 64, 128) as WebP in static/icons/menu.

* feat(menu): Superpowers hub, Loop icons and an icon-only sidebar

- Sidebar items use the Loop sticker art (26 px, 36 px rows); plugins
  and ids without art keep the colour tile.
- Marketplace leaves the menu: route, palette entry, toolbar title and
  the LLM rail link are gone; plugin guard links now open
  Settings > Plugins.
- New Superpowers hub (/superpowers) holds League of Legends as a card;
  /league keeps the Superpowers item lit and still honours
  league.enabled.
- The sidebar collapses to a 64 px rail: own tooltip, aria-label on
  every item, section headers turn into dividers, downloads badge into
  a dot. State lives in settings.appearance.sidebar_collapsed and
  toggles with Ctrl+Cmd+S (Ctrl+Shift+S elsewhere) or the footer button.
- Downloads badge count was never passed to the sidebar; it is now.
- i18n: nav.superpowers, collapse/expand strings and the hub copy in all
  locales; unused nav.marketplace and llm.rail.marketplace removed.

* refactor(i18n): drop the translations of the removed features

Remove 3,613 keys from every locale: the whole Study, tracking,
notifications, Telegram, Convert, Courses, Udemy, Hotmart, Marketplace
and plugin utilities namespaces, plus the plugin, course and Open in
Study strings left in the navigation, omnibox, downloads, toasts and
settings. The Settings category that was labelled Plugins only held the
browser extension and the dependencies, so it becomes Dependencies.

* refactor: delete dead code

- Unregister and delete 86 Tauri commands nothing invokes: the OmniDisc
  chat, voice, screen share, upload, MLS and device commands (the
  client that called them is gone), and leftovers in League, Bilibili
  SMS login, the LLM local-server and conversation history, World
  tiers and a few tools.
- Delete the OmniDisc gateway, voice, stream, upload, MLS, device and
  ducking modules, the push-to-talk hotkey and the omnidisc-media crate,
  which also drops the PipeWire capture feature and the
  --no-default-features workaround in CI.
- Delete 13 platform files under src-tauri/src/platforms that no module
  declared anymore (ported to omniget-core long ago), and the unused
  core magnet copy.
- Delete 24 tool components the Tools page never mounts and the
  Bilibili session banner nobody renders.
- Delete the private and crate-internal functions, types and constants
  the compiler reports as unused and that nothing in the repository
  references.

* refactor: delete the dead code the first pass missed

- omniget-core: delete 18 modules nothing references (the blog, Tumblr,
  arXiv, audio tag, PDF form/redact/table, background removal, token
  counter, YouTube chapters and TikTok sound tools whose screens were
  never mounted, the LLM templates, fs_paths and the Bilibili SMS and
  captcha login).
- Frontend: drop 687 OmniDisc chat, voice and stream strings from every
  locale, the Courses and ERR_PLUGIN_OUTDATED error mappings, the stream
  popout and hidden-sidebar branches of the layout, 25 icons and emoji
  only plugin screens used, and 35 npm packages the Study editor and
  player needed (tiptap, mermaid, katex, markmap, cytoscape, abcjs,
  vidstack, highlight.js, the PlantUML and Graphviz WASM builds and the
  Vite WASM plugins, and four font packages).
- Rust: drop libloading, tar, xz2, filetime, m3u8-rs, lofty, htmd,
  rust_xlsxwriter and ndarray, and the unused CLI reporter.
- Messages and comments that still pointed at plugins now point at the
  Dependencies tab.

* refactor!: remove the Tools section

Delete every tool: the Tools hub and its 24 categories, the tool
screens, the catalog, the file clip page, the Tools tab of the Downloads
page with its subtitle workshop, the Spicetify manager and the global
hotkeys the desktop tools registered. Their Tauri commands go with them,
and so do 67 of the 73 omniget-core tool modules and the app's second
copy of the Bilibili downloader, which only the danmaku tool still used.

The agent and the MCP server lose the 30 tools that came from the
section (PDF, OCR, Whisper, TTS, X, Instagram, disk, cleanup, SponsorBlock
and the rest); they keep help, coding, knowledge base, delegation and
downloads, 26 in all. The AI keys, usage report and MCP switch the LLM
screens call move to commands/llm/keys.rs, and core/tools keeps only the
plumbing the LLM layer needs: keys, usage, pricing, Ollama, ONNX and
GitHub downloads.

Also drop 2,470 translation keys, the brand and app icon folders, 66
other unused icons, and the Rust dependencies nothing uses anymore.

BREAKING CHANGE: the Tools section and the agent and MCP tools it backed
are gone.

* feat(home): redesigned home with drop overlay, more menu and friendly errors

* feat: benchmark-driven download fixes, cheaper agent jobs and `omniget claude`

Downloads (MCP worker):
- rustls in every client, so native platforms stop failing with "bad certificate format" under the sandbox
- yt-dlp onedir on macOS (0.4 s start instead of 13-25 s) and a single extraction via --load-info-json
- native variants respect the height ceiling before downloading, falling back to yt-dlp
- error classifier: no "age" substring match, HTTP status kept, 412 -> BLOCKED_BY_PLATFORM, EGRESS_FAILED, SERVER_ERROR, LIMIT_* codes
- the redacted yt-dlp command and worker timings reach the operator log
- direct downloads resume with Range, segment files above 20 MB, idle timeouts; HLS EXT-X-MAP/BYTERANGE and stall watchdog
- Bluesky resolves handles to DIDs and fetches the original blob; Instagram, Reddit, Pinterest, Twitch fixes
- youtube: DASH preferred over HLS with formats=dashy, full selectors pass intact and merge to mp4

Agents:
- cache tokens weighted in budgets (read 0.1x, write 1.25x), no double counting
- Anthropic prompt caching on by default; lean project jobs (--tools, --strict-mcp-config, --effort low)

CLI: `omniget claude [account] [-- args]` opens Claude Code on an app account.

Tooling: scripts/mcp gates and benchmark fixes, scripts/llm/missions_eval.py, scripts/test-fast.mjs.

* test(missions): split fake token fixtures so secret scanners do not flag them

* fix: drop the Study reader picker from reading journeys and count Superpowers in the nav
2026-09-26 12:03:00 -03:00

5 lines
144 B
TOML

# Pins the compiler so local builds, CI and releases produce the same binary.
[toolchain]
channel = "1.97.0"
components = ["rustfmt", "clippy"]