[GH-ISSUE #39] Error Loading Clients - Failed to load client data: INTERNAL_ERROR #20

Closed
opened 2026-10-15 13:01:33 +00:00 by bsakaguchi · 28 comments
Owner

Originally created by @Hukuma1 on GitHub (Jun 22, 2025).
Original GitHub issue: https://github.com/games-on-whales/wolfmanager/issues/39

Originally assigned to: @salty2011 on GitHub.

After a successful pairing on wolf, I am unable to see any clients in the UI of wolf-manager.

Image

Version

latest
202506.003

Error Logs from wolf-manager:

ERROR
wolfmanager-ui
Jun 22, 2025, 12:21:03 PM
Failed to get pending requests from /pair/pending endpoint

ERROR
api
Jun 22, 2025, 12:21:03 PM
API Error: Wolf socket not available

ERROR
system
Jun 22, 2025, 12:21:33 PM
Socket not found
Originally created by @Hukuma1 on GitHub (Jun 22, 2025). Original GitHub issue: https://github.com/games-on-whales/wolfmanager/issues/39 Originally assigned to: @salty2011 on GitHub. After a successful pairing on wolf, I am unable to see any clients in the UI of wolf-manager. ![Image](https://github.com/user-attachments/assets/24cc518b-c23c-45be-a693-08c3409e5dcd) Version ``` latest 202506.003 ``` Error Logs from wolf-manager: ``` ERROR wolfmanager-ui Jun 22, 2025, 12:21:03 PM Failed to get pending requests from /pair/pending endpoint ERROR api Jun 22, 2025, 12:21:03 PM API Error: Wolf socket not available ERROR system Jun 22, 2025, 12:21:33 PM Socket not found ```
bsakaguchi 2026-10-15 13:01:33 +00:00
Author
Owner

@salty2011 commented on GitHub (Jun 23, 2025):

Hey, thanks for the report.

Couple things.

  • Can you provide the compose file you are using
  • have you enabled the wolf socket on Wolf? This is required by WolfManager, see Wolf API
<!-- gh-comment-id:2996062942 --> @salty2011 commented on GitHub (Jun 23, 2025): Hey, thanks for the report. Couple things. - Can you provide the compose file you are using - have you enabled the wolf socket on Wolf? This is required by WolfManager, see [Wolf API](https://games-on-whales.github.io/wolf/stable/dev/api.html)
Author
Owner

@Trasen commented on GitHub (Jun 23, 2025):

I run in to this every time i recreate the image, chown-ing the wolf.sock has so far resolved the issue :)

<!-- gh-comment-id:2996508671 --> @Trasen commented on GitHub (Jun 23, 2025): I run in to this every time i recreate the image, chown-ing the wolf.sock has so far resolved the issue :)
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    environment:
      - XDG_RUNTIME_DIR=/tmp/sockets
      - HOST_APPS_STATE_FOLDER=/etc/wolf
    volumes:
      - /etc/wolf/:/etc/wolf
      - /tmp/sockets:/tmp/sockets:rw
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /dev/:/dev/:rw
      - /run/udev:/run/udev:rw
    device_cgroup_rules:
      - c 13:* rmw
    devices:
      - /dev/dri
      - /dev/uinput
      - /dev/uhid
    network_mode: host
    restart: unless-stopped

  wolfmanager:
    image: ghcr.io/games-on-whales/wolfmanager/wolfmanager:latest
    ports:
      - 3006:3000
    environment:
      - NODE_ENV=production
      # NEXTAUTH_SECRET and ENCRYPTION_KEY are auto-generated on first startup
      # - NEXTAUTH_SECRET=your-secret-here  # Optional: provide your own
      # - ENCRYPTION_KEY=your-32-char-key   # Optional: provide your own
      - NEXTAUTH_URL=http://192.168.1.4:3006
    volumes:
      - /var/run/wolf:/var/run/wolf # Mount Wolf socket
      - /var/run/docker.sock:/var/run/docker.sock # Mount Docker socket
      - $CONFIG/wolfmanager:/app/config # Persist config directory
    restart: unless-stopped

I believe the only thing I changed was the port since my 3000 was already used.

<!-- gh-comment-id:2996701896 --> @Hukuma1 commented on GitHub (Jun 23, 2025): ``` services: wolf: image: ghcr.io/games-on-whales/wolf:stable environment: - XDG_RUNTIME_DIR=/tmp/sockets - HOST_APPS_STATE_FOLDER=/etc/wolf volumes: - /etc/wolf/:/etc/wolf - /tmp/sockets:/tmp/sockets:rw - /var/run/docker.sock:/var/run/docker.sock:rw - /dev/:/dev/:rw - /run/udev:/run/udev:rw device_cgroup_rules: - c 13:* rmw devices: - /dev/dri - /dev/uinput - /dev/uhid network_mode: host restart: unless-stopped wolfmanager: image: ghcr.io/games-on-whales/wolfmanager/wolfmanager:latest ports: - 3006:3000 environment: - NODE_ENV=production # NEXTAUTH_SECRET and ENCRYPTION_KEY are auto-generated on first startup # - NEXTAUTH_SECRET=your-secret-here # Optional: provide your own # - ENCRYPTION_KEY=your-32-char-key # Optional: provide your own - NEXTAUTH_URL=http://192.168.1.4:3006 volumes: - /var/run/wolf:/var/run/wolf # Mount Wolf socket - /var/run/docker.sock:/var/run/docker.sock # Mount Docker socket - $CONFIG/wolfmanager:/app/config # Persist config directory restart: unless-stopped ``` I believe the only thing I changed was the port since my 3000 was already used.
Author
Owner

