Skip to content

Enhance SFTP and terminal flows, stabilize desktop sync - #1377

Open
elhak wants to merge 5 commits into
Termix-SSH:mainfrom
elhak:main
Open

Enhance SFTP and terminal flows, stabilize desktop sync#1377
elhak wants to merge 5 commits into
Termix-SSH:mainfrom
elhak:main

Conversation

@elhak

@elhak elhak commented Sep 1, 2026

Copy link
Copy Markdown

This pull request introduces several improvements and new features across the codebase, focusing on enhanced documentation, expanded Electron API surface, improved remote sync logic, and better tunnel configuration handling. The changes also include updates to support more robust host reference resolution and improved file management capabilities.

Key changes include:

Documentation and Guidelines

  • Added a comprehensive AGENTS.md file outlining repository structure, coding conventions, build/test commands, commit/PR guidelines, and security considerations, providing clear onboarding and contribution guidance.

Electron API Enhancements

  • Expanded the Electron preload API in electron/preload.js to include methods for AI settings management, terminal agent sessions, and a suite of local file system operations (listing, reading, writing, renaming, permissions, etc.), as well as improved tunnel start/test methods to accept an authToken. [1] [2]

Remote Sync Improvements

  • Introduced reference mapping logic in electron/remote-sync.cjs to correctly synchronize entities that reference other entities (e.g., hosts referencing credentials), ensuring referential integrity between local and remote data. This includes new utility functions and integration into the sync process. [1] [2] [3] [4] [5] [6]
  • Updated electron/remote-sync-entities.cjs to keep user preferences local-only, improving compatibility with different backend versions.

Tunnel and Host Reference Handling

  • Enhanced C2S tunnel logic in src/backend/hosts/tunnel/c2s-relay.ts to support resolving hosts by syncId (not just id), normalize address fields, and consistently use remoteAddress and localAddress for tunnel endpoints. This improves cross-device tunneling and sync scenarios. [1] [2] [3] [4] [5] [6]
  • Added a repository method in host-resolution-repository.ts to look up a host by its syncId and user, supporting the above tunnel changes.

Authentication and Logout Handling

  • Updated src/main.tsx to import and use new authentication helpers for marking and clearing manual desktop logouts, and to clear manual logout state on login. [1] [2]
  • Introduced a LogoutOptions type to support future extensibility in logout handling.

elhak and others added 5 commits August 10, 2026 16:06
…onflicts

# Conflicts:
#	src/ui/AppShell.tsx
#	src/ui/auth/Auth.tsx
#	src/ui/dashboard/cards/NetworkGraphCard.tsx
#	src/ui/features/docker/components/LogViewer.tsx
#	src/ui/features/host-metrics/cards/managers/LogViewerCard.tsx
#	src/ui/features/terminal/Terminal.tsx
#	src/ui/shell/MobileBottomBar.tsx
#	src/ui/shell/tabUtils.tsx
#	src/ui/sidebar/AppRail.tsx
#	src/ui/sidebar/HostCredentialList.tsx
#	src/ui/sidebar/HostEditor.tsx
#	src/ui/sidebar/UserProfilePanel.tsx
Merge upstream parent `main` into fork branch and resolve UI conflicts

@ZacharyZcR ZacharyZcR left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution. This cannot be safely reviewed or merged in its current form.

Blocking changes required:

  1. Retarget/rebase the work onto dev-2.8.0; feature and bug-fix work for the upcoming release must not target main.
  2. Split this into focused PRs by concern. The current PR changes 74 files (+8.7k/-3.6k) across SFTP, terminal AI, remote sync, tunnels, authentication, host editing, navigation, localization, and documentation. That scope prevents reliable review and rollback.
  3. Remove the merge-conflict resolution commit and rebuild each focused change from the current development branch. It resolved conflicts across core UI/session files, making it impossible to distinguish intended behavior from stale-branch conflict choices.
  4. Give each replacement PR focused tests and a clear issue/behavior statement. Please do not include unrelated formatting, generated translations, or repository guidance with product changes.

The small WebAuthn iframe fix has already been isolated in #1378, so please omit that change from any replacement PR. Once the remaining concerns are split and based on dev-2.8.0, they can be reviewed independently.

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.

3 participants