Commit Graph

28 Commits

Author SHA1 Message Date
3b5c3290b2 "fix-sort-and-display-name" 2026-05-28 17:11:50 -04:00
Offending Commit
e490d911fc feat(web): add global metadata visibility toggle
Introduce MetadataContext + useMetadata hook backed by localStorage and
wire a Braces button into the sidebar footer that toggles raw metadata
visibility across the app. Replace per-page collapsible metadata in
PeerDetail and WorkspaceDetail with a global animated reveal styled
distinctly (warning-colored card) to signal raw payload. Also adopts
the shared Breadcrumb in both detail pages.
2026-05-15 14:27:53 -05:00
Offending Commit
62cae68d05 feat(web): add workspace contextual sub-nav to sidebar
Detect active workspace via fuzzy matchRoute against /workspaces/$workspaceId
and reveal an animated sub-nav with links to Peers, Sessions, Conclusions,
and Webhooks for that workspace. Sub-nav collapses smoothly when leaving
the workspace context.
2026-05-15 14:25:42 -05:00
Offending Commit
c6afc80fda feat(web): add shared Breadcrumb component for workspace pages
Replace ad-hoc back-arrow and inline breadcrumb markup in PeerList,
SessionList, SessionDetail, ConclusionBrowser, and WebhookManager with a
single router-aware Breadcrumb. Demo-aware via useDemo() so workspace
and entity IDs render masked when demo mode is active.
2026-05-15 14:25:41 -05:00
Claude
38e76d33de feat: add health indicator and localhost auto-detect
Surfaces live connection health for the active instance in the sidebar
and probes localhost:8000 on the first-run choose-type screen so users
running Honcho locally can connect in one tap.

- useHealthStatus hook polls checkConnection every 30s via TanStack Query
- HealthDot component renders a colored status dot with tooltip
- choose-type screen silently probes http://localhost:8000 once; on
  success it surfaces a "Detected Honcho at localhost:8000 — tap to
  connect" banner that opens the self-hosted form
