diff --git a/.github/workflows/release-production.yml b/.github/workflows/release-production.yml
index 49697850f..bc4fa243d 100644
--- a/.github/workflows/release-production.yml
+++ b/.github/workflows/release-production.yml
@@ -128,6 +128,15 @@ jobs:
- name: Verify release version sync (main_head)
if: inputs.release_source == 'main_head'
run: node scripts/release/verify-version-sync.js "${{ steps.bump.outputs.version }}"
+ - name: Refresh Cargo.lock files (main_head)
+ if: inputs.release_source == 'main_head'
+ # Cargo.toml [package].version is bumped above but the matching
+ # entries in both Cargo.lock files are not — without this step the
+ # lockfiles stay pinned to the previous version and the next local
+ # `cargo` invocation rewrites them, leaving an uncommitted diff.
+ run: |
+ cargo update --workspace --manifest-path Cargo.toml
+ cargo update --workspace --manifest-path app/src-tauri/Cargo.toml
- name: Ensure tag does not already exist (main_head)
if: inputs.release_source == 'main_head'
env:
@@ -148,7 +157,7 @@ jobs:
VERSION: ${{ steps.bump.outputs.version }}
TAG: ${{ steps.bump.outputs.tag }}
run: |
- git add app/package.json app/src-tauri/tauri.conf.json app/src-tauri/Cargo.toml Cargo.toml
+ git add app/package.json app/src-tauri/tauri.conf.json app/src-tauri/Cargo.toml Cargo.toml app/src-tauri/Cargo.lock Cargo.lock
git commit -m "chore(release): v${VERSION}"
git push origin main
git tag -a "$TAG" -m "Release $TAG"
diff --git a/.github/workflows/release-staging.yml b/.github/workflows/release-staging.yml
index f9198e4d8..d722ff7de 100644
--- a/.github/workflows/release-staging.yml
+++ b/.github/workflows/release-staging.yml
@@ -102,6 +102,14 @@ jobs:
run: node scripts/release/bump-version.js patch
- name: Verify version sync
run: node scripts/release/verify-version-sync.js "${{ steps.bump.outputs.version }}"
+ - name: Refresh Cargo.lock files
+ # Cargo.toml [package].version is bumped above but the matching
+ # entries in both Cargo.lock files are not — without this step the
+ # lockfiles stay pinned to the previous version and the next local
+ # `cargo` invocation rewrites them, leaving an uncommitted diff.
+ run: |
+ cargo update --workspace --manifest-path Cargo.toml
+ cargo update --workspace --manifest-path app/src-tauri/Cargo.toml
- name: Compute staging tag
id: tagname
env:
@@ -127,7 +135,7 @@ jobs:
VERSION: ${{ steps.bump.outputs.version }}
TAG: ${{ steps.tagname.outputs.tag }}
run: |
- git add app/package.json app/src-tauri/tauri.conf.json app/src-tauri/Cargo.toml Cargo.toml
+ git add app/package.json app/src-tauri/tauri.conf.json app/src-tauri/Cargo.toml Cargo.toml app/src-tauri/Cargo.lock Cargo.lock
git commit -m "chore(staging): v${VERSION}"
git push origin main
git tag -a "$TAG" -m "Staging cut $TAG"
diff --git a/Cargo.lock b/Cargo.lock
index 7d0698ea1..dd9b433a1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4520,7 +4520,7 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openhuman"
-version = "0.53.25"
+version = "0.53.26"
dependencies = [
"aes-gcm",
"anyhow",
diff --git a/app/src-tauri/Cargo.lock b/app/src-tauri/Cargo.lock
index 18b4cd690..65f7833f3 100644
--- a/app/src-tauri/Cargo.lock
+++ b/app/src-tauri/Cargo.lock
@@ -4,7 +4,7 @@ version = 4
[[package]]
name = "OpenHuman"
-version = "0.53.23"
+version = "0.53.26"
dependencies = [
"anyhow",
"async-trait",
@@ -4551,7 +4551,7 @@ dependencies = [
[[package]]
name = "openhuman"
-version = "0.53.25"
+version = "0.53.26"
dependencies = [
"aes-gcm",
"anyhow",
diff --git a/app/src/components/settings/panels/DeveloperOptionsPanel.tsx b/app/src/components/settings/panels/DeveloperOptionsPanel.tsx
index 1296a664d..983f475e0 100644
--- a/app/src/components/settings/panels/DeveloperOptionsPanel.tsx
+++ b/app/src/components/settings/panels/DeveloperOptionsPanel.tsx
@@ -57,22 +57,24 @@ const developerItems = [
),
},
- {
- id: 'screen-awareness-debug',
- title: 'Screen Awareness Debug',
- description: 'FPS tuning, vision model config, capture tests, and session diagnostics',
- route: 'screen-awareness-debug',
- icon: (
-
- ),
- },
+ // Screen Awareness Debug, Memory Data, and Memory Debug hidden — routes
+ // retained in `pages/Settings.tsx` for re-enable.
+ // {
+ // id: 'screen-awareness-debug',
+ // title: 'Screen Awareness Debug',
+ // description: 'FPS tuning, vision model config, capture tests, and session diagnostics',
+ // route: 'screen-awareness-debug',
+ // icon: (
+ //
+ // ),
+ // },
// Autocomplete Debug + Voice Debug hidden per #717 (routes retained for re-enable).
{
id: 'local-model-debug',
@@ -106,38 +108,38 @@ const developerItems = [
),
},
- {
- id: 'memory-data',
- title: 'Memory Data',
- description: 'Knowledge graph, insights, activity heatmap, and file management',
- route: 'memory-data',
- icon: (
-
- ),
- },
- {
- id: 'memory-debug',
- title: 'Memory Debug',
- description: 'Inspect memory documents, namespaces, and test query/recall',
- route: 'memory-debug',
- icon: (
-
- ),
- },
+ // {
+ // id: 'memory-data',
+ // title: 'Memory Data',
+ // description: 'Knowledge graph, insights, activity heatmap, and file management',
+ // route: 'memory-data',
+ // icon: (
+ //
+ // ),
+ // },
+ // {
+ // id: 'memory-debug',
+ // title: 'Memory Debug',
+ // description: 'Inspect memory documents, namespaces, and test query/recall',
+ // route: 'memory-debug',
+ // icon: (
+ //
+ // ),
+ // },
{
id: 'intelligence',
title: 'Intelligence',
diff --git a/app/src/components/settings/panels/ScreenIntelligencePanel.tsx b/app/src/components/settings/panels/ScreenIntelligencePanel.tsx
index 575b13e0d..97da0f69e 100644
--- a/app/src/components/settings/panels/ScreenIntelligencePanel.tsx
+++ b/app/src/components/settings/panels/ScreenIntelligencePanel.tsx
@@ -20,7 +20,7 @@ const formatRemaining = (remainingMs: number | null): string => {
};
const ScreenIntelligencePanel = () => {
- const { navigateBack, navigateToSettings, breadcrumbs } = useSettingsNavigation();
+ const { navigateBack, breadcrumbs } = useSettingsNavigation();
const {
status,
lastRestartSummary,
@@ -237,7 +237,8 @@ const ScreenIntelligencePanel = () => {
)}
-
+ */}
);
diff --git a/src/main.rs b/src/main.rs
index 2688d48ed..decf62eb3 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -48,8 +48,17 @@ fn main() {
before_send: Some(std::sync::Arc::new(|mut event| {
// Strip server_name (hostname) to avoid leaking machine identity
event.server_name = None;
- // Strip user context entirely
- event.user = None;
+ // Attach the cached account uid so Sentry can count unique users
+ // affected by an issue. We only carry `id` — never email, name,
+ // or IP — so this stays consistent with `send_default_pii: false`.
+ // Empty/missing on early-startup events (cache populates after
+ // the first `auth_get_me` RPC); that's expected.
+ event.user = openhuman_core::openhuman::app_state::peek_cached_current_user_identity()
+ .and_then(|identity| identity.id)
+ .map(|id| sentry::User {
+ id: Some(id),
+ ..Default::default()
+ });
// Scrub exception messages for secrets
for exc in &mut event.exception.values {
if let Some(ref value) = exc.value {