Repository navigation
Releases
Nootify v0.1.5
Nootify 0.1.5 makes the macOS menu-bar menu compact and easier to scan.
- The native tray menu now has six main entries: Open, connection status, Background Service, Software Updates, Settings, and Quit. It uses the system menu material and measured 173 points wide in native checks.
- Service recovery actions and individual module states live in submenus. Update availability and download percentage appear in the existing main-menu row, with concise failures and full details under Settings > About.
- Settings and update details open directly from the tray. The existing single-instance behavior was verified on the installed app: opening Nootify again restores its original window, including after closing or minimizing it, without restarting the background service.
Apple Silicon, macOS 13.5 or later. Download the DMG and drag Nootify to Applications, or use the in-app updater. Builds are ad-hoc signed and not notarized; macOS may require allowing the first launch in System Settings > Privacy & Security. Update bundles are signature-verified.
Validation: Rust tests, rustfmt and Clippy; TypeScript service and website tests; runtime staging; native menu, update-progress and navigation checks; and installed-app single-instance checks. Native checks did not install an update or restart the background service.
Nootify v0.1.4
Nootify 0.1.4 brings a compact native title row and an optional, independent Tailscale device.
- Native window controls, page title, refresh and software updates share one title row. The same update button shows the version, download percentage, installation and restart in place.
- Built-in Tailscale uses the official tsnet client. Enable it in Settings, authorize in your browser, and access Nootify on its own device IP or MagicDNS name over port 80. No system Tailscale client is required.
- Settings now include device connection, login-link renewal, sign-out and address copying. Turning the node off preserves enrollment and leaves system Tailscale untouched.
- Toolbars and forms adapt to the working width. Mobile navigation keeps Settings visible and shows its pages in a separate row. Typography, code previews and tabular numbers are more consistent.
- Remote access now retains HTTP deadlines, rejects tagged-device identities, protects persistent node state with an exclusive lock, preserves actionable startup errors, and retries temporary status failures without immediately dropping healthy connections.
Apple Silicon, macOS 13.5 or later. Download the DMG and drag Nootify to Applications. Existing installations can use the in-app updater. Builds are ad-hoc signed and not notarized; macOS may require allowing the first launch in System Settings > Privacy & Security. Update bundles are signature-verified.
Validation: TypeScript service and regression tests, Go tests/race detection and dependency verification, Rust tests/rustfmt/Clippy, runtime staging, and isolated native-window and browser interaction checks. Tailscale account authorization remains a user action; no real account was enrolled during automated validation.
Nootify v0.1.3
What's new
- Settings in the sidebar: manage GitHub sign-in, Feishu bot credentials and recipient, configuration import/export, and app updates.
- Independent GitHub login: authorize Nootify with GitHub's device flow. PR queries use GitHub's API directly, without requiring or modifying your terminal's
ghlogin. - Feishu configuration in the app: validate credentials before saving and reconnect the bot without restarting the service. Configuration exports include the complete App ID, App Secret, and recipient; imports show a preview before applying changes.
- Updates in the window: see new-version prompts, downloaded size, percentage, and installation progress alongside the existing tray controls. Update packages are signature-verified before installation.
- Clearer PR pages: repository labels lead each PR title, with colors that stay stable across filtering, sorting, and reloads. The subscriptions page is now a compact table with expandable source sessions and a responsive layout.
Fixes
- Prevent callbacks from retired Feishu connections from overwriting the active connection's status. Startup, configuration changes, and shutdown are serialized.
- Clear stale signed-out and error indicators when GitHub refreshes start or finish.
Upgrading
Existing users should sign in once under Settings → GitHub: Nootify intentionally does not reuse the system gh token. Existing Feishu MCP configuration remains supported.
Configuration exports contain plaintext Feishu and backend secrets and are saved with owner-only permissions. Keep them private. The GitHub login token is not exported.
Download
For Apple Silicon Macs running macOS 13.5 or later, download the DMG below and move Nootify to Applications. Existing installations can use 检查更新 in the tray. The app is ad-hoc signed, not notarized; a first launch may require approval in System Settings → Privacy & Security.
The .app.tar.gz, .sig, and latest.json assets are used by the automatic updater.
Nootify v0.1.2
Nootify now follows the system's light or dark appearance, including changes while the app is open.
- Match the native macOS window, web UI, and waiting-for-service page to the system appearance.
- Switch themes immediately without reloading or clearing searches and filters.
- Adapt status colors, error messages, controls, and the offline logo for light mode.
- Keep PR refresh busy until persistence and subprocess cleanup finish.
Apple Silicon build for macOS 13.5 and later. It is ad-hoc signed and not notarized: on first launch, allow it under System Settings > Privacy & Security. Installed copies can update from the tray's update controls. The release includes the signed updater bundle and latest.json.
Nootify v0.1.1
Apple Silicon build. It is ad-hoc signed and not notarized: on first launch, allow it under System Settings > Privacy & Security. Installed copies update themselves from the latest release.