@salty2011 commented on GitHub (Jun 23, 2025):

@Hukuma1 Your wolf instance need to have this env var set

WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock

This exposes the wolf socket so that WolfManager can mount it.

In your case the path for this var should be

/etc/wolf/wolf.sock

And in WolfManager you would change the path to

/etc/wolf:/var/run/wolf

That should work

<!-- gh-comment-id:2996735087 --> @salty2011 commented on GitHub (Jun 23, 2025): @Hukuma1 Your wolf instance need to have this env var set WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock This exposes the wolf socket so that WolfManager can mount it. In your case the path for this var should be /etc/wolf/wolf.sock And in WolfManager you would change the path to /etc/wolf:/var/run/wolf That should work
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

Ah thank you! I just tried adding WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock but now it seems to crash on startup:

wolf-1         | 14:31:12.579911654 INFO  | Starting API server on /var/run/wolf/wolf.sock
wolf-1         | 14:31:12.580095755 ERROR | Unhandled exception: bind: No such file or directory [system:2 at /usr/include/boost/asio/detail/reactive_socket_service.hpp:161:5 in function 'boost::system::error_code boost::asio::detail::reactive_socket_service<Protocol>::bind(implementation_type&, const endpoint_type&, boost::system::error_code&)']
wolf-1         | 14:31:12.580200523 INFO  | Control server started on port: 47999
wolf-1         | XDG_RUNTIME_DIR (/tmp/sockets) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)

Is there a way to set PUID and PGID (if needed)? I tried to manually put it under environments like I got for some of my other services but it did not work. :/

<!-- gh-comment-id:2996745712 --> @Hukuma1 commented on GitHub (Jun 23, 2025): Ah thank you! I just tried adding `WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock` but now it seems to crash on startup: ``` wolf-1 | 14:31:12.579911654 INFO | Starting API server on /var/run/wolf/wolf.sock wolf-1 | 14:31:12.580095755 ERROR | Unhandled exception: bind: No such file or directory [system:2 at /usr/include/boost/asio/detail/reactive_socket_service.hpp:161:5 in function 'boost::system::error_code boost::asio::detail::reactive_socket_service<Protocol>::bind(implementation_type&, const endpoint_type&, boost::system::error_code&)'] wolf-1 | 14:31:12.580200523 INFO | Control server started on port: 47999 wolf-1 | XDG_RUNTIME_DIR (/tmp/sockets) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.) ``` Is there a way to set `PUID` and `PGID` (if needed)? I tried to manually put it under environments like I got for some of my other services but it did not work. :/
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

@Hukuma1 Your wolf instance need to have this env var set

WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock

This exposes the wolf socket so that WolfManager can mount it.

In your case the path for this var should be

/etc/wolf/wolf.sock

And in WolfManager you would change the path to

/etc/wolf:/var/run/wolf

That should work

So this seems to have worked for me to be able to launch them again, but I still see the error in the UI.

Logs:

wolfmanager-1  |  ✓ Starting...
wolfmanager-1  | [ENV] Secure keys already available in environment
wolfmanager-1  |  ✓ Ready in 186ms
wolfmanager-1  | Error fetching initial client data: Error: INTERNAL_ERROR
wolfmanager-1  |     at l (/app/.next/server/app/clients/page.js:1:69736)
wolfmanager-1  | Error fetching initial client data: Error: INTERNAL_ERROR
wolfmanager-1  |     at l (/app/.next/server/app/clients/page.js:1:69736)
wolfmanager-1  | Error fetching initial client data: Error: INTERNAL_ERROR
wolfmanager-1  |     at l (/app/.next/server/app/clients/page.js:1:69736)

Current compose:

