Skip to content

Mismatch Between Official Releases and Open Source Code #573

Description

@AbhiCrackerOfficial

Summary

I’m trying to build TelDrive from the public GitHub source, but the resulting build does not appear to match the behavior of the official v1.8.3 release binary.

Specifically, the official binary includes working QR login behavior, while the version built from the public repositories appears to be missing the WebSocket QR login endpoint expected by the UI.

I may be missing something in the build process, so I’m opening this issue to confirm whether the public source is expected to produce the same functionality as the official release binary.

Evidence

1. Missing WebSocket QR Login Endpoint

The UI appears to expect the following WebSocket endpoint:

// From teldrive-ui/src/components/login.tsx
return `${url.protocol === "http:" ? "ws" : "wss"}://${url.host}/api/auth/ws`;

Expected endpoint:

/api/auth/ws

However, I could not find this endpoint in the public backend source:

  • Not listed in openapi/openapi.yaml
  • Not implemented in pkg/services/auth.go
  • The generated API interface appears to require an AuthWs() method, but I could not find that implementation

When building from source, the backend fails with:

pkg/services/api.go:137:18: *apiService does not implement api.Handler (missing method AuthWs)

2. UI Behavior Difference

The official release binary serves a UI bundle that works correctly with QR and phone login.

Observed official binary UI bundle:

index-BxH2Btge.js

When building from the public teldrive-ui repository, the generated bundle is different:

index-BzkD_NMi.js

The UI built from the public repository appears to expect behavior that is not fully available in the public backend source, causing login-related failures.

3. /api/auth/session Behavior Difference

With the official binary:

curl -i http://localhost:8080/api/auth/session

Returns:

HTTP/1.1 204 No Content
Date: Fri, 15 May 2026 11:22:37 GMT

With the version built from source, the same endpoint initially returned:

{
  "code": 401,
  "message": "security requirement is not satisfied"
}

I was able to work around this partially by modifying the OpenAPI spec to allow anonymous access to /auth/session, but QR login still does not work because the WebSocket auth endpoint appears to be missing.

4. Network Inspector Evidence from Official Binary

When using the official binary, the UI establishes a WebSocket connection and uses the following QR login flow:

WebSocket Connection Established
→ {"authType":"qr"}
← {"payload":{"phoneCodeHash":"..."},"type":"auth"}

I could not find the corresponding backend implementation for this flow in the public GitHub source.

Version Information

  • Official binary: v1.8.3
  • GitHub source: v1.8.3
  • TelDrive commit tested: e65fbe1
  • UI repository: latest public teldrive-ui from GitHub
  • OS: macOS
  • Go version: 1.23+
  • Build tool: go-task/task v3
  • Database: PostgreSQL 17 with pgroonga extension

Steps to Reproduce

Clone the public repositories:

git clone https://github.com/tgdrive/teldrive.git
git clone https://github.com/tgdrive/teldrive-ui.git

Build the UI:

cd teldrive-ui
bun install
bun run build

Copy the UI build into the backend:

cd ../teldrive
cp -r ../teldrive-ui/dist/* ui/dist/

Build the backend:

task server

Run the built version:

./bin/teldrive run --config config.toml

Visit:

http://localhost:8080

Expected Behavior

The app built from the public source should support the same login flow as the official v1.8.3 binary, including QR login.

Actual Behavior

The app built from the public source does not appear to include the WebSocket QR login endpoint required by the UI, so QR login is missing or broken.

Comparison Test

Using the official release binary:

./teldrive-official run --config config.toml

Result:

QR login works correctly.

Using the version built from public source:

./bin/teldrive run --config config.toml

Result:

QR login does not work because the expected WebSocket auth endpoint appears to be unavailable.

Request for Clarification

Could you please clarify one of the following?

  1. Is the public GitHub source expected to produce the same functionality as the official release binaries?
  2. Is the QR login implementation intentionally excluded from the public source?
  3. Is there a separate branch, tag, submodule, or build step required to include this functionality?
  4. If some release features are not part of the public source, could this be documented clearly?

This would help developers who want to self-host, debug, or contribute to the project understand the expected build path.


This issue was written with assistance from AI, based on my local testing and code search.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions