12 Commits

Author SHA1 Message Date
Jannis Mattheis
eec23c7d67 fix: panic when write on closed channel 2026-08-21 13:56:28 +02:00
Yumechi
5a36c8c42b chore: update go module path to github.com/gotify/server/v3 2026-08-16 17:01:00 +08:00
饺子w (Yumechi)
ad977d3d9c feat: EdDSA token for database leakage/index mitigation (#971)
* feat: EdDSA token for database leakage/index mitigation

* [skip ci]: remove token from api output

* fix: e2e tests

* fixup! fix: e2e tests

* doc: document tokens are now optional fields for app and aclient

* fixup(doc): swagger version again

* address review comments

* address review comments
2026-06-28 14:58:20 +00:00
Jannis Mattheis
925fce0bf9 fix: use zerolog 2026-05-20 17:16:35 +02:00
Jannis Mattheis
3454dcd602 Use golangci-lint 2020-11-01 10:47:02 +01:00
Jannis Mattheis
7b90b8a8f5 Use v2 in package path 2020-05-08 10:43:17 +02:00
Jannis Mattheis
0a7a5cd619 Add logging to websocket errors 2019-11-28 21:39:47 +01:00
eternal-flame-AD
de09aae987 add extras to message model 2019-02-02 13:06:30 +01:00
Jannis Mattheis
79e1dc9c9a Prevent deadlock on stream.Close()
GR = goroutine
[GR#1] http server gets closed
[GR#2] client.NotifyClose() will be executed
[GR#2] client.once.Do will be executed (lock's client.once.m)
[GR#1] stream.Close will be executed (lock's stream.lock)
[GR#1] client.Close will be executed (waits for client.once.m)
[GR#2] stream.remove will be executed (waits for stream.lock)

GR#1 holds lock stream.lock and waits for client.once.m
GR#2 holds lock client.once.m and waits for stream.lock

We prevent the deadlock with releasing the client.once.m lock earlier.
2018-11-22 20:59:29 +01:00
Jannis Mattheis
80eec6ae3a Remove monkey dependency 2018-11-06 21:38:15 +01:00
Jannis Mattheis
6954fb5adf Close web socket connection on delete client 2018-04-02 12:35:16 +02:00
Jannis Mattheis
01c6800ae8 Move stream to api 2018-03-25 19:33:29 +02:00