Skip to content

Releases

InfraLink 0.8.0

Choose a tag to compare

@yashasraj615 yashasraj615 released this 12 Nov 03:31

Downloads: macOS InfraLink-macOS.dmg (Apple silicon) · Windows InfraLink-Windows-Setup.exe (or .msi) · Android InfraLink-Android.apk. Checksums: SHA256SUMS.txt.

Security (found while testing 0.7)

  • Two keys for the local API: the agent key in api.json now only reaches MCP and
    read-only status. Settings, permissions, devices, join keys and Allow prompts need the
    UI key, which the apps keep in memory (desktop: injected into the window, not the URL).
    Before, any program that could read api.json could switch features on or approve
    its own prompts.
  • Shared folders never expose InfraLink's own data (identity key, vault) or credential
    folders (.ssh, .gnupg, cloud CLIs, keychains, browser profiles…), even when the
    whole home folder is shared. They cannot be shared on their own either.
  • The UI no longer stores its key in localStorage.
  • Join links opened from outside the app ask before joining.

Joining with a QR code

  • Add device now asks Add a computer (code + key, as before) or Add a phone (QR
    code with the same code + key, remade every 45 s). Devices also has separate "Add
    computer" / "Add phone" buttons.
  • Android: Join with QR code (Google's scanner, no camera permission), or scan with
    the Camera app (infralink://join link). Typing the code stays as the fallback. The
    6-digit check on both screens is unchanged.

Computer use and prompts

  • Turning computer use on asks macOS for Screen Recording / Accessibility right away;
    the manual "Ask macOS again" button is the fallback at the bottom.
  • Allow prompts are never hidden: InfraLink comes to the front and the menu bar / tray
    shows "Allow?". Agents get a clear answer within 20 s ("waiting for the user — tell
    them to click Allow on "), "the user clicked Deny", or "turned off"; calling
    again reuses the same prompt. The agent guide explains the prompts so any agent can
    tell a user who does not know about them.
  • Commands and terminals with "Ask before each one": "declined" vs "nobody answered".

Menu bar / tray (macOS and Windows)

  • Shows devices online, "● is using this computer" with Stop AI control,
    waiting requests ("Review…"), and toggles for clipboard sharing and AI computer use.
    macOS: a white template silhouette of the logo (with a dot while an agent is active)
    and "AI" / "Allow?" next to it. Windows: colour icon with a red dot while active.

Devices

  • A device that leaves the network disappears from every device's list right away
    (owner and members); devices that were offline drop it at their next sync. It can be
    added again later.

macOS permissions survive updates

  • Builds are signed with a stable identity (dev.infralink.app, identifier-based
    requirement) instead of a random ad-hoc one, so Screen Recording / Accessibility
    granted once stay granted after updating (before, every update silently lost them
    while System Settings still showed InfraLink switched on). One last re-grant is needed
    when moving to 0.8.0. The permission prompts now run on the app's main thread (macOS
    ignored them from a background thread) and open the right Settings page.
  • get_device_info reports computer_permissions (screen, input) so agents can tell the
    user exactly which permission is missing.

macOS icon

  • Built from an Icon Composer document (branding/macos/AppIcon.icon → Assets.car,
    CFBundleIconName): macOS 26 shows it edge to edge without the light plate (the Dock
    may show the old one until its icon cache refreshes). Older macOS uses icon.icns on
    Apple's template shape.

Android

  • A join link is used once: it no longer reappears after leaving a network.
  • The QR scanner module is fetched in the background at start; clear guidance if Google
    Play services cannot open it (Camera app or typing the code).

InfraLink 0.7.0

Choose a tag to compare

@yashasraj615 yashasraj615 released this 12 Nov 03:30

Computer use (new, off by default on every computer)

  • AI agents can see a Windows or macOS screen and use its mouse and keyboard
    (computer_screenshot, computer_action: click, drag, scroll, type, key chords,
    open apps/files/URLs), on this computer or another one in the network.
  • Settings → Computer use: on/off, "Ask me first" (Allow prompt starts a session),
    macOS permission status (Screen Recording, Accessibility) with a button to request
    them, displays. Devices → per-device "Use this computer". A banner with Stop
    shows on the controlled computer while an agent uses it.

AI agents

  • New AI Agents page: Current activity (what each agent is doing right now, live,
    computer control, commands it started), agents and permissions, tools, history.
  • Connect an agent: Claude Code, Codex, Cursor, Antigravity, Windsurf, VS Code
    (GitHub Copilot), Gemini CLI, Claude Desktop, plus "Other agent or local harness"
    (stdio command or local HTTP endpoint). Shows installed/connected; one-click Connect
    edits only the infralink entry of the app's config (backup first).
  • Recovery when a device goes offline mid-task: wait_for_device, commands keep
    running and get_command_status reports unreachable (resume with the same job id
    and offset), list_commands finds lost job ids, list_devices shows last_seen.
  • sync_project no longer skips Rust src/bin (the default bin exclude is for
    .NET output folders only).
  • Guide for agents: new topics computer and recovery; PowerShell quoting tip.

Clipboard

  • Clipboard is a chat: every copy on any device is a message with the device and time;
    the newest is on every device's clipboard; copy any message back to this device.
  • Android: a clipboard worker in the background service applies copies from your
    computers while the app is closed; "Send clipboard" notification action and Quick
    Settings tile send what you copied on the phone.

Reliability and errors

  • Requests that wait for an Allow prompt on another device (commands, computer use) no
    longer time out after 30 s (they wait the full 90 s).
  • The UI shows the service's specific error messages, says when the local service is
    not responding (instead of "Failed to fetch"), and a page error shows a recovery card
    instead of a blank window.
  • Fixed a deadlock when turning a device's computer-use permission off.

Look

  • macOS app icon fills the whole icon shape (no white plate); regenerate with
    branding/scripts/make-macos-icon.py.

Installers: InfraLink_0.7.0_aarch64.dmg (macOS, Apple silicon),
InfraLink_0.7.0_x64-setup.exe / InfraLink_0.7.0_x64_en-US.msi (Windows, built on a
Windows PC through InfraLink), InfraLink_0.7.0_android.apk.

InfraLink 0.6.0

Choose a tag to compare

@yashasraj615 yashasraj615 released this 12 Nov 03:29

Shared Rust core for Windows, macOS and Android; one React UI; Tauri desktop app;
Android WebView app with JNI core; MCP bridge with 29 tools; Mac ↔ Android testing and
fixes (join key timing, Android vault lock, clipboard, terminal home); phone UI;
View-only home folder by default. Builds handed out on 2026-11-10 were still labelled
0.6.0.