Closed nickian closed 7 months ago
I would recommend moving this issue to rmfakecloud-proxy as it's an issue with that install script, and not rmfakecloud. You'll find the line in question here: https://github.com/ddvk/rmfakecloud-proxy/blob/fbd6f6f16a0818bc8afae6002933c12594536734/scripts/installer.sh#L22 that said, it should only error if ~/.local/share/remarkable/xochitl/*.metadata
doesn't match any files. You'll want to check the server logs, and you likely are encountering #270
I do see a bunch of these lines in my Nginx log:
2023/11/28 12:27:32 [error] 3727894#3727894: *34038 connect() failed (111: Unknown error) while connecting to upstream, client: 192.168.50.19, server: rm.mydomain.com, request: "GET /integrations/v1/ HTTP/2.0", upstream: "http://127.0.0.1:3018/integrations/v1/", host: "rm.mydomain.com"
Where is it getting "127.0.0.1:3018" from? I am running the Docker app on 3018, but shouldn't this line be https://rm.mydomain.com/integrations/v1/
? Maybe I missed something in the configuration.
Are the rmfakecloud logs outputting anything? How is your nginx instance configured? I would assume that you have either replace the real hostname in the log output with rm.mydomain.com
, or have set that up as a valid hostname for your nginx server?
I don't see any errors in the logs when I look at docker logs rmfakecloud
. Also, I'm able to email myself a document through my SMTP server just fine. Files just won't sync.
My Nginx config file for the domain looks like this:
server {
listen 80;
listen [::]:80;
server_name rm.mydomain.com;
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl;
server_name rm.mydomain.com;
client_max_body_size 2G;
chunked_transfer_encoding on;
fastcgi_request_buffering on;
error_log /home/nick/sites/rm.mydomain.com/log/error.log;
access_log /home/nick/sites/rm.mydomain.com/log/access.log;
ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://localhost:3018;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 1d;
proxy_send_timeout 1d;
}
}
Could this have anything to do with the fact that I was running rmfakecloud on 2.15 previously? I updated to 3.8.2 without removing Toltec first. Not sure if that matters.
I don't see any errors in the logs when I look at
docker logs rmfakecloud
. Also, I'm able to email myself a document through my SMTP server just fine. Files just won't sync.
Okay, so the rmfakecloud UI itself works when you navigate to it? So rm.mydomain.com
is valid for the nginx host?
Could this have anything to do with the fact that I was running rmfakecloud on 2.15 previously? I updated to 3.8.2 without removing Toltec first. Not sure if that matters.
There is no need to remove toltec before updating: https://remarkable.guide/guide/software/toltec.html#reenable-toltec-after-a-system-upgrade
What version of rmfakecloud are you running? Have you made sure to update to the release from last week that adds paths for 3.8.2?
Yes, the web interface works fine. After creating my user, I can log in and upload a file. It just never syncs down to the device. Doing the code and everything to pair seems to work fine. Passes the sync check on the device.
I do see this at the bottom when I run docker exec rmfakecloud rmfakecloud-docker
:
time="2023-11-29T03:24:16Z" level=info msg="STORAGE_URL (Cloud URL): https://rm.mydomain.com"
time="2023-11-29T03:24:16Z" level=info msg="Data: /data"
time="2023-11-29T03:24:16Z" level=info msg="Listening on port: 3000"
time="2023-11-29T03:24:16Z" level=info msg="Using plain HTTP"
time="2023-11-29T03:24:16Z" level=fatal msg="listen: listen tcp :3000: bind: address already in use\n"
Not sure if this is relevant.
I believe I pulled the latest docker image by doing, so I'm pretty sure it's running the most recent version. I don't know if there's a command to list the actual version, but when I do docker images
, I see it as this:
ddvk/rmfakecloud latest 6db75e70c99d 10 days ago 27MB
The device is running 3.8.2.1965.
Yes, the web interface works fine. After creating my user, I can log in and upload a file. It just never syncs down to the device. Doing the code and everything to pair seems to work fine. Passes the sync check on the device.
I do see this at the bottom when I run
docker exec rmfakecloud rmfakecloud-docker
:time="2023-11-29T03:24:16Z" level=info msg="STORAGE_URL (Cloud URL): https://rm.mydomain.com" time="2023-11-29T03:24:16Z" level=info msg="Data: /data" time="2023-11-29T03:24:16Z" level=info msg="Listening on port: 3000" time="2023-11-29T03:24:16Z" level=info msg="Using plain HTTP" time="2023-11-29T03:24:16Z" level=fatal msg="listen: listen tcp :3000: bind: address already in use\n"
Not sure if this is relevant.
The port error is of concern, you probably have more than one instance running. Perhaps you have an old container still running? That or another container is binding to that port as well?
I believe I pulled the latest docker image by doing, so I'm pretty sure it's running the most recent version. I don't know if there's a command to list the actual version, but when I do
docker images
, I see it as this:ddvk/rmfakecloud latest 6db75e70c99d 10 days ago 27MB
The device is running 3.8.2.1965.
That does appear to be the correct image, you can always use the specific version tag instead of latest. You can find the list of tags here: https://hub.docker.com/r/ddvk/rmfakecloud/tags
I have stuck with the same port as the previous config (3018), so I was never running it on port 3000. I thought 3000 was the internal port that Docker was using.
On the host machine, I run sudo lsof -i :3000
and get no result.
I even tried just now doing docker compose down --rmi all -v
and then re-doing docker compose up -d
to recreate everything. Re-created my user and paired again. Same result. Connection, but no files sync.
It seems like maybe it's an issue on the device, not the server?
On the device:
root@reMarkable:~# systemctl status xochitl
● xochitl.service - reMarkable main application
Loaded: loaded (/lib/systemd/system/xochitl.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-11-28 16:32:57 MST; 4h 14min ago
Main PID: 1985 (xochitl)
CGroup: /system.slice/xochitl.service
└─ 1985 /usr/bin/xochitl --system
Nov 28 20:43:04 reMarkable xochitl[1985]: 03:43:04.298 rm.wifi Scanning: true
Nov 28 20:43:08 reMarkable xochitl[1985]: 03:43:08.128 rm.wifi Scanning: false
Nov 28 20:43:28 reMarkable xochitl[1985]: 03:43:28.449 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
Nov 28 20:43:28 reMarkable xochitl[1985]: 03:43:28.452 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
Nov 28 20:43:28 reMarkable xochitl[1985]: 03:43:28.532 rm.network.usertoken Scheduled token update at 2023-11-28 23:38:28, 10499468ms from now (scheduleUpdate /__w/xochitl/xochitl/src/network/src/usertoken.cpp:139)
Nov 28 20:43:28 reMarkable xochitl[1985]: 03:43:28.532 rm.network.usertoken UserToken: setting a new userToken (eyJhbGciOiJIUzI1NiIs...) (setUserToken /__w/xochitl/xochitl/src/network/src/usertoken.cpp:74)
Nov 28 20:43:28 reMarkable xochitl[1985]: 03:43:28.562 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
Nov 28 20:43:28 reMarkable xochitl[1985]: 03:43:28.563 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
Nov 28 20:43:28 reMarkable xochitl[1985]: 03:43:28.569 rm.network.notifications Notifications socket is not OK: UnconnectedState (checkIfShouldConnect /__w/xochitl/xochitl/src/notifications/src/notifications.cpp:190)
Nov 28 20:47:19 reMarkable CSLNetworkManager[1985]: Network information has changed, connectedToWifi = true
root@reMarkable:~# systemctl status proxy
● proxy.service - reverse proxy
Loaded: loaded (/etc/systemd/system/proxy.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2023-11-28 16:32:57 MST; 4h 15min ago
Main PID: 1972 (rmfake-proxy)
CGroup: /system.slice/proxy.service
└─ 1972 /home/root/rmfakecloud/rmfake-proxy -cert /home/root/rmfakecloud/proxy.bundle.crt -key /home/root/rmfakecloud/proxy.key https://rm.mydomain.com
Nov 28 16:32:57 reMarkable systemd[1]: Started reverse proxy.
Nov 28 16:32:57 reMarkable rmfake-proxy[1972]: 2023/11/28 16:32:57 cert-file=/home/root/rmfakecloud/proxy.bundle.crt key-file=/home/root/rmfakecloud/proxy.key listen-addr=:443 upstream-url=https://rm.mydomain.com
root@reMarkable:~#
Okay, so I'm going to ask this a third time, is rm.mydomain.com
a valid domain for your nginx host, or are you just replacing the real value with that?
Yes, sorry it is a valid domain. I have just redacted the actual domain. It has a valid wildcard SSL from certbot as well. Everything works fine in the browser.
The port being in use in the container does still seem suspect to me. I would expect to be able to get log output if it was actually serving content.
Do you know how I can monitor the correct log on the device? What should I be looking at when it tries to connect to the rmfakecloud server? I don't see any activity when viewing these in a terminal while hitting the "check sync" button on the device.
Should there be more activity in this log when I make changes on the device?
root@reMarkable:~/rmfakecloud-proxy/dist# journalctl -u proxy -f
Nov 29 13:43:03 reMarkable systemd[1]: Started reverse proxy.
Nov 29 13:43:03 reMarkable rmfake-proxy[2132]: 2023/11/29 13:43:03 cert-file=/home/root/rmfakecloud/proxy.bundle.crt key-file=/home/root/rmfakecloud/proxy.key listen-addr=:443 upstream-url=https://rm.mydomain.com
Also in my env
file, I have this: RM_TRUST_PROXY=true
. I'm not actually sure what this does.
I also tried changing the internal docker port to 3001, ended up with the same line in the log output (at the bottom):
root@home: docker exec rmfakecloud /rmfakecloud-docker
Log level: debug
time="2023-11-29T20:54:45Z" level=warning msg="RM_HTTPS_COOKIE is not set, use only when not using https!"
time="2023-11-29T20:54:45Z" level=info msg="Version: v0.0.16"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached."
time="2023-11-29T20:54:45Z" level=info
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] [WARNING] Running in \"debug\" mode. Switch to \"release\" mode in production."
time="2023-11-29T20:54:45Z" level=info msg=" - using env:\texport GIN_MODE=release"
time="2023-11-29T20:54:45Z" level=info msg=" - using code:\tgin.SetMode(gin.ReleaseMode)"
time="2023-11-29T20:54:45Z" level=info
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /discovery/v1/endpoints --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func1 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /health --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func2 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /token/json/2/device/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newDevice-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /token/json/2/user/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newUserToken-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /token/json/2/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /token/json/3/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /service/json/1/:service --> github.com/ddvk/rmfakecloud/internal/app.(*App).locateService-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func3 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func4 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /v1/reports --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func5 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /notifications/ws/json/1 --> github.com/ddvk/rmfakecloud/internal/app.(*App).connectWebSocket-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/request --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadRequest-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/update-status --> github.com/ddvk/rmfakecloud/internal/app.(*App).updateStatus-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDocument-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /document-storage/json/2/docs --> github.com/ddvk/rmfakecloud/internal/app.(*App).listDocuments-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /api/v2/document --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /share/v1/email --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /api/v1/page --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /convert/v1/handwriting --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /doc/v1/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDoc-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDocV2-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] OPTIONS /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func6 (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/folders/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsList-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file/metadata --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetMetadata-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetFile-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /integrations/v1/:integrationid/files/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsUpload-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /integrations/v1/ --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrations-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /api/v1/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncComplete-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /sync/v2/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncCompleteV2-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncGetRootV3-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncUpdateRootV3-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageRead-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageWrite-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /favicon.ico --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func1 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /robots.txt --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func2 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /pdf.worker.js --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func3 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /ui/api/register --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).register-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /ui/api/login --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).login-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/logout --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func5 (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] HEAD /ui/api/ --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func6 (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/sync --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func7 (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/newcode --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/profile --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /ui/api/changePassword --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /ui/api/changeEmail --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).listDocuments-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocument-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /ui/api/documents/upload --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createDocument-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] DELETE /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteDocument-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateDocument-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /ui/api/folders --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createFolder-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid/metadata --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocumentMetadata-fm (5 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getUser-fm (6 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] DELETE /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteUser-fm (6 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateUser-fm (6 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] POST /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createUser-fm (6 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getAppUsers-fm (6 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadDocument-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadDocument-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] GET /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadBlob-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="[GIN-debug] PUT /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadBlob-fm (4 handlers)"
time="2023-11-29T20:54:45Z" level=info msg="STORAGE_URL (Cloud URL): https://rm.mydomain.com"
time="2023-11-29T20:54:45Z" level=info msg="Data: /data"
time="2023-11-29T20:54:45Z" level=info msg="Listening on port: 3001"
time="2023-11-29T20:54:45Z" level=info msg="Using plain HTTP"
time="2023-11-29T20:54:45Z" level=fatal msg="listen: listen tcp :3001: bind: address already in use\n"
Do you know how I can monitor the correct log on the device? What should I be looking at when it tries to connect to the rmfakecloud server? I don't see any activity when viewing these in a terminal while hitting the "check sync" button on the device.
Depending on your OS version, and if you use toltec or not, it would be one of these:
journalctl -fau sync
journalctl -fau rm-sync
journalctl -fau manual-sync
That said, you already know that your device is connecting to something, and that your proxy is proxying to something, it's just that you aren't seeing anything in the rmfakecloud logs other than it failed to bind to the port as it's already in use. So I do think that you should be focused on resolving that first.
Should there be more activity in this log when I make changes on the device?
I don't believe the proxy outputs that much by default. You'd have to look into how it works to increase its log verbosity.
Also in my
env
file, I have this:RM_TRUST_PROXY=true
. I'm not actually sure what this does.
https://ddvk.github.io/rmfakecloud/install/configuration/ explains what it does. Since you are using nginx to proxy stuff, you probably should use it. I would also recommend increasing the log level here until you resolve this.
I also tried changing the internal docker port to 3001, ended up with the same line in the log output (at the bottom):
Have you tried a higher port number? It could be that your setup doesn't allow non-root users to bind to lower port numbers. Without knowing more about your setup I can't say for sure.
Ok, thanks.
I tried changing the port, still the same message. Isn't this the internal port? So there is a conflict inside the docker container itself? The container is pretty minimal so I can't even docker exec /bin/bash
into it to check.
I also have had LOGLEVEL=debug
this whole time. The journalctl
logs aren't revealing anything at all. I'm at a loss.
Are you successfully syncing with Version 3.8.3.1965 ?
Ok, thanks.
I tried changing the port, still the same message. Isn't this the internal port? So there is a conflict inside the docker container itself? The container is pretty minimal so I can't even
docker exec /bin/bash
into it to check.
Correct, the container just contains the rmfakecloud executables, so there is no shell to run. What did you try changing the port to?
I also have had
LOGLEVEL=debug
this whole time. Thejournalctl
logs aren't revealing anything at all. I'm at a loss.Are you successfully syncing with Version 3.8.3.1965 ?
No, I'm still on 2.15.1. Did you mean 3.8.2.1965? 3.8.3 doesn't exist. If so, others have reported it working after the changes in the latest release.
What did you try changing the port to?
I tried port 49155
Are you successfully syncing with Version 3.8.3.1965 ?
Oops, yes, that was a typo. I meant version 3.8.2.1965.
So the device logs don't have any errors in them, and the rmfakecloud logs don't say anything other than the port is in use?
Have you made sure there is no other rmfakecloud instance running on the host?
I'm certain there is not another instance running. I tried spinning this up on a Digital Ocean server just to see if it was something weird going on with my home server, but I ran across the same issue.
On the device, these are the logs I see:
This command:
systemctl stop xochitl
QT_LOGGING_RULES=rm.network.*=true xochitl | grep -A3 QUrl
Gives this:
debug: 2023-11-09T14:56:06Z tags/releases/3.8.2-device-rc 01a902f
debug: we're running on an epaper device
[2023-11-29 19:17:20.691] [CSLNetworkManager] [info] Waiting for netlink thread to start
[2023-11-29 19:17:20.694] [CSLNetworkManager] [info] Network information has changed, connectedToWifi = true
[2023-11-29 19:17:20.694] [CSLNetworkManager] [info] Netlink thread is ready
This: journalctl -u proxy
Shows this:
Nov 29 18:47:47 reMarkable systemd[1]: Started reverse proxy.
Nov 29 18:47:47 reMarkable rmfake-proxy[3265]: 2023/11/29 18:47:47 cert-file=/home/root/rmfakecloud/proxy.bundle.crt key-file=/home/root/rmfakecloud/proxy.key listen-addr=:443 upstream-url=https://rm.mydomain.com
This: journalctl -fau rm-sync
Shows this:
Nov 29 19:13:50 reMarkable rm-sync[3424]: rm.sync.service: starting Synchronizer thread, prio 0 (from 7)
Nov 29 19:17:12 reMarkable systemd[1]: Stopping reMarkable Document Sync...
Nov 29 19:17:12 reMarkable systemd[1]: rm-sync.service: Deactivated successfully.
Nov 29 19:17:12 reMarkable systemd[1]: Stopped reMarkable Document Sync.
Nov 29 19:18:35 reMarkable systemd[1]: Started reMarkable Document Sync.
Nov 29 19:18:35 reMarkable rm-sync[3514]: Lock in temp location
Nov 29 19:18:35 reMarkable rm-sync[3514]: Installing crash handler
Nov 29 19:18:35 reMarkable rm-sync[3514]: installed crash handler
Nov 29 19:18:35 reMarkable rm-sync[3514]: Running service...
Nov 29 19:18:35 reMarkable rm-sync[3514]: rm.sync.service: starting Synchronizer thread, prio 0 (from 7)
These don't show anything.
journalctl -fau sync
journalctl -fau manual-sync
Are there any other logs I should look at?
This: docker logs rmfakecloud
. Shows this:
Log level: debug
time="2023-11-30T01:40:03Z" level=warning msg="RM_HTTPS_COOKIE is not set, use only when not using https!"
time="2023-11-30T01:40:03Z" level=info msg="Version: v0.0.16"
time="2023-11-30T01:40:03Z" level=warning msg="No users found, the first login will create a user"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached."
time="2023-11-30T01:40:03Z" level=info
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] [WARNING] Running in \"debug\" mode. Switch to \"release\" mode in production."
time="2023-11-30T01:40:03Z" level=info msg=" - using env:\texport GIN_MODE=release"
time="2023-11-30T01:40:03Z" level=info msg=" - using code:\tgin.SetMode(gin.ReleaseMode)"
time="2023-11-30T01:40:03Z" level=info
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /discovery/v1/endpoints --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func1 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /health --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func2 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /token/json/2/device/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newDevice-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /token/json/2/user/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newUserToken-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /token/json/2/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /token/json/3/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /service/json/1/:service --> github.com/ddvk/rmfakecloud/internal/app.(*App).locateService-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func3 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func4 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /v1/reports --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func5 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /notifications/ws/json/1 --> github.com/ddvk/rmfakecloud/internal/app.(*App).connectWebSocket-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/request --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadRequest-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/update-status --> github.com/ddvk/rmfakecloud/internal/app.(*App).updateStatus-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDocument-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /document-storage/json/2/docs --> github.com/ddvk/rmfakecloud/internal/app.(*App).listDocuments-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /api/v2/document --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /share/v1/email --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /api/v1/page --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /convert/v1/handwriting --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /doc/v1/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDoc-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDocV2-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] OPTIONS /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func6 (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/folders/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsList-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file/metadata --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetMetadata-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetFile-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /integrations/v1/:integrationid/files/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsUpload-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /integrations/v1/ --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrations-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /api/v1/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncComplete-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /sync/v2/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncCompleteV2-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncGetRootV3-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncUpdateRootV3-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageRead-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageWrite-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /favicon.ico --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func1 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /robots.txt --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func2 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /pdf.worker.js --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func3 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /ui/api/register --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).register-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /ui/api/login --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).login-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/logout --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func5 (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] HEAD /ui/api/ --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func6 (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/sync --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func7 (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/newcode --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/profile --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /ui/api/changePassword --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /ui/api/changeEmail --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).listDocuments-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocument-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /ui/api/documents/upload --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createDocument-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] DELETE /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteDocument-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateDocument-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /ui/api/folders --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createFolder-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid/metadata --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocumentMetadata-fm (5 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getUser-fm (6 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] DELETE /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteUser-fm (6 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateUser-fm (6 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] POST /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createUser-fm (6 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getAppUsers-fm (6 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadDocument-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadDocument-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] GET /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadBlob-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="[GIN-debug] PUT /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadBlob-fm (4 handlers)"
time="2023-11-30T01:40:03Z" level=info msg="STORAGE_URL (Cloud URL): https://rm.mydomain.com"
time="2023-11-30T01:40:03Z" level=info msg="Data: /data"
time="2023-11-30T01:40:03Z" level=info msg="Listening on port: 3000"
time="2023-11-30T01:40:03Z" level=info msg="Using plain HTTP"
time="2023-11-30T01:40:21Z" level=info msg="Stopping the service..."
time="2023-11-30T01:40:21Z" level=info msg=Stopped
Log level: debug
time="2023-11-30T01:40:21Z" level=warning msg="RM_HTTPS_COOKIE is not set, use only when not using https!"
time="2023-11-30T01:40:21Z" level=info msg="Version: v0.0.16"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached."
time="2023-11-30T01:40:21Z" level=info
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] [WARNING] Running in \"debug\" mode. Switch to \"release\" mode in production."
time="2023-11-30T01:40:21Z" level=info msg=" - using env:\texport GIN_MODE=release"
time="2023-11-30T01:40:21Z" level=info msg=" - using code:\tgin.SetMode(gin.ReleaseMode)"
time="2023-11-30T01:40:21Z" level=info
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /discovery/v1/endpoints --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func1 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /health --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func2 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /token/json/2/device/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newDevice-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /token/json/2/user/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newUserToken-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /token/json/2/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /token/json/3/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /service/json/1/:service --> github.com/ddvk/rmfakecloud/internal/app.(*App).locateService-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func3 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func4 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /v1/reports --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func5 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /notifications/ws/json/1 --> github.com/ddvk/rmfakecloud/internal/app.(*App).connectWebSocket-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/request --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadRequest-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/update-status --> github.com/ddvk/rmfakecloud/internal/app.(*App).updateStatus-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDocument-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /document-storage/json/2/docs --> github.com/ddvk/rmfakecloud/internal/app.(*App).listDocuments-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /api/v2/document --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /share/v1/email --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /api/v1/page --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /convert/v1/handwriting --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /doc/v1/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDoc-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDocV2-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] OPTIONS /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func6 (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/folders/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsList-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file/metadata --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetMetadata-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetFile-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /integrations/v1/:integrationid/files/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsUpload-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /integrations/v1/ --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrations-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /api/v1/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncComplete-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /sync/v2/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncCompleteV2-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncGetRootV3-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncUpdateRootV3-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageRead-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageWrite-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /favicon.ico --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func1 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /robots.txt --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func2 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /pdf.worker.js --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func3 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /ui/api/register --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).register-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /ui/api/login --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).login-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/logout --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func5 (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] HEAD /ui/api/ --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func6 (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/sync --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func7 (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/newcode --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/profile --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /ui/api/changePassword --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /ui/api/changeEmail --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).listDocuments-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocument-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /ui/api/documents/upload --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createDocument-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] DELETE /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteDocument-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateDocument-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /ui/api/folders --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createFolder-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid/metadata --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocumentMetadata-fm (5 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getUser-fm (6 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] DELETE /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteUser-fm (6 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateUser-fm (6 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] POST /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createUser-fm (6 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getAppUsers-fm (6 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadDocument-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadDocument-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] GET /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadBlob-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="[GIN-debug] PUT /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadBlob-fm (4 handlers)"
time="2023-11-30T01:40:21Z" level=info msg="STORAGE_URL (Cloud URL): https://rm.mydomain.com"
time="2023-11-30T01:40:21Z" level=info msg="Data: /data"
time="2023-11-30T01:40:21Z" level=info msg="Listening on port: 3000"
time="2023-11-30T01:40:21Z" level=info msg="Using plain HTTP"
time="2023-11-30T01:40:23Z" level=info msg=/login
time="2023-11-30T01:40:23Z" level=info msg="[GIN] 2023/11/30 - 01:40:23 | 200 | 128.73µs | 172.29.0.1 | GET \"/login\""
time="2023-11-30T01:40:23Z" level=info msg="[GIN] 2023/11/30 - 01:40:23 | 200 | 884.048µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:40:23Z" level=info msg="[GIN] 2023/11/30 - 01:40:23 | 200 | 1.219931ms | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:40:23Z" level=info msg="[GIN] 2023/11/30 - 01:40:23 | 200 | 126.4µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:40:29Z" level=debug msg="cookie expires after: 24h0m0s"
time="2023-11-30T01:40:29Z" level=info msg="[GIN] 2023/11/30 - 01:40:29 | 200 | 10.690487ms | 172.29.0.1 | POST \"/ui/api/login\""
time="2023-11-30T01:40:29Z" level=info msg="[GIN] 2023/11/30 - 01:40:29 | 200 | 115.901µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:40:31Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:40:31Z" level=info msg="[GIN] 2023/11/30 - 01:40:31 | 200 | 83.427µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:40:31Z" level=info msg="[GIN] 2023/11/30 - 01:40:31 | 200 | 478.947µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:40:33Z" level=info msg="[GIN] 2023/11/30 - 01:40:33 | 200 | 95.535µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:40:33Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:40:33Z" level=info msg="[GIN] 2023/11/30 - 01:40:33 | 200 | 274.148µs | 172.29.0.1 | GET \"/ui/api/users\""
time="2023-11-30T01:40:33Z" level=info msg="[GIN] 2023/11/30 - 01:40:33 | 200 | 160.394µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:40:34Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:40:34Z" level=info msg="[GIN] 2023/11/30 - 01:40:34 | 200 | 228.003µs | 172.29.0.1 | GET \"/ui/api/newcode\""
time="2023-11-30T01:42:25Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:42:25Z" level=info msg="[GIN] 2023/11/30 - 01:42:25 | 200 | 557.329µs | 172.29.0.1 | GET \"/ui/api/newcode\""
time="2023-11-30T01:43:27Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:43:27Z" level=info msg="[GIN] 2023/11/30 - 01:43:27 | 200 | 263.994µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:43:27Z" level=info msg="[GIN] 2023/11/30 - 01:43:27 | 200 | 326.585µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:44:23Z" level=info msg="[GIN] 2023/11/30 - 01:44:23 | 200 | 107.365µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:44:24Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:44:24Z" level=info msg="[GIN] 2023/11/30 - 01:44:24 | 200 | 231.336µs | 172.29.0.1 | GET \"/ui/api/newcode\""
time="2023-11-30T01:47:51Z" level=info msg="[GIN] 2023/11/30 - 01:47:51 | 200 | 33.015µs | 172.29.0.1 | GET \"/settings/v1/beta\""
time="2023-11-30T01:47:51Z" level=warning msg="[auth-middleware]token parsing:wrong token format"
time="2023-11-30T01:47:51Z" level=info msg="[GIN] 2023/11/30 - 01:47:51 | 401 | 42.829µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T01:47:55Z" level=info msg="[GIN] 2023/11/30 - 01:47:55 | 200 | 27.703µs | 172.29.0.1 | GET \"/discovery/v1/endpoints\""
time="2023-11-30T01:47:56Z" level=info msg="[GIN] 2023/11/30 - 01:47:56 | 200 | 37.665µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:47:58Z" level=info msg="[GIN] 2023/11/30 - 01:47:58 | 200 | 31.519µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:00Z" level=info msg="[GIN] 2023/11/30 - 01:48:00 | 200 | 23.068µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:02Z" level=info msg="[GIN] 2023/11/30 - 01:48:02 | 200 | 24.95µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:04Z" level=info msg="[GIN] 2023/11/30 - 01:48:04 | 200 | 35.558µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:07Z" level=info msg="[GIN] 2023/11/30 - 01:48:07 | 200 | 35.26µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:08Z" level=info msg="[GIN] 2023/11/30 - 01:48:08 | 200 | 22.414µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:09Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:48:09Z" level=info msg="[GIN] 2023/11/30 - 01:48:09 | 200 | 95.619µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:48:09Z" level=info msg="[GIN] 2023/11/30 - 01:48:09 | 200 | 292.146µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:48:10Z" level=info msg=/
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 53.843µs | 172.29.0.1 | GET \"/\""
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 774.165µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 307.471µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:48:10Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 86.435µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 122.69µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:48:10Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 107.855µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 140.471µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:48:10Z" level=info msg="[GIN] 2023/11/30 - 01:48:10 | 200 | 35.989µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:11Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:48:11Z" level=info msg="[GIN] 2023/11/30 - 01:48:11 | 200 | 134.197µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:48:11Z" level=info msg="[GIN] 2023/11/30 - 01:48:11 | 200 | 266.599µs | 172.29.0.1 | GET \"/ui/api/users\""
time="2023-11-30T01:48:15Z" level=info msg="[GIN] 2023/11/30 - 01:48:15 | 200 | 128.575µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:48:16Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:48:16Z" level=info msg="[GIN] 2023/11/30 - 01:48:16 | 200 | 296.981µs | 172.29.0.1 | GET \"/ui/api/newcode\""
time="2023-11-30T01:48:32Z" level=info msg="Requested: webapp\n"
time="2023-11-30T01:48:32Z" level=info msg="[GIN] 2023/11/30 - 01:48:32 | 200 | 85.731µs | 172.29.0.1 | GET \"/service/json/1/webapp?environment=production&apiVer=3\""
time="2023-11-30T01:48:32Z" level=info msg="Got code honkmgau"
time="2023-11-30T01:48:32Z" level=info msg="Request: {honkmgau remarkable RM110-150-64960}Token for:nick"
time="2023-11-30T01:48:32Z" level=info msg="[GIN] 2023/11/30 - 01:48:32 | 200 | 241.849µs | 172.29.0.1 | POST \"/token/json/2/device/new\""
time="2023-11-30T01:48:33Z" level=info msg="setting scopes: intgr screenshare hwcmail:-1 mail:-1 sync:default"
time="2023-11-30T01:48:33Z" level=info msg="[GIN] 2023/11/30 - 01:48:33 | 200 | 309.789µs | 172.29.0.1 | POST \"/token/json/2/user/new\""
time="2023-11-30T01:48:33Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T01:48:33Z" level=info msg="[GIN] 2023/11/30 - 01:48:33 | 200 | 360.128µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T01:48:33Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T01:48:33Z" level=info msg="connecting websocket from: nick"
time="2023-11-30T01:48:33Z" level=info msg="[GIN] 2023/11/30 - 01:48:33 | 200 | 181.807µs | 172.29.0.1 | GET \"/notifications/ws/json/1\""
time="2023-11-30T01:48:33Z" level=debug msg="hub: adding a client"
time="2023-11-30T01:48:40Z" level=info msg="[GIN] 2023/11/30 - 01:48:40 | 200 | 117.816µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:42Z" level=info msg="[GIN] 2023/11/30 - 01:48:42 | 200 | 42.523µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:43Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T01:48:44Z" level=info msg="[GIN] 2023/11/30 - 01:48:44 | 200 | 26.317µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:46Z" level=info msg="[GIN] 2023/11/30 - 01:48:46 | 200 | 22.666µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:46Z" level=info msg="[GIN] 2023/11/30 - 01:48:46 | 200 | 2.6602189s | 172.29.0.1 | POST \"/convert/v1/handwriting\""
time="2023-11-30T01:48:48Z" level=info msg="[GIN] 2023/11/30 - 01:48:48 | 200 | 25.09µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:50Z" level=info msg="[GIN] 2023/11/30 - 01:48:50 | 200 | 34.549µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:52Z" level=info msg="[GIN] 2023/11/30 - 01:48:52 | 200 | 35.727µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:48:56Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T01:48:56Z" level=info msg="[GIN] 2023/11/30 - 01:48:56 | 200 | 338.868µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T01:49:00Z" level=info msg="[GIN] 2023/11/30 - 01:49:00 | 200 | 22.707µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:49:03Z" level=info msg="[GIN] 2023/11/30 - 01:49:03 | 200 | 31.124µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:49:05Z" level=info msg="[GIN] 2023/11/30 - 01:49:05 | 200 | 23.037µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:49:07Z" level=info msg="[GIN] 2023/11/30 - 01:49:07 | 200 | 23.894µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:49:09Z" level=info msg="[GIN] 2023/11/30 - 01:49:09 | 200 | 22.35µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:49:12Z" level=info msg="[GIN] 2023/11/30 - 01:49:12 | 200 | 47.368µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:49:14Z" level=info msg="[GIN] 2023/11/30 - 01:49:14 | 200 | 21.36µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:49:40Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:40Z" level=info msg="[GIN] 2023/11/30 - 01:49:40 | 200 | 104.689µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:49:40Z" level=info msg="[GIN] 2023/11/30 - 01:49:40 | 200 | 150.467µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:49:41Z" level=info msg=/documents
time="2023-11-30T01:49:41Z" level=info msg="[GIN] 2023/11/30 - 01:49:41 | 200 | 91.079µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:49:41Z" level=info msg="[GIN] 2023/11/30 - 01:49:41 | 200 | 959.856µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:49:41Z" level=info msg="[GIN] 2023/11/30 - 01:49:41 | 200 | 231.05µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:49:41Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:41Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:41Z" level=info msg="[GIN] 2023/11/30 - 01:49:41 | 200 | 107.623µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:49:41Z" level=info msg="[GIN] 2023/11/30 - 01:49:41 | 200 | 159.559µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:49:41Z" level=info msg="[GIN] 2023/11/30 - 01:49:41 | 200 | 159.755µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:49:42Z" level=info msg=/documents
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 90.888µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 768.642µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 319.969µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 174.567µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 179.007µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 157.205µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:49:42Z" level=info msg=/documents
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 81.537µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 698.884µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 316.859µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 233.406µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 245.059µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 100.041µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:49:42Z" level=info msg=/documents
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 64.077µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 247.85µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 1.296459ms | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 109.463µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 110.603µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 131.237µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:49:42Z" level=info msg=/documents
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 60.888µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 315.186µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 1.096124ms | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 73.925µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:49:42Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:49:42Z" level=info msg="[GIN] 2023/11/30 - 01:49:42 | 200 | 174.033µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:49:43Z" level=info msg="[GIN] 2023/11/30 - 01:49:43 | 200 | 105.19µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:51:00Z" level=info msg=/documents
time="2023-11-30T01:51:00Z" level=info msg="[GIN] 2023/11/30 - 01:51:00 | 200 | 183.982µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:51:00Z" level=info msg="[GIN] 2023/11/30 - 01:51:00 | 200 | 687.241µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:51:00Z" level=info msg="[GIN] 2023/11/30 - 01:51:00 | 200 | 228.933µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:51:00Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:00Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:00Z" level=info msg="[GIN] 2023/11/30 - 01:51:00 | 200 | 140.526µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:51:00Z" level=info msg="[GIN] 2023/11/30 - 01:51:00 | 200 | 138.819µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:51:00Z" level=info msg="[GIN] 2023/11/30 - 01:51:00 | 200 | 110.312µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:51:01Z" level=info msg=/documents
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 68.798µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 725.506µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 779.518µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 91.458µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 177.557µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 108.158µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:51:01Z" level=info msg=/documents
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 78.386µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 474.634µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 808.751µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 98.227µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 226.475µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 163.945µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:51:01Z" level=info msg=/documents
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 50.218µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 839.056µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 955.934µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 43.494µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 131.261µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 109.675µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:51:01Z" level=info msg=/documents
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 77.924µs | 172.29.0.1 | GET \"/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 293.045µs | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 610.305µs | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 123.151µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 148.934µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T01:51:01Z" level=info msg="[GIN] 2023/11/30 - 01:51:01 | 200 | 121.008µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T01:54:03Z" level=info msg="[GIN] 2023/11/30 - 01:54:03 | 200 | 29.499µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:54:05Z" level=info msg="[GIN] 2023/11/30 - 01:54:05 | 200 | 21.981µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:54:07Z" level=info msg="[GIN] 2023/11/30 - 01:54:07 | 200 | 36.426µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:54:09Z" level=info msg="[GIN] 2023/11/30 - 01:54:09 | 200 | 23.167µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:54:11Z" level=info msg="[GIN] 2023/11/30 - 01:54:11 | 200 | 36.797µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:54:13Z" level=info msg="[GIN] 2023/11/30 - 01:54:13 | 200 | 27.712µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:54:57Z" level=info msg="[GIN] 2023/11/30 - 01:54:57 | 200 | 23.949µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:54:59Z" level=info msg="[GIN] 2023/11/30 - 01:54:59 | 200 | 35.052µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:55:01Z" level=info msg="[GIN] 2023/11/30 - 01:55:01 | 200 | 24.638µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:55:09Z" level=info msg="[GIN] 2023/11/30 - 01:55:09 | 200 | 116.516µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:55:11Z" level=info msg="[GIN] 2023/11/30 - 01:55:11 | 200 | 33.004µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T01:55:13Z" level=info msg="[GIN] 2023/11/30 - 01:55:13 | 200 | 32.348µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:05:46Z" level=warning msg="Can't read from ws websocket: close 1006 (abnormal closure): unexpected EOF"
time="2023-11-30T02:05:46Z" level=info msg="hub: removing client"
time="2023-11-30T02:05:54Z" level=info msg="[GIN] 2023/11/30 - 02:05:54 | 200 | 25.812µs | 172.29.0.1 | GET \"/settings/v1/beta\""
time="2023-11-30T02:05:54Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:05:54Z" level=info msg="[GIN] 2023/11/30 - 02:05:54 | 200 | 251.144µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T02:05:58Z" level=info msg="[GIN] 2023/11/30 - 02:05:58 | 200 | 28.779µs | 172.29.0.1 | GET \"/discovery/v1/endpoints\""
time="2023-11-30T02:05:59Z" level=info msg="[GIN] 2023/11/30 - 02:05:59 | 200 | 25.754µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:00Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:06:00Z" level=info msg="connecting websocket from: nick"
time="2023-11-30T02:06:00Z" level=info msg="[GIN] 2023/11/30 - 02:06:00 | 200 | 161.362µs | 172.29.0.1 | GET \"/notifications/ws/json/1\""
time="2023-11-30T02:06:00Z" level=debug msg="hub: adding a client"
time="2023-11-30T02:06:01Z" level=info msg="[GIN] 2023/11/30 - 02:06:01 | 200 | 22.352µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:03Z" level=info msg="[GIN] 2023/11/30 - 02:06:03 | 200 | 22.48µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:05Z" level=info msg="[GIN] 2023/11/30 - 02:06:05 | 200 | 23.772µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:07Z" level=info msg="[GIN] 2023/11/30 - 02:06:07 | 200 | 35.388µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:09Z" level=info msg="[GIN] 2023/11/30 - 02:06:09 | 200 | 24.913µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:11Z" level=info msg="[GIN] 2023/11/30 - 02:06:11 | 200 | 24.293µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:13Z" level=info msg="[GIN] 2023/11/30 - 02:06:13 | 200 | 23.235µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:15Z" level=info msg="[GIN] 2023/11/30 - 02:06:15 | 200 | 37.031µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:17Z" level=info msg="[GIN] 2023/11/30 - 02:06:17 | 200 | 25.457µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:19Z" level=info msg="[GIN] 2023/11/30 - 02:06:19 | 200 | 24.095µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:21Z" level=info msg="[GIN] 2023/11/30 - 02:06:21 | 200 | 23.192µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:23Z" level=info msg="[GIN] 2023/11/30 - 02:06:23 | 200 | 22.645µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:26Z" level=info msg="[GIN] 2023/11/30 - 02:06:26 | 200 | 37.05µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:28Z" level=info msg="[GIN] 2023/11/30 - 02:06:28 | 200 | 22.154µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:06:30Z" level=info msg="[GIN] 2023/11/30 - 02:06:30 | 200 | 23.035µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:07:56Z" level=warning msg="Can't read from ws websocket: close 1006 (abnormal closure): unexpected EOF"
time="2023-11-30T02:07:56Z" level=info msg="hub: removing client"
time="2023-11-30T02:08:05Z" level=info msg="Stopping the service..."
time="2023-11-30T02:08:05Z" level=info msg=Stopped
Log level: debug
time="2023-11-30T02:10:28Z" level=warning msg="RM_HTTPS_COOKIE is not set, use only when not using https!"
time="2023-11-30T02:10:28Z" level=info msg="Version: v0.0.16"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached."
time="2023-11-30T02:10:28Z" level=info
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] [WARNING] Running in \"debug\" mode. Switch to \"release\" mode in production."
time="2023-11-30T02:10:28Z" level=info msg=" - using env:\texport GIN_MODE=release"
time="2023-11-30T02:10:28Z" level=info msg=" - using code:\tgin.SetMode(gin.ReleaseMode)"
time="2023-11-30T02:10:28Z" level=info
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /discovery/v1/endpoints --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func1 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /health --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func2 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /token/json/2/device/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newDevice-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /token/json/2/user/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newUserToken-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /token/json/2/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /token/json/3/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /service/json/1/:service --> github.com/ddvk/rmfakecloud/internal/app.(*App).locateService-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func3 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func4 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /v1/reports --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func5 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /notifications/ws/json/1 --> github.com/ddvk/rmfakecloud/internal/app.(*App).connectWebSocket-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/request --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadRequest-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/update-status --> github.com/ddvk/rmfakecloud/internal/app.(*App).updateStatus-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDocument-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /document-storage/json/2/docs --> github.com/ddvk/rmfakecloud/internal/app.(*App).listDocuments-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /api/v2/document --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /share/v1/email --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /api/v1/page --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /convert/v1/handwriting --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /doc/v1/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDoc-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDocV2-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] OPTIONS /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func6 (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/folders/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsList-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file/metadata --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetMetadata-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetFile-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /integrations/v1/:integrationid/files/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsUpload-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /integrations/v1/ --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrations-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /api/v1/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncComplete-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /sync/v2/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncCompleteV2-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncGetRootV3-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncUpdateRootV3-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageRead-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageWrite-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /favicon.ico --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func1 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /robots.txt --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func2 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /pdf.worker.js --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func3 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /ui/api/register --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).register-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /ui/api/login --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).login-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/logout --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func5 (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] HEAD /ui/api/ --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func6 (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/sync --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func7 (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/newcode --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/profile --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /ui/api/changePassword --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /ui/api/changeEmail --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).listDocuments-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocument-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /ui/api/documents/upload --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createDocument-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] DELETE /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteDocument-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateDocument-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /ui/api/folders --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createFolder-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid/metadata --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocumentMetadata-fm (5 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getUser-fm (6 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] DELETE /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteUser-fm (6 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateUser-fm (6 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] POST /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createUser-fm (6 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getAppUsers-fm (6 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadDocument-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadDocument-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] GET /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadBlob-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="[GIN-debug] PUT /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadBlob-fm (4 handlers)"
time="2023-11-30T02:10:28Z" level=info msg="STORAGE_URL (Cloud URL): https://rm.mydomain.com"
time="2023-11-30T02:10:28Z" level=info msg="Data: /data"
time="2023-11-30T02:10:28Z" level=info msg="Listening on port: 3000"
time="2023-11-30T02:10:28Z" level=info msg="Using plain HTTP"
time="2023-11-30T02:13:08Z" level=info msg=/
time="2023-11-30T02:13:08Z" level=info msg="[GIN] 2023/11/30 - 02:13:08 | 200 | 307.206µs | 172.29.0.1 | GET \"/\""
time="2023-11-30T02:13:08Z" level=info msg="[GIN] 2023/11/30 - 02:13:08 | 200 | 2.842261ms | 172.29.0.1 | GET \"/static/js/main.9c2de5b1.js\""
time="2023-11-30T02:13:08Z" level=info msg="[GIN] 2023/11/30 - 02:13:08 | 200 | 3.409176ms | 172.29.0.1 | GET \"/static/css/main.d94d89ba.css\""
time="2023-11-30T02:13:09Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T02:13:09Z" level=info msg="[GIN] 2023/11/30 - 02:13:09 | 200 | 299.436µs | 172.29.0.1 | HEAD \"/ui/api/\""
time="2023-11-30T02:13:09Z" level=info msg="[GIN] 2023/11/30 - 02:13:09 | 200 | 480.078µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T02:13:10Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T02:13:10Z" level=info msg="[GIN] 2023/11/30 - 02:13:10 | 200 | 93.126µs | 172.29.0.1 | GET \"/favicon.ico\""
time="2023-11-30T02:13:10Z" level=info msg="[GIN] 2023/11/30 - 02:13:10 | 200 | 272.359µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T02:13:31Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T02:13:31Z" level=info msg="uploading documents from: nick"
time="2023-11-30T02:13:31Z" level=info msg="Parent: "
time="2023-11-30T02:13:31Z" level=info msg="[ui] Uploading Simulacra and Simulation.pdf , size: 488004"
time="2023-11-30T02:13:31Z" level=info msg="[ui] [10] Uploaded document id0c24ddc5-1cc5-4b6d-9b65-1e922d8b3e12"
time="2023-11-30T02:13:31Z" level=info msg="[GIN] 2023/11/30 - 02:13:31 | 200 | 15.216565ms | 172.29.0.1 | POST \"/ui/api/documents/upload\""
time="2023-11-30T02:13:31Z" level=info msg="hub: dispatching notification"
time="2023-11-30T02:13:31Z" level=info msg="Broadcast notification, for all devices of uid:nick id 7f908ae9-bde4-4a61-82be-969ef4be1b98"
time="2023-11-30T02:13:31Z" level=info msg="[ui-authmiddleware] User from token: nick"
time="2023-11-30T02:13:31Z" level=info msg="[GIN] 2023/11/30 - 02:13:31 | 200 | 275.287µs | 172.29.0.1 | GET \"/ui/api/documents\""
time="2023-11-30T02:13:53Z" level=info msg="[GIN] 2023/11/30 - 02:13:53 | 200 | 36.583µs | 172.29.0.1 | GET \"/settings/v1/beta\""
time="2023-11-30T02:13:53Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:13:53Z" level=info msg="[GIN] 2023/11/30 - 02:13:53 | 200 | 391.585µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T02:13:58Z" level=info msg="[GIN] 2023/11/30 - 02:13:58 | 200 | 33.664µs | 172.29.0.1 | GET \"/discovery/v1/endpoints\""
time="2023-11-30T02:13:59Z" level=info msg="[GIN] 2023/11/30 - 02:13:59 | 200 | 28.341µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:00Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:14:00Z" level=info msg="connecting websocket from: nick"
time="2023-11-30T02:14:00Z" level=info msg="[GIN] 2023/11/30 - 02:14:00 | 200 | 213.921µs | 172.29.0.1 | GET \"/notifications/ws/json/1\""
time="2023-11-30T02:14:00Z" level=debug msg="hub: adding a client"
time="2023-11-30T02:14:01Z" level=info msg="[GIN] 2023/11/30 - 02:14:01 | 200 | 34.163µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:03Z" level=info msg="[GIN] 2023/11/30 - 02:14:03 | 200 | 17.918µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:05Z" level=info msg="[GIN] 2023/11/30 - 02:14:05 | 200 | 20.315µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:07Z" level=info msg="[GIN] 2023/11/30 - 02:14:07 | 200 | 36.179µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:09Z" level=info msg="[GIN] 2023/11/30 - 02:14:09 | 200 | 24.232µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:39Z" level=info msg="[GIN] 2023/11/30 - 02:14:39 | 200 | 32.852µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:41Z" level=info msg="[GIN] 2023/11/30 - 02:14:41 | 200 | 48.251µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:44Z" level=info msg="[GIN] 2023/11/30 - 02:14:44 | 200 | 34.695µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:46Z" level=info msg="[GIN] 2023/11/30 - 02:14:46 | 200 | 25.04µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:48Z" level=info msg="[GIN] 2023/11/30 - 02:14:48 | 200 | 33.458µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:14:51Z" level=info msg="[GIN] 2023/11/30 - 02:14:51 | 200 | 37.787µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:17:12Z" level=warning msg="Can't read from ws websocket: close 1006 (abnormal closure): unexpected EOF"
time="2023-11-30T02:17:12Z" level=info msg="hub: removing client"
time="2023-11-30T02:17:21Z" level=info msg="[GIN] 2023/11/30 - 02:17:21 | 200 | 31.252µs | 172.29.0.1 | GET \"/settings/v1/beta\""
time="2023-11-30T02:17:21Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:17:21Z" level=info msg="[GIN] 2023/11/30 - 02:17:21 | 200 | 252.768µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T02:17:25Z" level=info msg="[GIN] 2023/11/30 - 02:17:25 | 200 | 25.098µs | 172.29.0.1 | GET \"/discovery/v1/endpoints\""
time="2023-11-30T02:17:26Z" level=info msg="[GIN] 2023/11/30 - 02:17:26 | 200 | 22.209µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:17:27Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:17:27Z" level=info msg="connecting websocket from: nick"
time="2023-11-30T02:17:27Z" level=info msg="[GIN] 2023/11/30 - 02:17:27 | 200 | 150.592µs | 172.29.0.1 | GET \"/notifications/ws/json/1\""
time="2023-11-30T02:17:27Z" level=debug msg="hub: adding a client"
time="2023-11-30T02:17:28Z" level=info msg="[GIN] 2023/11/30 - 02:17:28 | 200 | 35.536µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:17:31Z" level=info msg="[GIN] 2023/11/30 - 02:17:31 | 200 | 21.469µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:17:39Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:17:39Z" level=info msg="[GIN] 2023/11/30 - 02:17:39 | 200 | 233.072µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T02:18:25Z" level=warning msg="Can't read from ws websocket: close 1006 (abnormal closure): unexpected EOF"
time="2023-11-30T02:18:25Z" level=info msg="hub: removing client"
time="2023-11-30T02:18:38Z" level=info msg="[GIN] 2023/11/30 - 02:18:38 | 200 | 61.989µs | 172.29.0.1 | GET \"/settings/v1/beta\""
time="2023-11-30T02:18:38Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:18:38Z" level=info msg="[GIN] 2023/11/30 - 02:18:38 | 200 | 217.097µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T02:18:42Z" level=info msg="[GIN] 2023/11/30 - 02:18:42 | 200 | 30.047µs | 172.29.0.1 | GET \"/discovery/v1/endpoints\""
time="2023-11-30T02:18:43Z" level=info msg="[GIN] 2023/11/30 - 02:18:43 | 200 | 20.363µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:18:44Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
time="2023-11-30T02:18:44Z" level=info msg="connecting websocket from: nick"
time="2023-11-30T02:18:44Z" level=info msg="[GIN] 2023/11/30 - 02:18:44 | 200 | 346.369µs | 172.29.0.1 | GET \"/notifications/ws/json/1\""
time="2023-11-30T02:18:44Z" level=debug msg="hub: adding a client"
time="2023-11-30T02:18:45Z" level=info msg="[GIN] 2023/11/30 - 02:18:45 | 200 | 40.03µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:18:47Z" level=info msg="[GIN] 2023/11/30 - 02:18:47 | 200 | 37.254µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:18:49Z" level=info msg="[GIN] 2023/11/30 - 02:18:49 | 200 | 22.19µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:18:51Z" level=info msg="[GIN] 2023/11/30 - 02:18:51 | 200 | 34.359µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:18:53Z" level=info msg="[GIN] 2023/11/30 - 02:18:53 | 200 | 26.171µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:18:55Z" level=info msg="[GIN] 2023/11/30 - 02:18:55 | 200 | 22.283µs | 172.29.0.1 | POST \"/v1/reports\""
time="2023-11-30T02:18:57Z" level=info msg="[GIN] 2023/11/30 - 02:18:57 | 200 | 21.669µs | 172.29.0.1 | POST \"/v1/reports\""
Doing this: docker exec rmfakecloud /rmfakecloud-docker
Shows this:
Log level: debug
time="2023-11-30T02:59:24Z" level=warning msg="RM_HTTPS_COOKIE is not set, use only when not using https!"
time="2023-11-30T02:59:24Z" level=info msg="Version: v0.0.16"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached."
time="2023-11-30T02:59:24Z" level=info
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] [WARNING] Running in \"debug\" mode. Switch to \"release\" mode in production."
time="2023-11-30T02:59:24Z" level=info msg=" - using env:\texport GIN_MODE=release"
time="2023-11-30T02:59:24Z" level=info msg=" - using code:\tgin.SetMode(gin.ReleaseMode)"
time="2023-11-30T02:59:24Z" level=info
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /discovery/v1/endpoints --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func1 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /health --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func2 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /token/json/2/device/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newDevice-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /token/json/2/user/new --> github.com/ddvk/rmfakecloud/internal/app.(*App).newUserToken-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /token/json/2/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /token/json/3/device/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDevice-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /service/json/1/:service --> github.com/ddvk/rmfakecloud/internal/app.(*App).locateService-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func3 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /settings/v1/beta --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func4 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /v1/reports --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func5 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /notifications/ws/json/1 --> github.com/ddvk/rmfakecloud/internal/app.(*App).connectWebSocket-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/request --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadRequest-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/upload/update-status --> github.com/ddvk/rmfakecloud/internal/app.(*App).updateStatus-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /document-storage/json/2/delete --> github.com/ddvk/rmfakecloud/internal/app.(*App).deleteDocument-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /document-storage/json/2/docs --> github.com/ddvk/rmfakecloud/internal/app.(*App).listDocuments-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /api/v2/document --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /share/v1/email --> github.com/ddvk/rmfakecloud/internal/app.(*App).sendEmail-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /api/v1/page --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /convert/v1/handwriting --> github.com/ddvk/rmfakecloud/internal/app.(*App).handleHwr-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /doc/v1/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDoc-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).uploadDocV2-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] OPTIONS /doc/v2/files --> github.com/ddvk/rmfakecloud/internal/app.(*App).registerRoutes.func6 (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/folders/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsList-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file/metadata --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetMetadata-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /integrations/v1/:integrationid/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsGetFile-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /integrations/v1/:integrationid/files/:folderid --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrationsUpload-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /integrations/v1/ --> github.com/ddvk/rmfakecloud/internal/app.(*App).integrations-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /api/v1/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /api/v1/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncComplete-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/downloads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageDownload-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /sync/v2/signed-urls/uploads --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageUpload-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /sync/v2/sync-complete --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncCompleteV2-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncGetRootV3-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /sync/v3/root --> github.com/ddvk/rmfakecloud/internal/app.(*App).syncUpdateRootV3-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageRead-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /sync/v3/files/:file --> github.com/ddvk/rmfakecloud/internal/app.(*App).blobStorageWrite-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /favicon.ico --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func1 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /robots.txt --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func2 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /pdf.worker.js --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func3 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /ui/api/register --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).register-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /ui/api/login --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).login-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/logout --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func5 (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] HEAD /ui/api/ --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func6 (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/sync --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).RegisterRoutes.func7 (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/newcode --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/profile --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).newCode-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /ui/api/changePassword --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /ui/api/changeEmail --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).changePassword-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).listDocuments-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocument-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /ui/api/documents/upload --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createDocument-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] DELETE /ui/api/documents/:docid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteDocument-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /ui/api/documents --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateDocument-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /ui/api/folders --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createFolder-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/documents/:docid/metadata --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getDocumentMetadata-fm (5 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getUser-fm (6 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] DELETE /ui/api/users/:userid --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).deleteUser-fm (6 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).updateUser-fm (6 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] POST /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).createUser-fm (6 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /ui/api/users --> github.com/ddvk/rmfakecloud/internal/ui.(*ReactAppWrapper).getAppUsers-fm (6 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadDocument-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /storage/:token --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadDocument-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] GET /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).downloadBlob-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="[GIN-debug] PUT /blobstorage --> github.com/ddvk/rmfakecloud/internal/storage/fs.(*App).uploadBlob-fm (4 handlers)"
time="2023-11-30T02:59:24Z" level=info msg="STORAGE_URL (Cloud URL): https://rm.mydomain.com"
time="2023-11-30T02:59:24Z" level=info msg="Data: /data"
time="2023-11-30T02:59:24Z" level=info msg="Listening on port: 3000"
time="2023-11-30T02:59:24Z" level=info msg="Using plain HTTP"
time="2023-11-30T02:59:24Z" level=fatal msg="listen: listen tcp :3000: bind: address already in use\n"
It appears that the service doesn't always complain about the port being in use. This might be an issue with the container restart not working as expected or something.
time="2023-11-30T01:40:03Z" level=info msg="Listening on port: 3000"
time="2023-11-30T01:40:03Z" level=info msg="Using plain HTTP"
time="2023-11-30T01:40:21Z" level=info msg="Stopping the service..."
time="2023-11-30T01:40:21Z" level=info msg=Stopped
...
time="2023-11-30T01:40:21Z" level=info msg="Listening on port: 3000"
time="2023-11-30T01:40:21Z" level=info msg="Using plain HTTP"
time="2023-11-30T01:40:23Z" level=info msg=/login
...
So the device is successfully hitting this service, which was not apparent from the lack of log lines being provided before.
One thing I noticed is that you aren't using the new sync15 protocol. This might be the issue, as 3.x has had major changes to the sync protocol, and likely isn't working properly with the older protocol. I would recommend changing to sync15 and trying again: https://github.com/ddvk/rmfakecloud#breaking-changes
...
time="2023-11-30T01:48:33Z" level=info msg="[GIN] 2023/11/30 - 01:48:33 | 200 | 360.128µs | 172.29.0.1 | GET \"/integrations/v1/\""
time="2023-11-30T01:48:33Z" level=info msg="[auth-middleware] UserId: nick deviceId: RM110-150-64960 newSync: false"
...
Ahh, bingo! It's working now. Thank you for all of your help and taking the time to look at the logs!
If anyone else runs into this, here is what I did:
On the server, made sure sync15: true
was added to the .userprofile
(nano ./data/users/nick/.userprofile
).
Then just did docker compose down
and docker compose up -d
again.
Then on the device ./installer.sh uninstall
, rebooted, then ./installer.sh install
and re-paired to the server with a new code.
I'm running 3.8.2 on the device, so I used the rmfakecloud-proxy script to set it up on the device. I'm running the server with Docker. The site works fine in my browser and on the device when I do a "check sync" all checks out just fine. However, nothing is ever synced up to the server. Also, if I drop a file on the server, it never is downloaded onto the device.
I ran through the troubleshooting section. Didn't look like there were any errors.
The only thing I noticed, not sure if it's related, is on the
installer.sh
script, I noticed this output on the last line:sed: -i requires an argument