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:
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:
When building from the public teldrive-ui repository, the generated bundle is different:
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:
Run the built version:
./bin/teldrive run --config config.toml
Visit:
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?
- Is the public GitHub source expected to produce the same functionality as the official release binaries?
- Is the QR login implementation intentionally excluded from the public source?
- Is there a separate branch, tag, submodule, or build step required to include this functionality?
- 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.
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:
Expected endpoint:
However, I could not find this endpoint in the public backend source:
openapi/openapi.yamlpkg/services/auth.goAuthWs()method, but I could not find that implementationWhen building from source, the backend fails with:
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:
When building from the public
teldrive-uirepository, the generated bundle is different: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/sessionBehavior DifferenceWith the official binary:
Returns:
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:
I could not find the corresponding backend implementation for this flow in the public GitHub source.
Version Information
v1.8.3v1.8.3e65fbe1teldrive-uifrom GitHub1.23+go-task/task v3pgroongaextensionSteps to Reproduce
Clone the public repositories:
Build the UI:
cd teldrive-ui bun install bun run buildCopy the UI build into the backend:
Build the backend:
Run the built version:
Visit:
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:
Result:
Using the version built from public source:
Result:
Request for Clarification
Could you please clarify one of the following?
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.