Synced from monorepo

Synced from monorepo

Changes:
- Report invalid MCP server config instead of failing startup
- Keep completed terminal output when the gateway connection is lost
- Show a duration-only detail view for single-task task output
- Don't let a stale registry turn counter hide local sessions
- Raise the file-descriptor soft limit on Linux and log effective limits at startup
- Stop aborting when HTTP client construction fails
- Make session thread and runtime spawn failures recoverable
- Fix main-prompt paste parity in the question freeform input
- Fire SessionEnd hooks on /exit and headless quit
- Embed the deployment-config signing public key
- Repaint paste-chip background on inline panel inputs
- Security: prevent acceptEdits from auto-approving agent writes into the always-trusted global hook root
- Fix stacked "Worked for" markers so parks render as status and turns close with exactly one marker
- Parse hooks from config files
- Add a remote kill-switch for managed-config signature verification
- Security: fix workspace file-reference resolution bypassing workspace filesystem confinement

Source-Revision: d02693a856a54f1030695b36b91d276e96b30b23
This commit is contained in:
grokkybara[bot] 2026-07-25 18:44:42 +00:00
commit 47348d13ec
138 changed files with 7283 additions and 5796 deletions

View file

@ -1229,6 +1229,17 @@ impl AppView {
.as_deref()
.is_some_and(|r| r.eq_ignore_ascii_case("admin"))
}
/// Why `coding_data_sharing` is locked for this user (`None` = editable).
/// Mirrors the dispatch guards in `set_coding_data_sharing`.
pub fn coding_data_sharing_lock(&self) -> Option<crate::settings::CodingDataSharingLock> {
if self.is_zdr {
Some(crate::settings::CodingDataSharingLock::Zdr)
} else if self.is_team_non_admin() {
Some(crate::settings::CodingDataSharingLock::TeamManaged)
} else {
None
}
}
/// Welcome privacy banner visibility gates.
pub fn privacy_banner_should_show(&self) -> bool {
if self.screen_mode.is_minimal() {