Files
+16 2e5b5e7b23 Promote main → release (#5203)
Co-authored-by: YellowSnnowmann <167776381+YellowSnnowmann@users.noreply.github.com>
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cyrus Gray <144336577+graycyrus@users.noreply.github.com>
Co-authored-by: Horst1993 <horst.w@gmicloud.ai>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: James Gentes <jgentes@users.noreply.github.com>
Co-authored-by: Sam <samrusani@users.noreply.github.com>
Co-authored-by: Sami Rusani <14844597+samrusani@users.noreply.github.com>
Co-authored-by: oxoxDev <164490987+oxoxDev@users.noreply.github.com>
Co-authored-by: Muhammad Ismail <78064250+myi1@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: nb213 <binyangzhu000@gmail.com>
Co-authored-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
Co-authored-by: CodeGhost21 <164498022+CodeGhost21@users.noreply.github.com>
Co-authored-by: sanil-23 <sanil@tinyhumans.ai>
Co-authored-by: M3gA-Mind <elvin@mahadao.com>
Co-authored-by: oxoxDev <oxoxdev@users.noreply.github.com>
Co-authored-by: mysma-9403 <64923976+mysma-9403@users.noreply.github.com>
Co-authored-by: mwakidenis <mwakidenice@gmail.com>
Co-authored-by: NgoQuocViet2001 <123613986+NgoQuocViet2001@users.noreply.github.com>
Co-authored-by: viet.ngo <viet.ngo@sotatek.com>
Co-authored-by: Maciej Myszkiewicz <mmyszkiewicz@bwcoders.com>
2026-07-27 11:49:45 +05:30

181 lines
7.0 KiB
TOML

[[permission]]
identifier = "allow-core-process"
description = "Privileged desktop permissions for core process control, service management, dictation, account webview, window/UI, notifications, Gmail CDP, log access, Meet, and CEF/profile maintenance"
[permission.commands]
allow = [
# =========================
# CORE PROCESS
# =========================
"core_rpc_url",
"core_rpc_token",
# `relay_http_rpc` proxies a JSON-RPC POST through the Rust host so the
# secure webview can reach a self-hosted runtime on a cleartext LAN IP
# without tripping mixed-content/CORS (#3865). Without this allow entry the
# invoke is rejected with "Command not allowed by ACL".
"relay_http_rpc",
# `start_core_process` is invoked by BootCheckGate after the user picks
# Local mode, before redux-persist hydrates the rest of the app (#1316).
# Without this allow entry the invoke is rejected with "Command not
# found" and the boot gate stalls.
"start_core_process",
"restart_core_process",
# `reset_local_data` is the "Clear App Data" command (Settings → Account,
# and the Welcome-screen decryption-recovery flow). It stops the embedded
# core, deletes the signed-in user's data dir + active markers, then
# restarts the core. It replaced the old two-step
# `callCoreRpc('config_reset_local_data') + restartCoreProcess()` dance
# (which reached Rust via the ACL-permitted `relay_http_rpc`), but the new
# dedicated command was never added here — so the invoke was rejected with
# "reset_local_data not allowed. Command not found" and Clear App Data
# silently did nothing (#4950). Without this allow entry the ACL denies it
# before it reaches Rust.
"reset_local_data",
# `restart_app` triggers `app.restart()` so CEF re-initializes against
# the active user's `users/<id>/cef` profile after an identity flip
# (#900). Without this allow entry, the invoke is silently denied by
# Tauri capabilities and webviews keep the prior user's third-party
# cookies.
"restart_app",
# `get_active_user_id` reads `~/.openhuman/active_user.toml` so the
# frontend can prime `userScopedStorage` from the Rust source of truth
# BEFORE redux-persist hydrates — the prior `localStorage`-only seed
# was bound to the per-user CEF profile dir and went stale across
# restart-driven flips, causing a false re-flip and restart loop on
# every login. (#900)
"get_active_user_id",
# =========================
# SERVICE MANAGEMENT
# =========================
"service_install_direct",
"service_start_direct",
"service_stop_direct",
"service_status_direct",
"service_uninstall_direct",
# =========================
# DICTATION
# =========================
"register_dictation_hotkey",
"unregister_dictation_hotkey",
# =========================
# PUSH-TO-TALK (PTT)
# =========================
# Voice settings panel registers/unregisters the global PTT hotkey and shows
# the PTT overlay via these invokes. Without these allow entries the invoke
# is rejected with "Command <name> not allowed by ACL" and PTT (plus the
# always-on listening flow that depends on hotkey registration) never works.
"register_ptt_hotkey",
"unregister_ptt_hotkey",
"show_ptt_overlay",
# =========================
# DESKTOP COMPANION
# =========================
# The desktop companion moved from core RPC into the Tauri shell. Its
# settings panel and hotkey bridge invoke these commands directly, so each
# one must be present in the main-window capability.
"register_companion_hotkey",
"unregister_companion_hotkey",
"companion_activate",
"companion_start_session",
"companion_stop_session",
"companion_status",
"companion_config_get",
"companion_config_set",
# =========================
# STRUCTURED WHATSAPP DATA
# =========================
# The SQLite store moved from the core into the Tauri shell. Intelligence
# views now query it through these read-only invoke commands.
"whatsapp_data_list_chats",
"whatsapp_data_list_messages",
"whatsapp_data_search_messages",
# =========================
# ACCOUNT WEBVIEW
# =========================
"webview_account_open",
"webview_account_close",
"webview_account_show",
"webview_account_hide",
"webview_account_bounds",
"webview_account_reveal",
"webview_account_purge",
"webview_recipe_event",
# =========================
# WINDOW / UI
# =========================
"activate_main_window",
# Notch activity indicator (transparent NSPanel pill, macOS). The Voice
# settings panel + app boot call these via `syncNotchVisibility` to mirror
# always-on listening state. Without these allow entries the invoke is
# rejected with "Command not found" and the notch never shows/hides.
"notch_window_show",
"notch_window_hide",
# =========================
# NOTIFICATIONS
# =========================
# Native notification surface (see src/native_notifications/). The
# frontend bridge in app/src/lib/nativeNotifications/tauriBridge.ts
# calls these directly instead of routing through the bundled
# tauri-plugin-notification (whose desktop permission_state is
# hardcoded to Granted, see #1152). Without these allow entries the
# invokes return "Command not found" and the UI falsely reports the
# OS as denied.
"notification_permission_state",
"notification_permission_request",
"show_native_notification",
# =========================
# GMAIL CDP
# =========================
# Gmail-CDP surface (see app/src-tauri/src/gmail/). Drives the
# logged-in Gmail webview through DOMSnapshot + Input events. Used
# by onboarding's LinkedIn-enrichment pipeline today and by future
# agent tools.
"gmail_list_labels",
"gmail_list_messages",
"gmail_search",
"gmail_get_message",
"gmail_send",
"gmail_trash",
"gmail_add_label",
"gmail_find_linkedin_profile_url",
# =========================
# LOGS
# =========================
# Surface the embedded core's daily-rotated log directory
# (`<data_dir>/logs/`) so the Settings → Developer Options panel can
# show users the path and reveal it in the platform file manager when
# collecting support bundles. Read-only; no writes occur in the
# backing commands.
"logs_folder_path",
"reveal_logs_folder",
# =========================
# GOOGLE MEET
# =========================
# Meet call: open / close a dedicated CEF webview window pointed at a
# https://meet.google.com/<code> URL with an isolated per-call data
# directory. Surfaced from Intelligence > Calls. Without these allow
# entries the invoke is rejected with "Command not found".
"meet_call_open_window",
"meet_call_close_window",
# =========================
# CEF / PROFILE
# =========================
"schedule_cef_profile_purge",
]
deny = []