2026-05-14 23:50:03 +00:00
Claude
f0717624eb feat: add Honcho Cloud connection preset
Adds a "choose-type" step to the settings flow so users can pick between
Honcho Cloud (https://api.honcho.dev, API key required) and Self-Hosted
(URL + optional token) when creating a connection. Multi-instance support
already exists in the data layer, so cloud and self-hosted instances can
coexist.

- new HONCHO_CLOUD_URL constant and isCloudInstance helper in config.ts
- SettingsForm accepts a preset prop; cloud variant locks the endpoint
  and enforces an API key
- InstancesManager gains a ConnectionTypeChooser entry point and renders
  a Cloud icon for cloud instances in the list
- unit tests for both preset paths and cloud edit-mode detection
2026-05-14 23:21:28 +00:00
Offending Commit
57b7ff3ad3 Merge branch 'main' into codex/page-loading-placeholders
Signed-off-by: Offending Commit <offendingcommit@gmail.com>
2026-05-12 10:08:10 -05:00
Offending Commit
3075e4a005 fix: show structured page placeholders while loading 2026-05-12 10:05:00 -05:00
Offending Commit
7827438d92 fix: improve dark mode accessibility contrast 2026-05-12 09:49:27 -05:00
Offending Commit
f9e26d42f1 Merge branch 'main' into feat/deep-linking 2026-05-04 11:31:55 -05:00
Offending Commit
f706c83cc1 feat: support multiple Honcho instances (closes #2)
Replace single localStorage config with a named-instance store
({ instances: Instance[], activeId }). Adds an instances manager on
the settings page (list / add / edit / delete / activate) and a
sidebar switcher for quick swaps. Existing single-config users are
migrated transparently on first load.

Switching or deleting an instance clears the TanStack Query cache so
data from another deployment never bleeds into the active view.
2026-05-04 11:09:28 -05:00
Offending Commit
578c8f4c46 feat: deep linking for hosted URLs and openconcho:// scheme
Add /explore redirect route that maps Honcho's deep-link shape
(?workspace=...&view=...&session=...) onto our existing flat routes,
so any app.honcho.dev URL works against a self-hosted instance by
swapping the host.

Wire tauri-plugin-deep-link to register the openconcho:// scheme on
desktop and forward incoming URLs into the router on launch and at
runtime.
2026-05-04 10:12:25 -05:00
Offending Commit
34319db283 chore(test): catalog @playwright/test and wire e2e into turbo
- Promote @playwright/test to the workspace catalog
- Add test:e2e turbo task (uncached)
- Add root pnpm test:e2e script
- Vitest scopes to src/**/*.{test,spec} and excludes e2e/
2026-05-03 17:03:55 -05:00
Offending Commit
557fecf038 fix(web): render sidebar on settings route
Settings page was rendering Outlet directly, omitting the Sidebar nav.
Adds a playwright e2e test asserting sidebar visibility on both
dashboard and settings routes.
2026-05-03 16:58:43 -05:00
Offending Commit
784cbee870 style(web): fix biome import order in test files 2026-05-03 16:54:18 -05:00
Offending Commit
8f5a6aa7e9 fix(web): show settings on first load and hoist DemoProvider globally
Bug 1: On a fresh load with no saved config, RootLayout returned `null`
while a useEffect-driven `router.navigate()` fired, leaving a blank screen
until the user manually refreshed. Move the redirect into the root route's
`beforeLoad` so it happens synchronously during route resolution and the
settings form renders on first paint.

Bug 2: `DemoProvider` was mounted inside `RootLayout` only on the
non-settings branch, so any component reading `useDemo()` outside that
branch would throw "useDemoContext must be used within DemoProvider".
Hoist `<DemoProvider>` to `main.tsx` so the context is available app-wide.

Adds vitest + RTL setup with regression tests for both behaviours.
2026-05-03 16:41:59 -05:00
Offending Commit
7848d69524 feat(web): show app version in sidebar footer via Vite define
Reads version from root package.json at build time and injects it
as __APP_VERSION__ via Vite define, replacing the hardcoded "API v3".
2026-04-27 14:34:19 -05:00
Offending Commit
123828ccb6 feat(demo): extend mask() to all breadcrumbs, page titles, and identifiers
Covers workspace IDs, session IDs, peer IDs in breadcrumbs and titles,
server base URL in sidebar, webhook URLs/IDs, and session metadata source
tags across all 11 components.
2026-04-27 14:34:18 -05:00
Offending Commit
8f9d806eef feat(demo): replace blur with asterisk masking of user data via React context 2026-04-27 14:34:18 -05:00
Offending Commit
7c022d0929 fix(demo): replace redacted font with CSS blur on main content 2026-04-27 14:11:36 -05:00
Offending Commit
d0aba0250d feat: rename Honcho UI to OpenConcho, use SVG logo in sidebar and settings 2026-04-27 14:10:25 -05:00
Offending Commit
c2e2c835de feat: add demo mode feature flag using Redacted Script font 2026-04-27 14:09:13 -05:00
Offending Commit
a519745f20 fix: invert icon to white logo on indigo background 2026-04-27 11:51:21 -05:00
Offending Commit
35e6c5df4d feat: apply brand colors to logo (indigo favicon, dark-bg Tauri icons) 2026-04-27 11:49:29 -05:00
Offending Commit
a07f5abfc5 feat: set OpenConcho logo as app icon for web and Tauri 2026-04-27 11:47:26 -05:00
Offending Commit
988ab36c32 chore(fire-tools): upgrade stamp to v1.13.2
- pnpm catalog: centralize version governance for biome, ts, vitest,
  zod, semantic-release, react, vite, and testing deps
- biome 1.9.4 → 2.4.13: migrate config (organizeImports → assist,
  files.ignore → files.includes, enable tailwindDirectives for @theme)
- zod 3.24.3 → 4.3.6: update error message API to { message: "..." }
  and .errors → .issues in all 4 Zod-using files
- vitest 3.2.3 → 4.1.5
- semantic-release 24.x → 25.0.3
- typescript 6.0.3 (ahead of 5.9.x standard; intentional)
- add commitlint 20.x with conventional config
- add husky 9.x with commit-msg and pre-commit hooks
- add .github/actions/setup composite action; update all 3 workflows
- fix: remove pnpm version: 9 from all workflows (reads packageManager)
- fix: node-version 20 → 24 in all 3 workflows
- add Makefile with dev/build/test/lint/typecheck/install targets
2026-04-27 11:20:47 -05:00
Offending Commit
8052a7d27a fix(web): use esnext build target instead of safari13
safari13 causes esbuild to fail on modern destructuring patterns
from TanStack Router/Query. In 2026, all WebKit versions that can
run Tauri v2 fully support esnext. Use chrome120 for Windows.
2026-04-24 21:42:08 -05:00
Offending Commit
92c4dfd3dd feat: restructure as pnpm monorepo with Tauri desktop shell
- Migrate to packages/web + packages/desktop workspace layout via git mv
- Add Tauri v2 desktop shell with @tauri-apps/plugin-http for CORS bypass
- Configure Turborepo with package-level dependsOn build graph
- Add semantic-release with exec plugin for GHA output and disabled PR comments
- Fix http:default capability scope to allow all HTTP/HTTPS origins
- Add Vite Tauri integration (clearScreen, TAURI_DEV_HOST, target, envPrefix)
- Add semantic-release.yml and release.yml GitHub Actions workflows
- Fix all Biome lint errors (noArrayIndexKey, noNonNullAssertion, button types)
2026-04-24 21:42:06 -05:00