services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    environment:
      - XDG_RUNTIME_DIR=/tmp/sockets
      - HOST_APPS_STATE_FOLDER=/etc/wolf
      - WOLF_SOCKET_PATH=/etc/wolf/wolf.sock
    volumes:
      - /etc/wolf/:/etc/wolf
      - /tmp/sockets:/tmp/sockets:rw
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /dev/:/dev/:rw
      - /run/udev:/run/udev:rw
    device_cgroup_rules:
      - c 13:* rmw
    devices:
      - /dev/dri
      - /dev/uinput
      - /dev/uhid
    network_mode: host
    restart: unless-stopped

  wolfmanager:
    image: ghcr.io/games-on-whales/wolfmanager/wolfmanager:latest
    ports:
      - 3006:3000
    environment:
      - NODE_ENV=production
      # NEXTAUTH_SECRET and ENCRYPTION_KEY are auto-generated on first startup
      # - NEXTAUTH_SECRET=your-secret-here  # Optional: provide your own
      # - ENCRYPTION_KEY=your-32-char-key   # Optional: provide your own
      - NEXTAUTH_URL=http://192.168.1.4:3006
    volumes:
      - /etc/wolf:/var/run/wolf # Mount Wolf socket
      - /var/run/docker.sock:/var/run/docker.sock # Mount Docker socket
      - $CONFIG/wolfmanager:/app/config # Persist config directory
    restart: unless-stopped
networks: {}
<!-- gh-comment-id:2996761466 --> @Hukuma1 commented on GitHub (Jun 23, 2025): > [@Hukuma1](https://github.com/Hukuma1) Your wolf instance need to have this env var set > > WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock > > This exposes the wolf socket so that WolfManager can mount it. > > In your case the path for this var should be > > /etc/wolf/wolf.sock > > And in WolfManager you would change the path to > > /etc/wolf:/var/run/wolf > > That should work So this seems to have worked for me to be able to launch them again, but I still see the error in the UI. Logs: ``` wolfmanager-1 | ✓ Starting... wolfmanager-1 | [ENV] Secure keys already available in environment wolfmanager-1 | ✓ Ready in 186ms wolfmanager-1 | Error fetching initial client data: Error: INTERNAL_ERROR wolfmanager-1 | at l (/app/.next/server/app/clients/page.js:1:69736) wolfmanager-1 | Error fetching initial client data: Error: INTERNAL_ERROR wolfmanager-1 | at l (/app/.next/server/app/clients/page.js:1:69736) wolfmanager-1 | Error fetching initial client data: Error: INTERNAL_ERROR wolfmanager-1 | at l (/app/.next/server/app/clients/page.js:1:69736) ``` Current compose: ``` services: wolf: image: ghcr.io/games-on-whales/wolf:stable environment: - XDG_RUNTIME_DIR=/tmp/sockets - HOST_APPS_STATE_FOLDER=/etc/wolf - WOLF_SOCKET_PATH=/etc/wolf/wolf.sock volumes: - /etc/wolf/:/etc/wolf - /tmp/sockets:/tmp/sockets:rw - /var/run/docker.sock:/var/run/docker.sock:rw - /dev/:/dev/:rw - /run/udev:/run/udev:rw device_cgroup_rules: - c 13:* rmw devices: - /dev/dri - /dev/uinput - /dev/uhid network_mode: host restart: unless-stopped wolfmanager: image: ghcr.io/games-on-whales/wolfmanager/wolfmanager:latest ports: - 3006:3000 environment: - NODE_ENV=production # NEXTAUTH_SECRET and ENCRYPTION_KEY are auto-generated on first startup # - NEXTAUTH_SECRET=your-secret-here # Optional: provide your own # - ENCRYPTION_KEY=your-32-char-key # Optional: provide your own - NEXTAUTH_URL=http://192.168.1.4:3006 volumes: - /etc/wolf:/var/run/wolf # Mount Wolf socket - /var/run/docker.sock:/var/run/docker.sock # Mount Docker socket - $CONFIG/wolfmanager:/app/config # Persist config directory restart: unless-stopped networks: {} ```
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

Seems taking down the container entirely (instead of a restart) fixed it! I can at least see a different UI. I'm guessing I have to re-pair my clients? (I don't see any currently.)

Image

