Release: 2.1.0.103 (Canary) 2024-12-21

TrayIcon disconnected from its hosted server 15 minutes after start. Wireshark traffic is below:

POST /api/v1/auth/signin HTTP/1.1
Host: localhost:8200
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103
Content-Type: application/json; charset=utf-8
Content-Length: 265

{"SigninToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJTaWduaW5Ub2tlbiIsInNpZCI6InRyYXlpY29uIiwibmJmIjoxNzM1MzMzMjQxLCJleHAiOjE3MzUzMzM1NDEsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.ZkO0rhbeKBoaubXmtYCDxTDwl4CGe6qDunxjcg07kBU"}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

121
{"AccessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg"}
0


GET /api/v1/serverstate HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

197
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":3,"LastDataUpdateID":2,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/notifications HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

2
[]
0


GET /api/v1/serversettings HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

2c0
{"startup-delay":"","max-download-speed":"","max-upload-speed":"","last-webserver-port":"8200","is-first-run":"False","server-port-changed":"True","last-update-check":"638709277198701282","update-check-interval":"","update-check-latest":"","unacked-error":"","unacked-warning":"","server-listen-interface":"any","server-disable-https":"False","has-fixed-invalid-backup-id":"True","update-channel":"","usage-reporter-level":"","disable-tray-icon-login":"False","allowed-hostnames":"hp4","remote-control-enabled":"","autogenerated-passphrase":"False","disable-visual-captcha":"","disable-signin-tokens":"","encrypted-fields":"","server-timezone":"","paused-until":"","has-asked-for-password-change":"true"}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=3&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

197
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":4,"LastDataUpdateID":3,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serversettings HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:43 GMT
Server: Kestrel
Transfer-Encoding: chunked

2c1
{"startup-delay":"","max-download-speed":"","max-upload-speed":"","last-webserver-port":"8200","is-first-run":"False","server-port-changed":"False","last-update-check":"638709277198701282","update-check-interval":"","update-check-latest":"","unacked-error":"","unacked-warning":"","server-listen-interface":"any","server-disable-https":"False","has-fixed-invalid-backup-id":"True","update-channel":"","usage-reporter-level":"","disable-tray-icon-login":"False","allowed-hostnames":"hp4","remote-control-enabled":"","autogenerated-passphrase":"False","disable-visual-captcha":"","disable-signin-tokens":"","encrypted-fields":"","server-timezone":"","paused-until":"","has-asked-for-password-change":"true"}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=4&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:43 GMT
Server: Kestrel
Transfer-Encoding: chunked

197
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":7,"LastDataUpdateID":4,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serversettings HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:00:43 GMT
Server: Kestrel
Transfer-Encoding: chunked

2c1
{"startup-delay":"","max-download-speed":"","max-upload-speed":"","last-webserver-port":"8200","is-first-run":"False","server-port-changed":"False","last-update-check":"638709277198701282","update-check-interval":"","update-check-latest":"","unacked-error":"","unacked-warning":"","server-listen-interface":"any","server-disable-https":"False","has-fixed-invalid-backup-id":"True","update-channel":"","usage-reporter-level":"","disable-tray-icon-login":"False","allowed-hostnames":"hp4","remote-control-enabled":"","autogenerated-passphrase":"False","disable-visual-captcha":"","disable-signin-tokens":"","encrypted-fields":"","server-timezone":"","paused-until":"","has-asked-for-password-change":"true"}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=7&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:05:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

197
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":8,"LastDataUpdateID":4,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=8&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:10:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

197
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":8,"LastDataUpdateID":4,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=8&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:10:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

197
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":9,"LastDataUpdateID":4,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=9&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:15:43 GMT
Server: Kestrel
Transfer-Encoding: chunked

197
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":9,"LastDataUpdateID":4,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=9&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:15:43 GMT
Server: Kestrel
Transfer-Encoding: chunked

198
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":10,"LastDataUpdateID":4,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=10&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 Dec 2024 21:20:42 GMT
Server: Kestrel
Transfer-Encoding: chunked

