Commit Graph
1275 Commits
Author SHA1 Message Date
b329e45cdb feat(skills): uninstall for user-scope SKILL.md skills (#781) (#833)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 17:23:40 +05:30
Steven EnamakelandGitHub b81d04df54 feat(redirect_links): SQLite-backed URL shortener for token-heavy links (#870) 2026-04-24 00:05:55 -07:00
478c92e533 feat(commands): ⌘K palette + keyboard system + chat UX polish (#745)
- Implement command palette (⌘K) using cmdk and Radix Dialog with a global action registry.
- Add a keyboard shortcut system with a capture-phase hotkey manager and scope stack.
- Integrate seed navigation actions for Home, Chat, Intelligence, Skills, and Settings.
- Improve chat UX with a `useStickToBottom` hook for auto-scroll and fixed hydration errors.
- Refactor command UI to display shortcuts inline and remove the redundant help overlay.
- Fix Vite HMR connection issues within the Tauri/CEF environment.

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 22:52:54 -07:00
Steven EnamakelandGitHub 500ddc2a8a feat(webview_apis): WebSocket bridge for live-webview APIs, Gmail first (#869) 2026-04-23 22:21:53 -07:00
fc54c92509 docs: environment contract roadmap + hypernym/cognee spike plan (#836)
- Add ENVIRONMENT-CONTRACT-ROADMAP.md covering post-v1 trace persistence and operator feedback.
- Add HYPERNYM-COGNEE-SPIKE.md for trace compression and graph-based candidate-skill discovery.
- Add CREDENTIAL-PROXY-SPIKE.md detailing native Rust credential proxying and token handling.
- Update planning docs to align with current SKILL.md standards and deterministic matching.
- Fix internal module import for whitespace collapsing in threads/ops.

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 22:17:40 -07:00
b40af6c294 fix(security): command injection in npm postinstall + weak RNG fallback (#837)
- Replace `execSync` with `execFileSync` in npm install script to prevent command injection.
- Pass PowerShell paths via environment variables to avoid shell metacharacter interpolation.
- Add `-NoProfile` and `-NonInteractive` flags to PowerShell extraction for cleaner installs.
- Upgrade `makeAccountId` to prioritize `crypto.getRandomValues` over `Math.random` for suffixes.
- Update internal thread title logic to import `collapse_whitespace` from the correct location.

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 22:16:44 -07:00
e4c02ba1a6 test(e2e): channels smoke spec (Telegram + Discord) (#859)
- Add E2E smoke test for the /channels page to verify Telegram and Discord tile rendering.
- Validate that Telegram and Discord panels correctly display using fallback definitions.
- Ensure "Connect" affordances are accessible for both Telegram and Discord integrations.
- Apply Prettier formatting to the new channels smoke spec file.

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 22:15:28 -07:00
53befcd56f chore: drop dead crypto + stale rules, Windows doctor disk probe (#856)
Two cleanups surfaced during a codebase review:

## Changes
- **Drop dead integration-token crypto** — `integrationTokensCrypto.ts` + helpers; no remaining consumers
- **Trim stale `.claude/rules`** — rules that contradict current CLAUDE.md
- **Windows doctor disk probe** — detect low-disk conditions on Windows
- **Refresh stale binary-size claim** in docs

Net: +82 / −3,596 (mostly dead-code removal).

## Test plan
- [ ] `yarn typecheck` green — no dangling imports to crypto module
- [ ] `cargo check` green
- [ ] Doctor runs on Windows host

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 22:14:48 -07:00
1408666706 feat(notifications): native OS notifications via CEF shim + scanner fallback (#850)
Co-authored-by: oxoxDev <nikhil@tinyhumans.ai>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 17:52:57 -07:00
Steven EnamakelandGitHub 643ec33dec feat(ui,webview): compact tab bar, hide inactive tabs, harden CEF link handling (#868) 2026-04-23 17:31:34 -07:00
e0eb3c47be ci: enable sccache and disable incremental in rust test job (#866)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-23 17:08:50 -07:00
c0f6e39b3e feat(memory_tree): Phase 4 retrieval tools for hierarchical memory (#710) (#831)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 16:18:46 -07:00
Steven EnamakelandGitHub 3e6ca41d7b ci(release): drop duplicate vite build and raise node heap to 8GB (#865) 2026-04-23 16:06:54 -07:00
9d7237bb91 feat(skills): agentic loop wiring for SKILL.md bodies (#781) (#807)
- Add Skill::read_body to fetch SKILL.md instruction text during agent inference.
- Implement a skill matcher supporting explicit @ mentions and automatic keyword/tag heuristics.
- Create a rendering system for skill injection with an 8KB budget and truncation handling.
- Wire skill matching and instruction body injection into the Agent::turn execution path.
- Include 24 unit tests for skill matching, ranking logic, and size-cap enforcement.

Closes #781

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 13:44:26 -07:00
c59b4289f1 refactor(config): extract env lookup seam for testability (#792)
## Summary

- Introduce an `EnvLookup` seam in `src/openhuman/config/schema/load.rs`.
- Route env-overlay reads through `EnvLookup`/`ProcessEnv` while preserving existing precedence and runtime behavior.
- Add focused parallel-safe unit coverage for config env overlay behavior without mutating process env.

## Problem

- `Config::apply_env_overrides` mixed environment access, override logic, and global side effects.
- That made precedence and parsing behavior harder to unit test in isolation and forced reliance on process-env mutation.

## Solution

- Add `pub(crate) trait EnvLookup` with `get`, `contains`, and `get_any`, plus a production `ProcessEnv` implementation.
- Delegate overlay logic through `apply_env_overlay_with(&ProcessEnv)` and keep side effects in the small wrapper.
- Add focused tests covering precedence, parsing, defaults, and legacy-migration interactions with no global env mutation.

## Submission Checklist

- [x] **Unit tests** — Targeted Rust config tests added and broader related module suites passed
- [ ] **E2E / integration** — Not applicable; this refactor preserves existing behavior and improves unit-level testability
- [x] **N/A** — E2E is not applicable because no user-visible or cross-process flow changed
- [ ] **Doc comments** — Not applicable; internal refactor in existing module only
- [ ] **Inline comments** — Not applicable; logic remains local and test coverage documents behavior

## Impact

- No intended runtime behavior change; refactor keeps config precedence intact.
- Improves maintainability and makes future config/workspace resolution seams easier to test safely.

## Related

- Issue(s):
- Follow-up PR(s)/TODOs: thread `EnvLookup` through runtime config directory resolution helpers

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 13:42:02 -07:00
Steven EnamakelandGitHub 2ba7fd5a01 chore(github): add CODEOWNERS to auto-request maintainer reviews (#848) 2026-04-23 12:58:30 -07:00
Steven EnamakelandGitHub 8851bfbe97 feat(scripts/review): yarn review CLI for sync/review/fix/merge with LLM-summarised squash bodies (#849) 2026-04-23 12:41:54 -07:00
629b4ccb07 test(memory_tree): unit tests for retrieval RPC handlers (#710) (#839)
- Add JSON-RPC handlers for source, global, and topic-based memory retrieval.
- Integrate Ollama embeddings for semantic reranking of chunks and summaries.
- Implement 15 unit tests for RPC handlers covering parameter parsing and PII redaction.
- Redact PII from logs by removing raw source, entity, and node identifiers.
- Fix BFS traversal for drill-down and deduplicate results in topic queries.
- Add configuration for embedding endpoints, models, and strictness modes.

Co-authored-by: sanil-23 <sanil@vezures.xyz>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 12:31:56 -07:00
Cyrus GrayandGitHub c78f496686 fix(webhooks,cron): wire trigger pipeline so agents auto-respond reliably (#747) 2026-04-24 00:35:27 +05:30
3b83fba93a feat(home): next-steps card + drop stub /agents route (#788)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-23 10:05:23 -07:00
7670ae9f12 feat(notifications): core→shell DomainEvent bridge (Phase 1d of #395) (#782)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 10:04:34 -07:00
5e660f2fe8 feat(core): memory namespaces, recall citations, provider_surfaces RPC (#803)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-23 09:57:26 -07:00
YellowSnnowmannandGitHub 06b6890e2a chore(release): increase Node.js memory limit for builds (#838) 2026-04-23 21:41:38 +05:30
YellowSnnowmannandGitHub 29a3962b55 Feat: add email login auth (#832) 2026-04-23 21:03:18 +05:30
c8ecfd8b66 [codex] Add daemon lifecycle retry and visibility tests (#796)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:35:33 -07:00
22b7a8b18f [codex] Harden threads schema parse contract tests (#797)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:35:15 -07:00
e86406ea05 [codex] Refactor config runtime dir resolution for testability (#794)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:34:53 -07:00
f2ad7a3a55 polish(settings): trust-surface visual pass — Connections + Recovery Phrase (#766)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:33:01 -07:00
f539899a69 refactor(agent): move debug dump into domain and extract dump writer (#764)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-22 23:32:40 -07:00
0c74c4206c test(e2e): add cron jobs cross-process flow spec (#783)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:32:01 -07:00
4993a410f2 test(rpc,core,billing,team): harden registry + RPC helpers with edge-case coverage (#786)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:31:49 -07:00
e94afc61ea test(frontend): lock provider regression coverage (#791)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:31:10 -07:00
8150189866 test(e2e): add webhooks tunnel flow coverage (#793)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-22 23:30:53 -07:00
42d7147808 chore(claude-rules): add paths frontmatter for conditional loading (#804)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:29:19 -07:00
77515fe9e6 chore(docs,env): contributor notes + VITE_CONSUMER_FIRST_SESSION example (#802)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
2026-04-22 23:28:53 -07:00
a84c42860c test(app): expand frontend regression coverage for store slices and core RPC (#787)
Co-authored-by: Claude <noreply@anthropic.com>
2026-04-22 23:25:34 -07:00
1d62d1c0ac refactor(threads, tool_timeout): extract pure helpers for testability (#784)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:23:57 -07:00
fc213572c6 test(threads): harden JSON-RPC validation coverage (#790)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 23:23:22 -07:00
3dc0d0db64 feat(notifications): native OS banners for agent/chat/socket events (Phase 1c of #395) (#780)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-22 17:50:21 -07:00
Steven EnamakelandGitHub 98b47b107d feat(pr-manager): post deferred items as GitHub PR review comments (#816) 2026-04-22 17:45:51 -07:00
5113b0fd8b fix(rewards): add retry on snapshot load failure + tab-switch logging (#768)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 15:21:07 -07:00
c78c957821 feat(notifications): in-app notification center (Phase 1b of #395) (#769)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-22 15:17:45 -07:00
Steven EnamakelandGitHub 0ad526887c feat(agents): add pr-reviewer for CodeRabbit-style PR reviews (#815) 2026-04-22 15:17:09 -07:00
44fda19734 fix(recovery): prompt users to download latest build after crash loops (#778)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-22 15:07:48 -07:00
Steven EnamakelandGitHub 1e3743f28e feat(agents): add pr-manager-lite for already-checked-out PR branches (#813) 2026-04-22 14:51:17 -07:00
Steven EnamakelandGitHub 488dbbd7ec feat(homebrew): add homebrew-core formula (#810) 2026-04-22 14:51:02 -07:00
Steven EnamakelandGitHub 15a9c6f780 docs: rename Referral-doc.md to docs/referral-doc.md (#811) 2026-04-22 14:50:09 -07:00
83aa0166d6 feat(onboarding,ui): trust-first onboarding + Button primitive + honest privacy surface (#759)
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-22 14:49:27 -07:00
9a6f9cd110 fix(onboarding): show onboarding immediately after bootstrap (#777)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-04-22 14:48:40 -07:00
7961a328ca ci(e2e): add Linux workflow for agent-review spec (#763)
Dedicated narrow workflow that runs only agent-review.spec.ts under
tauri-driver + Xvfb and uploads app/test/e2e/artifacts/**. Gates on
spec presence so it can land before the spec itself. Intentionally does
not re-enable the broader commented E2E matrix in test.yml.

Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
2026-04-22 14:31:59 -07:00