Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue getting app to work on Windows 10/11 #1

Open
BPT1901 opened this issue Jan 21, 2025 · 1 comment
Open

Issue getting app to work on Windows 10/11 #1

BPT1901 opened this issue Jan 21, 2025 · 1 comment

Comments

@BPT1901
Copy link
Owner

BPT1901 commented Jan 21, 2025

Windows Compatibility Issues with Hyperporter App

Description

The Hyperporter app, which handles Blackmagic HyperDeck recordings via RTSP and FTP, works correctly on MacOS but experiences several critical issues when built for Windows. The app is built using Electron, React, and Node.js.

Current Functionality

  • MacOS build works correctly with:
    • Live recording transfer via RTSP
    • Manual file transfer from SSDs
    • File renaming functionality
    • Proper path handling
    • Maintains WebSocket connections

Issues on Windows Build

1. Live Recording Transfer Issues

  • RTSP stream is not properly saving recordings to the selected destination
  • After stopping monitoring, the app fails to find the source file in the selected directory
  • Error: "ENOENT: no such file or directory" when attempting to save/rename recordings

2. Manual File Transfer Issues

  • When selecting existing recordings from SSDs, file transfer fails
  • Errors occur when attempting to save files with new names
  • Path handling appears to be incorrect for Windows directory structure

3. WebSocket Connection

  • WebSocket connection issues ("net::ERR_CONNECTION_REFUSED")
  • FileWatcher persistence problems between monitoring sessions

Image

Image

Image

Technical Details

Environment

  • Development: MacOS (Mac mini)
  • Target Platform: Windows 10
  • Build Process: Using electron-builder on MacOS for Windows build
  • Framework Versions:
    • Electron: ^25.3.1
    • React: [version]
    • Node.js: [version]

Current Build Process

npm run electron:build:win

File Structure

win-unpacked/
├── client/
│   └── build/
│       ├── index.html
│       └── static/
├── electron/
├── server/
├── node_modules/
├── locales/
├── resources/
└── Hyperporter.exe

Requirements

Core Functionality Needed

  1. Proper Windows path handling for both live transfers and manual file transfers
  2. Correct RTSP stream saving to Windows directories
  3. Reliable WebSocket connection maintenance
  4. Consistent file watcher behavior between monitoring sessions
  5. Proper error handling for Windows file system operations

Additional Considerations

  1. Cross-platform compatibility maintenance (keep MacOS functionality while fixing Windows)
  2. Clear error messaging for debugging purposes
  3. Proper cleanup of resources and connections

Desired Outcome

  • Full functionality parity between Windows and MacOS builds
  • Reliable file transfers via both RTSP and FTP methods
  • Proper path handling for Windows directory structure
  • Stable WebSocket connections
  • Clear error handling and user feedback

Additional Context

The app successfully manages:

  • RTSP streaming from HyperDeck
  • FTP file transfers
  • File renaming and organization
  • Real-time monitoring of recordings

Looking for experienced developer(s) with:

  • Electron cross-platform development experience
  • Windows/MacOS path handling expertise
  • RTSP/FTP implementation knowledge
  • React/Node.js proficiency

Priority

High - This is blocking the Windows release of the application.

Labels

  • bug
  • windows
  • cross-platform
  • help-wanted
  • high-priority
@josephdadams
Copy link
Collaborator

Can you use something like path.normalize on this line:

setDestinationPath(selectedPath);

i.e.

setDestinationPath(path.normalize(selectedPath));

(and of course import path at the top of the file)

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

No branches or pull requests

2 participants