198
{"ActiveTask":null,"ProgramState":"Running","SchedulerQueueIds":[],"ProposedSchedule":[{"Item1":"1","Item2":"2024-12-28T12:20:00Z"}],"HasWarning":false,"HasError":false,"SuggestedStatusIcon":"Ready","EstimatedPauseEnd":"0001-01-01T00:00:00","LastEventID":10,"LastDataUpdateID":4,"LastNotificationUpdateID":0,"UpdatedVersion":null,"UpdaterState":"Waiting","UpdateDownloadLink":null,"UpdateDownloadProgress":0}
0


GET /api/v1/serverstate?longpoll=true&lastEventId=10&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 401 Unauthorized
Content-Length: 0
Date: Fri, 27 Dec 2024 21:20:42 GMT
Server: Kestrel
WWW-Authenticate: Bearer error="invalid_token", error_description="The token expired at '12/27/2024 21:15:42'"


GET /api/v1/serverstate?longpoll=true&lastEventId=10&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 401 Unauthorized
Content-Length: 0
Date: Fri, 27 Dec 2024 21:20:44 GMT
Server: Kestrel
WWW-Authenticate: Bearer error="invalid_token", error_description="The token expired at '12/27/2024 21:15:42'"


GET /api/v1/serverstate?longpoll=true&lastEventId=10&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 401 Unauthorized
Content-Length: 0
Date: Fri, 27 Dec 2024 21:20:48 GMT
Server: Kestrel
WWW-Authenticate: Bearer error="invalid_token", error_description="The token expired at '12/27/2024 21:15:42'"


GET /api/v1/serverstate?longpoll=true&lastEventId=10&duration=5m HTTP/1.1
Host: localhost:8200
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM1MzMzMjQyLCJleHAiOjE3MzUzMzQxNDIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.qcu2FAmZiOTXyGcuRf7qN0agKTewf0P_y36BmXwBTQg
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.103


HTTP/1.1 401 Unauthorized
Content-Length: 0
Date: Fri, 27 Dec 2024 21:20:54 GMT
Server: Kestrel
WWW-Authenticate: Bearer error="invalid_token", error_description="The token expired at '12/27/2024 21:15:42'"

Although this sort of thing has been seen before (for example, see cases in 2.1.0.102, etc.), perhaps it’s worse now, or I got less lucky. This time, I started TrayIcon and just let it sit idle.

To make situation as simple as possible, I also closed all browser tabs, letting it talk to itself:

C:\Program Files\Duplicati 2>netstat -ano | findstr 8200
  TCP    0.0.0.0:8200           0.0.0.0:0              LISTENING       8484
  TCP    [::]:8200              [::]:0                 LISTENING       8484
  TCP    [::1]:8200             [::1]:56215            ESTABLISHED     8484
  TCP    [::1]:56215            [::1]:8200             ESTABLISHED     8484

EDIT 1:

Terminal is nice and quiet, probably because I closed all the tabs that might be tossing stuff in:

C:\Duplicati\duplicati-2.1.0.103_canary_2024-12-21-win-x64-gui\RUN>echo Fri 12/27/2024 16:00:39.80
Fri 12/27/2024 16:00:39.80

C:\Duplicati\duplicati-2.1.0.103_canary_2024-12-21-win-x64-gui\RUN>start /b ..\Duplicati.GUI.TrayIcon.exe --server-datafolder="C:\Duplicati\duplicati-2.1.0.103_canary_2024-12-21-win-x64-gui\RUN" --disable-db-encryption --log-file="server.2.1.0.103_canary_2024-12-21-win-x64-gui.log" --log-level=profiling --webservice-interface=any --webservice-allowed-hostnames="hp4" --webservice-port=8200

C:\Duplicati\duplicati-2.1.0.103_canary_2024-12-21-win-x64-gui\RUN>pause
Press any key to continue . . . Server has started and is listening on port 8200

EDIT 2:

Also fails without options. 2.1.0.100 works: gets 401, gets SigninToken, AccessToken, continues.
2.1.0.101 seems to be where the problem came in. It gets longpoll response each minute until access token expires, then it just keeps on sendng the expired one every (variable) few seconds.

EDIT 3:

Opened issue:

1 Like