<!-- gh-comment-id:2996775662 --> @Hukuma1 commented on GitHub (Jun 23, 2025): Seems taking down the container entirely (instead of a restart) fixed it! I can at least see a different UI. I'm guessing I have to re-pair my clients? (I don't see any currently.) ![Image](https://github.com/user-attachments/assets/912a3125-37b3-4987-a888-286cbfdeebf3)
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

Image

Got an INTERNAL_ERROR. :(

<!-- gh-comment-id:2996799454 --> @Hukuma1 commented on GitHub (Jun 23, 2025): ![Image](https://github.com/user-attachments/assets/0755e663-bb4e-409d-88f6-5edbd47d01b7) Got an `INTERNAL_ERROR`. :(
Author
Owner

@salty2011 commented on GitHub (Jun 23, 2025):

Ahh yeah sorry

The internal error is expected when you pair a previously paired client.

This is because wolf can't clean up clients, under normal circumstances wolf will just append the client with the same client id resulting in duplicate entries.

I set WolfManager to clean this up, the pairing request will complete and WolfManager will see duplicate entries and force an unpairing to clean the wolf config.

If you pair the client again should work.

I'll make a note to improve the error.

Let me know if second attempt works

<!-- gh-comment-id:2996835240 --> @salty2011 commented on GitHub (Jun 23, 2025): Ahh yeah sorry The internal error is expected when you pair a previously paired client. This is because wolf can't clean up clients, under normal circumstances wolf will just append the client with the same client id resulting in duplicate entries. I set WolfManager to clean this up, the pairing request will complete and WolfManager will see duplicate entries and force an unpairing to clean the wolf config. If you pair the client again should work. I'll make a note to improve the error. Let me know if second attempt works
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

I just nuked both wolf and wolf-manager and started from scratch just to make sure. I also deleted the PC link on Moonlight from the client side and tried to re-pair it. I still see the same internal_error message.

What's weird is that it does pair it on wolf. I can even access the Firefox container as a test and it works.

wolf-1         | 15:08:05.753885466 INFO  | Succesfully paired 192.168.1.20

But I still don't see it on wolf-manager even if I hit refresh. It still thinks it's in the pairing phase it seems.

<!-- gh-comment-id:2996868188 --> @Hukuma1 commented on GitHub (Jun 23, 2025): I just nuked both `wolf` and `wolf-manager` and started from scratch just to make sure. I also deleted the PC link on Moonlight from the client side and tried to re-pair it. I still see the same internal_error message. What's weird is that it does pair it on wolf. I can even access the Firefox container as a test and it works. ``` wolf-1 | 15:08:05.753885466 INFO | Succesfully paired 192.168.1.20 ``` But I still don't see it on wolf-manager even if I hit refresh. It still thinks it's in the pairing phase it seems.
Author
Owner

@salty2011 commented on GitHub (Jun 23, 2025):

Did pairing complete successfully or did you still get internal error.

<!-- gh-comment-id:2996889323 --> @salty2011 commented on GitHub (Jun 23, 2025): Did pairing complete successfully or did you still get internal error.
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

It paired successfully, but wolfmanager does not seem to think so. Still spat out internal_error and has the client sitting in the pairing section. Even though I can login via client to the PC and launch containers.

Image

wolf-1         | 15:09:50.764300319 INFO  | [DOCKER] Starting container: /WolfFirefox_2635193443969945247
wolf-1         | 0:06:02.586559467     1 0x7ff62c001590 WARN                 basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc1> segment format mismatched, ignore
wolf-1         | 0:08:34.001482886     1 0x7ff62800c7a0 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc0> error reading data -1 (reason: Success), skipping segment
wolf-1         | 15:12:22.817347166 INFO  | Stopped container: /WolfFirefox_2635193443969945247
<!-- gh-comment-id:2996902633 --> @Hukuma1 commented on GitHub (Jun 23, 2025): It paired successfully, but wolfmanager does not seem to think so. Still spat out `internal_error` and has the client sitting in the pairing section. Even though I can login via client to the PC and launch containers. ![Image](https://github.com/user-attachments/assets/5f8ebbdc-d12c-4244-aeb1-cf7d4c2d5eba) ``` wolf-1 | 15:09:50.764300319 INFO | [DOCKER] Starting container: /WolfFirefox_2635193443969945247 wolf-1 | 0:06:02.586559467 1 0x7ff62c001590 WARN basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc1> segment format mismatched, ignore wolf-1 | 0:08:34.001482886 1 0x7ff62800c7a0 WARN audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc0> error reading data -1 (reason: Success), skipping segment wolf-1 | 15:12:22.817347166 INFO | Stopped container: /WolfFirefox_2635193443969945247 ```
Author
Owner

@salty2011 commented on GitHub (Jun 23, 2025):

Can't you attach the WolfManager.log file. Will need to look inter this further.

<!-- gh-comment-id:2997008988 --> @salty2011 commented on GitHub (Jun 23, 2025): Can't you attach the WolfManager.log file. Will need to look inter this further.
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

wolfmanager.log

Sure, here you go. Thank you!

<!-- gh-comment-id:2997081956 --> @Hukuma1 commented on GitHub (Jun 23, 2025): [wolfmanager.log](https://github.com/user-attachments/files/20868727/wolfmanager.log) Sure, here you go. Thank you!
Author
Owner

@salty2011 commented on GitHub (Jun 23, 2025):

Hmm interesting. The logs do seem to indicate the pairing was successful a d I'm not seeing any DB errors.

Sounds stupid but could you try

  • force refresh of page ctrl + f5 in browser
  • in WolfManager perform a logout and login

If your comfortable with vscode there SQLite extensions you can use to open the WolfManager.db to see if the clients are appearing in the clients table. This would at least confirm if the entries are getting to the db and the issue is with the ui displaying.

@Trasen curious are paired clients listing for you?

<!-- gh-comment-id:2997199082 --> @salty2011 commented on GitHub (Jun 23, 2025): Hmm interesting. The logs do seem to indicate the pairing was successful a d I'm not seeing any DB errors. Sounds stupid but could you try - force refresh of page ctrl + f5 in browser - in WolfManager perform a logout and login If your comfortable with vscode there SQLite extensions you can use to open the WolfManager.db to see if the clients are appearing in the clients table. This would at least confirm if the entries are getting to the db and the issue is with the ui displaying. @Trasen curious are paired clients listing for you?
Author
Owner

@Trasen commented on GitHub (Jun 23, 2025):

Hmm interesting. The logs do seem to indicate the pairing was successful a d I'm not seeing any DB errors.

Sounds stupid but could you try

  • force refresh of page ctrl + f5 in browser
  • in WolfManager perform a logout and login

If your comfortable with vscode there SQLite extensions you can use to open the WolfManager.db to see if the clients are appearing in the clients table. This would at least confirm if the entries are getting to the db and the issue is with the ui displaying.

@Trasen curious are paired clients listing for you?

If I chown the Wolf.sock it works fine :) From time to time i get this error, but its usually because there are no active pair requests, s får as ive observed it at least

<!-- gh-comment-id:2997213153 --> @Trasen commented on GitHub (Jun 23, 2025): > Hmm interesting. The logs do seem to indicate the pairing was successful a d I'm not seeing any DB errors. > > Sounds stupid but could you try > - force refresh of page ctrl + f5 in browser > - in WolfManager perform a logout and login > > If your comfortable with vscode there SQLite extensions you can use to open the WolfManager.db to see if the clients are appearing in the clients table. This would at least confirm if the entries are getting to the db and the issue is with the ui displaying. > > @Trasen curious are paired clients listing for you? If I chown the Wolf.sock it works fine :) From time to time i get this error, but its usually because there are no active pair requests, s får as ive observed it at least
Author
Owner

@Trasen commented on GitHub (Jun 23, 2025):

And thar answer was only half helpful, im sorry - Ill have to wait until tomorrow before being able to check it out

<!-- gh-comment-id:2997218683 --> @Trasen commented on GitHub (Jun 23, 2025): And thar answer was only half helpful, im sorry - Ill have to wait until tomorrow before being able to check it out
Author
Owner

@Hukuma1 commented on GitHub (Jun 23, 2025):

Looks empty to me.

Image

Double-checked and see my admin user added succesfully.

Image

Yeah, sorry I don't know what or how to chown the sock. I can try if someone tells me how to do it please? :D

<!-- gh-comment-id:2997233797 --> @Hukuma1 commented on GitHub (Jun 23, 2025): Looks empty to me. <img width="365" alt="Image" src="https://github.com/user-attachments/assets/953da749-29fe-49f8-8170-507b64d41bf2" /> Double-checked and see my admin user added succesfully. <img width="369" alt="Image" src="https://github.com/user-attachments/assets/6a438702-89a6-45fe-a668-d0de49cb3a4f" /> Yeah, sorry I don't know what or how to chown the sock. I can try if someone tells me how to do it please? :D
Author
Owner

@salty2011 commented on GitHub (Jun 23, 2025):

In this instance given pairing is working chown won't be needed here

Chown is the command to change owner of a file.

Internal error on clients page basically means wolf manager cannot talk with the wolf socket for some reason, usually this is either permissions or socket missing. In your case the initial issue with socket missing.

Now you have an issue with the paired clients not writing to the clients table in the db. But the log does correctly show pairing and no db write errors from what I could see last night (sorry haven't got back to desktop yet, was late when I was responding before).

My reason for getting @Trasen to verify if clients are showing for them is more to understand scope of issue. As this isn't something I was seeing in latest branch branch (latest is tagged to the stable release...)

Will blow my current env away and redeploy from scratch to see if this present the same.

Only other question I have, when you blew away your setup to start from scratch did you delete the WolfManager.db etc?

<!-- gh-comment-id:2998268129 --> @salty2011 commented on GitHub (Jun 23, 2025): In this instance given pairing is working chown won't be needed here Chown is the command to change owner of a file. Internal error on clients page basically means wolf manager cannot talk with the wolf socket for some reason, usually this is either permissions or socket missing. In your case the initial issue with socket missing. Now you have an issue with the paired clients not writing to the clients table in the db. But the log does correctly show pairing and no db write errors from what I could see last night (sorry haven't got back to desktop yet, was late when I was responding before). My reason for getting @Trasen to verify if clients are showing for them is more to understand scope of issue. As this isn't something I was seeing in latest branch branch (latest is tagged to the stable release...) Will blow my current env away and redeploy from scratch to see if this present the same. Only other question I have, when you blew away your setup to start from scratch did you delete the WolfManager.db etc?
Author
Owner

@Hukuma1 commented on GitHub (Jun 24, 2025):

Ah gotcha. Thanks for the explanation!

Yeah, I started from complete scratch. I got my config folder mapped and deleted it.

<!-- gh-comment-id:2998365773 --> @Hukuma1 commented on GitHub (Jun 24, 2025): Ah gotcha. Thanks for the explanation! Yeah, I started from complete scratch. I got my config folder mapped and deleted it.
Author
Owner

@t4sm5n commented on GitHub (Jul 2, 2025):

I'm seeing this issue as well. In my case, I deployed wolf and paired some clients before discovering and deploying wolfmanager. I checked debug logs for wolfmanager and they confirm that wolfmanager does succesfully query wolf's API for clients. Maybe what is needed is a UI for managing clients that have been added to wolf but are not yet linked to wolfmanager accounts?

<!-- gh-comment-id:3026648960 --> @t4sm5n commented on GitHub (Jul 2, 2025): I'm seeing this issue as well. In my case, I deployed wolf and paired some clients before discovering and deploying wolfmanager. I checked debug logs for wolfmanager and they confirm that wolfmanager does succesfully query wolf's API for clients. Maybe what is needed is a UI for managing clients that have been added to wolf but are not yet linked to wolfmanager accounts?
Author
Owner

@salty2011 commented on GitHub (Jul 2, 2025):

Yeah, had planned on adding in a assign existing client for admins to assign the existing clients to users.

Got stuck on improving pairing by moving to server side event listening instead of polling for pending pair requests. With that was also getting the client status etc feeding.

Finally got that working this morning and just need to test before I commit changes

I'll see about adding the ui for client assignment as that should be hard.

Any chance you log that as a feature request specifically.

<!-- gh-comment-id:3026773159 --> @salty2011 commented on GitHub (Jul 2, 2025): Yeah, had planned on adding in a assign existing client for admins to assign the existing clients to users. Got stuck on improving pairing by moving to server side event listening instead of polling for pending pair requests. With that was also getting the client status etc feeding. Finally got that working this morning and just need to test before I commit changes I'll see about adding the ui for client assignment as that should be hard. Any chance you log that as a feature request specifically.
Author
Owner

@Hukuma1 commented on GitHub (Jul 5, 2025):

I was impatient and pulled the 202506.004 branch and can confirm it's fixed the issue on my end. Thank you! I'll close this out once it hits stable.

<!-- gh-comment-id:3039531228 --> @Hukuma1 commented on GitHub (Jul 5, 2025): I was impatient and pulled the `202506.004` branch and can confirm it's fixed the issue on my end. Thank you! I'll close this out once it hits stable.
Author
Owner

@salty2011 commented on GitHub (Jul 6, 2025):

hey @Hukuma1 thats good to hear.. on Discord I had announced needing testers for that version, should notice startup is a little quicker and no longer polls for pending requests instead uses SSE.

Although did you need to reset the WolfManager.db?

<!-- gh-comment-id:3041018166 --> @salty2011 commented on GitHub (Jul 6, 2025): hey @Hukuma1 thats good to hear.. on Discord I had announced needing testers for that version, should notice startup is a little quicker and no longer polls for pending requests instead uses SSE. Although did you need to reset the WolfManager.db?
Author
Owner

@Hukuma1 commented on GitHub (Jul 9, 2025):

Yes, I once again started fresh and deleted the db etc. think I spoke too soon though. Or rather the pairing and clients work but now I'm seeing this output:

[next-auth][error][JWT_SESSION_ERROR] 
[https://next-auth.js.org/errors#jwt_session_error ](https://next-auth.js.org/errors#jwt_session_error)JWT invalid {
  message: 'JWT invalid',
  stack: 'Error: JWT invalid\n' +
    '    at Object.i (/app/.next/server/chunks/3572.js:25:6932)\n' +
    '    at async f (/app/.next/server/chunks/3572.js:1:437879)\n' +
    '    at async o (/app/.next/server/chunks/3572.js:25:20859)\n' +
    '    at async p (/app/.next/server/chunks/7766.js:1:734)\n' +
    '    at async /app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:16:418\n' +
    '    at async rE (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:15:8148)\n' +
    '    at async r7 (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:18:1144)\n' +
    '    at async doRender (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1427:30)\n' +
    '    at async cacheEntry.responseCache.get.routeKind (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1588:28)\n' +
    '    at async NextNodeServer.renderToResponseWithComponentsImpl (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1496:28)',
  name: 'Error'
}
Image

And I'm not sure if related but I can't seem to pull up any apps on Wolf (e.g. Firefox, RetroArch) once I pair my device(s).

Image
<!-- gh-comment-id:3050783834 --> @Hukuma1 commented on GitHub (Jul 9, 2025): Yes, I once again started fresh and deleted the db etc. think I spoke too soon though. Or rather the pairing and clients work but now I'm seeing this output: ``` [next-auth][error][JWT_SESSION_ERROR] [https://next-auth.js.org/errors#jwt_session_error ](https://next-auth.js.org/errors#jwt_session_error)JWT invalid { message: 'JWT invalid', stack: 'Error: JWT invalid\n' + ' at Object.i (/app/.next/server/chunks/3572.js:25:6932)\n' + ' at async f (/app/.next/server/chunks/3572.js:1:437879)\n' + ' at async o (/app/.next/server/chunks/3572.js:25:20859)\n' + ' at async p (/app/.next/server/chunks/7766.js:1:734)\n' + ' at async /app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:16:418\n' + ' at async rE (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:15:8148)\n' + ' at async r7 (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:18:1144)\n' + ' at async doRender (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1427:30)\n' + ' at async cacheEntry.responseCache.get.routeKind (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1588:28)\n' + ' at async NextNodeServer.renderToResponseWithComponentsImpl (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1496:28)', name: 'Error' } ``` <img width="806" height="371" alt="Image" src="https://github.com/user-attachments/assets/3310bdba-5079-4525-94a0-e642d4a70cb1" /> And I'm not sure if related but I can't seem to pull up any apps on Wolf (e.g. Firefox, RetroArch) once I pair my device(s). <img width="1908" height="825" alt="Image" src="https://github.com/user-attachments/assets/95a1d1ea-693e-49f8-8a55-344190535312" />
Author
Owner

@salty2011 commented on GitHub (Jul 9, 2025):

hmm ok. not seeing any apps is a wolf configuration problem. WolfManager doesn't change the default config or apps at the moment so that should be showing.

the SSE errors you are mentioning, this indicates WolfManager is unable to communicate with the wolf socket. Well a little more complicated than that. Seems to be the front end cannot auth against the backend of wolf manager. To be clear you did clear out the .env.local file as WolfManager generates several secrets on first launch which could cause some issues if not correctly generated.

The other thing to check, force logout and log back in. The logout would clear any existing sessions that may be cached. Login should then correct this.

Can you please attach the logs from wolfmanager after doing these tests. also the current compose you are using for wolfmanager and wolf would be helpful as well.

<!-- gh-comment-id:3051072389 --> @salty2011 commented on GitHub (Jul 9, 2025): hmm ok. not seeing any apps is a wolf configuration problem. WolfManager doesn't change the default config or apps at the moment so that should be showing. the SSE errors you are mentioning, this indicates WolfManager is unable to communicate with the wolf socket. Well a little more complicated than that. Seems to be the front end cannot auth against the backend of wolf manager. To be clear you did clear out the .env.local file as WolfManager generates several secrets on first launch which could cause some issues if not correctly generated. The other thing to check, force logout and log back in. The logout would clear any existing sessions that may be cached. Login should then correct this. Can you please attach the logs from wolfmanager after doing these tests. also the current compose you are using for wolfmanager and wolf would be helpful as well.
Author
Owner

@Hukuma1 commented on GitHub (Jul 9, 2025):

Yeeeeesh. Sorry, after deleting my containers and even the images and pulling my hair out I realized what was happening.

- /etc/wolf/:/etc/wolf is a persistent config folder for wolf. I now have mapped it properly locally and can clear it to start fresh.

Sorry about that, had nothing to do with wolfmanager obviously! It works again as it should haha.

Image

This is the only hiccup I see now. It doesn't clear the client from the pairing side once it pairs successfully. (very minor issue, if I refresh the page it clears from the top as it should)

I can close out this issue since the following errors seem to be pertaining to something else:

[next-auth][error][JWT_SESSION_ERROR] 
[https://next-auth.js.org/errors#jwt_session_error ](https://next-auth.js.org/errors#jwt_session_error)JWT invalid {
  message: 'JWT invalid',
  stack: 'Error: JWT invalid\n' +
    '    at Object.i (/app/.next/server/chunks/6306.js:25:6932)\n' +
    '    at async _ (/app/.next/server/chunks/6306.js:1:107306)\n' +
    '    at async s (/app/.next/server/chunks/6306.js:25:19586)\n' +
    '    at async c (/app/.next/server/app/login/page.js:1:17732)',
  name: 'Error'
}
[AUTH] auth.ts module loaded at 2025-07-09T15:55:37.705Z
[AUTH] NEXTAUTH_SECRET availability check: hasNextAuthSecret=true, length=128
[next-auth][error][JWT_SESSION_ERROR] 
[https://next-auth.js.org/errors#jwt_session_error ](https://next-auth.js.org/errors#jwt_session_error)JWT invalid {
  message: 'JWT invalid',
  stack: 'Error: JWT invalid\n' +
    '    at Object.i (/app/.next/server/chunks/6306.js:25:6932)\n' +
    '    at async _ (/app/.next/server/chunks/6306.js:1:107306)\n' +
    '    at async s (/app/.next/server/chunks/6306.js:25:19586)\n' +
    '    at async p (/app/.next/server/app/api/auth/session/route.js:1:1878)\n' +
    '    at async /app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:6:38411\n' +
    '    at async e_.execute (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:6:27880)\n' +
    '    at async e_.handle (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:6:39943)\n' +
    '    at async doRender (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1366:42)\n' +
    '    at async cacheEntry.responseCache.get.routeKind (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1588:28)\n' +
    '    at async NextNodeServer.renderToResponseWithComponentsImpl (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1496:28)',
  name: 'Error'
}

And if I launch an app and then exit back to the app list I see this in the logs:

TypeError: Cannot read properties of undefined (reading 'length')
    at E.processEvent (/app/.next/server/chunks/3594.js:1:7215)
    at IncomingMessage.<anonymous> (/app/.next/server/chunks/3594.js:1:2161)
    at IncomingMessage.emit (node:events:524:28)
    at addChunk (node:internal/streams/readable:561:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
    at Readable.push (node:internal/streams/readable:392:5)
    at HTTPParser.parserOnBody (node:_http_common:130:24)
    at HTTPParser.callbackTrampoline (node:internal/async_hooks:130:17)
    at Socket.socketOnData (node:_http_client:544:22)
    at Socket.emit (node:events:524:28)
<!-- gh-comment-id:3053209919 --> @Hukuma1 commented on GitHub (Jul 9, 2025): Yeeeeesh. Sorry, after deleting my containers and even the images and pulling my hair out I realized what was happening. ` - /etc/wolf/:/etc/wolf` is a persistent config folder for wolf. I now have mapped it properly locally and can clear it to start fresh. Sorry about that, had nothing to do with wolfmanager obviously! It works again as it should haha. <img width="1516" height="1092" alt="Image" src="https://github.com/user-attachments/assets/f9144876-f8d2-4d5f-b35c-0501c7fab409" /> This is the only hiccup I see now. It doesn't clear the client from the pairing side once it pairs successfully. (very minor issue, if I refresh the page it clears from the top as it should) I can close out this issue since the following errors seem to be pertaining to something else: ``` [next-auth][error][JWT_SESSION_ERROR] [https://next-auth.js.org/errors#jwt_session_error ](https://next-auth.js.org/errors#jwt_session_error)JWT invalid { message: 'JWT invalid', stack: 'Error: JWT invalid\n' + ' at Object.i (/app/.next/server/chunks/6306.js:25:6932)\n' + ' at async _ (/app/.next/server/chunks/6306.js:1:107306)\n' + ' at async s (/app/.next/server/chunks/6306.js:25:19586)\n' + ' at async c (/app/.next/server/app/login/page.js:1:17732)', name: 'Error' } [AUTH] auth.ts module loaded at 2025-07-09T15:55:37.705Z [AUTH] NEXTAUTH_SECRET availability check: hasNextAuthSecret=true, length=128 [next-auth][error][JWT_SESSION_ERROR] [https://next-auth.js.org/errors#jwt_session_error ](https://next-auth.js.org/errors#jwt_session_error)JWT invalid { message: 'JWT invalid', stack: 'Error: JWT invalid\n' + ' at Object.i (/app/.next/server/chunks/6306.js:25:6932)\n' + ' at async _ (/app/.next/server/chunks/6306.js:1:107306)\n' + ' at async s (/app/.next/server/chunks/6306.js:25:19586)\n' + ' at async p (/app/.next/server/app/api/auth/session/route.js:1:1878)\n' + ' at async /app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:6:38411\n' + ' at async e_.execute (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:6:27880)\n' + ' at async e_.handle (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:6:39943)\n' + ' at async doRender (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1366:42)\n' + ' at async cacheEntry.responseCache.get.routeKind (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1588:28)\n' + ' at async NextNodeServer.renderToResponseWithComponentsImpl (/app/node_modules/.pnpm/next@14.2.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1496:28)', name: 'Error' } ``` And if I launch an app and then exit back to the app list I see this in the logs: ``` TypeError: Cannot read properties of undefined (reading 'length') at E.processEvent (/app/.next/server/chunks/3594.js:1:7215) at IncomingMessage.<anonymous> (/app/.next/server/chunks/3594.js:1:2161) at IncomingMessage.emit (node:events:524:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) at HTTPParser.parserOnBody (node:_http_common:130:24) at HTTPParser.callbackTrampoline (node:internal/async_hooks:130:17) at Socket.socketOnData (node:_http_client:544:22) at Socket.emit (node:events:524:28) ```
Author
Owner

@salty2011 commented on GitHub (Jul 10, 2025):

@Hukuma1 the stale pairing request is a known issue with the Wolf API. Basically it doesn't seem to correctly clear the completed pairing request. In testing I have found if pair against it with a bogus pin it does cause wolf to clear the pairing request.

I did have some logic to filter out these request by recording the pair secret and then filtering out pending pair requests that had the same pair secret. When I switch over to SSE this logic seems to have regressed. I'll log a bug for that, might actually be better log this against wolf given the issue is there.

As for the other issues, those interesting.

I'm trying to follow you on the errors you're seeing when launching an app. Are those actually showing in the WolfManager logs?

<!-- gh-comment-id:3057409202 --> @salty2011 commented on GitHub (Jul 10, 2025): @Hukuma1 the stale pairing request is a known issue with the Wolf API. Basically it doesn't seem to correctly clear the completed pairing request. In testing I have found if pair against it with a bogus pin it does cause wolf to clear the pairing request. I did have some logic to filter out these request by recording the pair secret and then filtering out pending pair requests that had the same pair secret. When I switch over to SSE this logic seems to have regressed. I'll log a bug for that, might actually be better log this against wolf given the issue is there. As for the other issues, those interesting. I'm trying to follow you on the errors you're seeing when launching an app. Are those actually showing in the WolfManager logs?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/wolfmanager#20
No description provided.