Skip to content

Bring cumulative RemCodex improvements upstream - #1

Open
john-craig wants to merge 14 commits into
lupishan:mainfrom
john-craig:main
Open

Bring cumulative RemCodex improvements upstream#1
john-craig wants to merge 14 commits into
lupishan:mainfrom
john-craig:main

Conversation

@john-craig

Copy link
Copy Markdown

Summary

This pull request brings the cumulative RemCodex improvements from the john-craig/remcodex fork into lupishan/remcodex. The source of truth remains the Gitea repository; the fork is configured as a public push mirror.

Changes

Session and project workflows

  • Added persisted parent-session relationships and a nested/expandable session tree in the web UI.
  • Enforced directory-hierarchy parenting: parents must live at the same or an ancestor working-directory path.
  • Added working-directory project lookup, project creation, session reuse, session listing, and session resumption.
  • Added session descriptions, deduplicated tags, arbitrary JSON metadata, and external/API/MCP update support.
  • Added starting prompts for profiles, including one-shot prompt composition and a temporary UI banner.
  • Added stable openable session links to MCP responses.

Interactive Codex app-server support

  • Added discovery and synchronization of interactive Codex app-servers through the registry under the runtime directory.
  • Added remote app-server execution, rollout/thread synchronization, session attachment, and unattended approval behavior.
  • Added the Python remcodex-tui wrapper. Bare invocation starts a discoverable Unix-socket app-server and launches the TUI through codex --remote; explicit Codex arguments pass through unchanged.
  • Added green/red liveness indicators for sessions currently connected to, or previously disconnected from, an interactive TUI.

MCP and diagnostics

  • Added authenticated RemCodex MCP server support and smoke-test tooling.
  • Added MCP tools for profiles, projects, session creation/reuse, directory listing, resumption, metadata updates, history, approvals, and session links.
  • Preserved child-process stderr and richer failure diagnostics, including command, working directory, execution mode, exit code, and truncation state.
  • Added client-side WebSocket/session synchronization diagnostics and a mock app-server/Playwright reproducer for dropped UI replies.

Web UI and deployment

  • Added the RemCodex workspace UI, session navigation, timeline rendering, approvals, voice-note capture, profile selection, and responsive/mobile presentation.
  • Added a RemCodex-styled /directory page driven by validated REMCODEX_DIRECTORY_INSTANCES JSON configuration, with links to multiple RemCodex instances.
  • Added optional REMCODEX_HOSTNAME support so API/MCP session links can use the hostname seen by end users, while retaining relative links when unset.
  • Added startup configuration examples, packaging support, assets, and the required Nix flake/check scaffolding.

Validation

  • npm run build
  • JavaScript/TypeScript tests: 25 passing
  • Python unit tests: 3 passing
  • node --check web/app.js

The Gitea source and public GitHub fork are configured to stay synchronized through the Gitea push mirror.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant