<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>via, branch HEAD</title>
<subtitle>Simple pubsub server inspired by https://patchbay.pub/</subtitle>
<entry>
<id>df9fb847ca9a1e22bd7a2490f6d55d6f5af6eae6</id>
<published>2025-06-16T07:33:14Z</published>
<updated>2025-06-16T07:48:46Z</updated>
<title type="text">fixup b5f02bd</title>
<link rel="alternate" type="text/html" href="commit/df9fb847ca9a1e22bd7a2490f6d55d6f5af6eae6.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fixup b5f02bd
</content>
</entry>
<entry>
<id>d980c035990d1d9ee8113d0521f0d2ddbbce5072</id>
<published>2025-06-13T15:01:49Z</published>
<updated>2025-06-16T07:47:51Z</updated>
<title type="text">concurrency: use explicit refCount instead of len(channels) in cleanup()</title>
<link rel="alternate" type="text/html" href="commit/d980c035990d1d9ee8113d0521f0d2ddbbce5072.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">concurrency: use explicit refCount instead of len(channels) in cleanup()
</content>
</entry>
<entry>
<id>1a9a661732c30925d383d1b51f8d93f0ebb3effe</id>
<published>2025-06-13T14:53:51Z</published>
<updated>2025-06-16T07:47:51Z</updated>
<title type="text">concurrency: drain channel on unsubscribe</title>
<link rel="alternate" type="text/html" href="commit/1a9a661732c30925d383d1b51f8d93f0ebb3effe.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">concurrency: drain channel on unsubscribe
</content>
</entry>
<entry>
<id>da546827545672c2fb575e0f65cc08d1710ad53e</id>
<published>2025-06-13T14:48:52Z</published>
<updated>2025-06-16T07:18:34Z</updated>
<title type="text">concurrency: use channels instead of mutex</title>
<link rel="alternate" type="text/html" href="commit/da546827545672c2fb575e0f65cc08d1710ad53e.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">concurrency: use channels instead of mutex

&quot;Share memory by communicating; don&#39;t communicate by sharing memory.&quot;
-- https://pkg.go.dev/sync/atomic

This is more readable, more idiomatic and probably fixes a bunch of
concurrency issues.
</content>
</entry>
<entry>
<id>d55570c2d4468d6087d1bf4cef61512d3f7a94ca</id>
<published>2025-06-13T14:43:03Z</published>
<updated>2025-06-13T14:52:09Z</updated>
<title type="text">perf: exit early on bad PUT requests</title>
<link rel="alternate" type="text/html" href="commit/d55570c2d4468d6087d1bf4cef61512d3f7a94ca.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">perf: exit early on bad PUT requests
</content>
</entry>
<entry>
<id>73dd9964daf5d5bf4d8f4869c50fdcdc280b68d0</id>
<published>2025-06-13T14:39:02Z</published>
<updated>2025-06-13T14:52:09Z</updated>
<title type="text">clear topics at the end of POST/PUT/DELETE</title>
<link rel="alternate" type="text/html" href="commit/73dd9964daf5d5bf4d8f4869c50fdcdc280b68d0.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">clear topics at the end of POST/PUT/DELETE
</content>
</entry>
<entry>
<id>748fe0c4fa73648d4529e42dcd140211192a5f0a</id>
<published>2025-06-13T14:35:13Z</published>
<updated>2025-06-13T14:52:09Z</updated>
<title type="text">do not ignore POST if no GET is active</title>
<link rel="alternate" type="text/html" href="commit/748fe0c4fa73648d4529e42dcd140211192a5f0a.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">do not ignore POST if no GET is active

messages should still end up in the history
</content>
</entry>
<entry>
<id>fbe0fc4902b9b08ee230509ee72ea44820c72d69</id>
<published>2025-06-13T13:45:07Z</published>
<updated>2025-06-13T14:52:09Z</updated>
<title type="text">refactor: switch position of get and post in code</title>
<link rel="alternate" type="text/html" href="commit/fbe0fc4902b9b08ee230509ee72ea44820c72d69.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor: switch position of get and post in code
</content>
</entry>
<entry>
<id>c63eace8a2e871dddfa40a3d1da23dfa69b698ff</id>
<published>2025-06-13T13:33:44Z</published>
<updated>2025-06-13T14:52:09Z</updated>
<title type="text">refactor: store path on topic</title>
<link rel="alternate" type="text/html" href="commit/c63eace8a2e871dddfa40a3d1da23dfa69b698ff.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor: store path on topic
</content>
</entry>
<entry>
<id>7a92a3cf56fc3ad6341ecd38e9ec91eb3f28f411</id>
<published>2025-06-08T03:59:23Z</published>
<updated>2025-06-09T06:07:29Z</updated>
<title type="text">concurrency: hold lock between topics check and modification</title>
<link rel="alternate" type="text/html" href="commit/7a92a3cf56fc3ad6341ecd38e9ec91eb3f28f411.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">concurrency: hold lock between topics check and modification

otherwise a topic could appear/vanish in between
</content>
</entry>
<entry>
<id>78871f0b0173ad606cd970db1078060f0752107d</id>
<published>2025-06-08T05:51:45Z</published>
<updated>2025-06-09T05:13:53Z</updated>
<title type="text">reset lastId on DELETE</title>
<link rel="alternate" type="text/html" href="commit/78871f0b0173ad606cd970db1078060f0752107d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">reset lastId on DELETE
</content>
</entry>
<entry>
<id>1e355f87c8906ed23c22a833155f51de9fbf5e6d</id>
<published>2025-06-08T05:51:13Z</published>
<updated>2025-06-09T05:13:53Z</updated>
<title type="text">update deprecated ioutil functions</title>
<link rel="alternate" type="text/html" href="commit/1e355f87c8906ed23c22a833155f51de9fbf5e6d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">update deprecated ioutil functions
</content>
</entry>
<entry>
<id>09793099b4cc716a93929e04e6ca3c6ebadad6a5</id>
<published>2025-06-09T05:13:47Z</published>
<updated>2025-06-09T05:13:47Z</updated>
<title type="text">refactor: rename ok to exists for map access</title>
<link rel="alternate" type="text/html" href="commit/09793099b4cc716a93929e04e6ca3c6ebadad6a5.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor: rename ok to exists for map access
</content>
</entry>
<entry>
<id>fa9177ac57d4a342286006109a3dd3c4070cb1c5</id>
<published>2025-06-07T15:59:12Z</published>
<updated>2025-06-08T22:13:38Z</updated>
<title type="text">perf: exit early if no history in PUT/DELETE</title>
<link rel="alternate" type="text/html" href="commit/fa9177ac57d4a342286006109a3dd3c4070cb1c5.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">perf: exit early if no history in PUT/DELETE
</content>
</entry>
<entry>
<id>b5f02bd0e6629c15873e19abddbe68cdfb90bf82</id>
<published>2025-06-07T15:55:05Z</published>
<updated>2025-06-08T22:13:38Z</updated>
<title type="text">rm passwords</title>
<link rel="alternate" type="text/html" href="commit/b5f02bd0e6629c15873e19abddbe68cdfb90bf82.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm passwords

fixes #2
</content>
</entry>
<entry>
<id>662645fa864b50c949101be777a60b0e39182802</id>
<published>2025-06-05T08:31:52Z</published>
<updated>2025-06-08T22:13:36Z</updated>
<title type="text">include historyRemaining in body instead of header</title>
<link rel="alternate" type="text/html" href="commit/662645fa864b50c949101be777a60b0e39182802.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">include historyRemaining in body instead of header

In JS, CORS requests have limited access to headers
</content>
</entry>
<entry>
<id>947c63f71b306c40ea6ba328401dd88d36985fff</id>
<published>2025-06-05T08:02:18Z</published>
<updated>2025-06-05T08:02:25Z</updated>
<title type="text">return X-Via-History-Remaining on POST requests</title>
<link rel="alternate" type="text/html" href="commit/947c63f71b306c40ea6ba328401dd88d36985fff.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">return X-Via-History-Remaining on POST requests

fixes #1
</content>
</entry>
<entry>
<id>5d4551e662ca97c519d3e3cbdb8c2cae766b26be</id>
<published>2025-06-04T05:05:58Z</published>
<updated>2025-06-04T05:06:10Z</updated>
<title type="text">gofmt</title>
<link rel="alternate" type="text/html" href="commit/5d4551e662ca97c519d3e3cbdb8c2cae766b26be.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">gofmt
</content>
</entry>
<entry>
<id>d5f6909fa5d5d913b417dc8ea92652b552e5f5e0</id>
<published>2024-02-11T17:37:32Z</published>
<updated>2024-02-12T08:57:51Z</updated>
<title type="text">graceful shutdown</title>
<link rel="alternate" type="text/html" href="commit/d5f6909fa5d5d913b417dc8ea92652b552e5f5e0.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">graceful shutdown

- call Shutdown to close connections before exit
- exit with status 0 on shutdown
- call Shutdown in the main thread because it blocks while
  ListenAndServe exits immediately
- Shutdown waits for requests to complete. We pass the signal context to
  the server so it derives the request contexts from that. The
  long-running GET request handler already stop on context cancellation.
- unregister signals before shutdown so that a second Ctrl-C will hard-exit

https://dev.to/mokiat/proper-http-shutdown-in-go-3fji
https://erictse.dev/posts/graceful-go-http-server/
</content>
</entry>
<entry>
<id>420c90d5905eafa8b13303d6b01b82b7b4819c9d</id>
<published>2022-07-21T05:43:13Z</published>
<updated>2022-07-21T05:43:13Z</updated>
<title type="text">rm deployment config</title>
<link rel="alternate" type="text/html" href="commit/420c90d5905eafa8b13303d6b01b82b7b4819c9d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm deployment config

only leave nginx as example
</content>
</entry>
<entry>
<id>55147878c6fcd3a3977e959baf1382b2af004ba5</id>
<published>2021-09-09T11:04:28Z</published>
<updated>2021-09-09T11:04:28Z</updated>
<title type="text">service: make verbose</title>
<link rel="alternate" type="text/html" href="commit/55147878c6fcd3a3977e959baf1382b2af004ba5.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">service: make verbose
</content>
</entry>
<entry>
<id>a5fbfe0af41430e80dc6c6dcb73ba70279758e06</id>
<published>2021-03-22T20:08:28Z</published>
<updated>2021-03-22T20:08:28Z</updated>
<title type="text">avoid passing Lock by value</title>
<link rel="alternate" type="text/html" href="commit/a5fbfe0af41430e80dc6c6dcb73ba70279758e06.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">avoid passing Lock by value
</content>
</entry>
<entry>
<id>80985760eb91605dd57c2d95adaa0a70fe799060</id>
<published>2020-11-19T10:02:52Z</published>
<updated>2020-11-19T10:20:30Z</updated>
<title type="text">implement hmsg DELETE</title>
<link rel="alternate" type="text/html" href="commit/80985760eb91605dd57c2d95adaa0a70fe799060.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">implement hmsg DELETE
</content>
</entry>
<entry>
<id>9831d3f9b359090bfe809d7abcecc81a50104f45</id>
<published>2020-10-17T05:37:55Z</published>
<updated>2020-10-17T05:37:55Z</updated>
<title type="text">refactor topic concurrency</title>
<link rel="alternate" type="text/html" href="commit/9831d3f9b359090bfe809d7abcecc81a50104f45.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor topic concurrency

-	do all the locking in the views
-	use Mutex instead of RWMutex for simplicity
-	avoid goroutines or do the locking inside
-	add channel to topic after sending history
</content>
</entry>
<entry>
<id>967e357eb133873b68e9a83d6b1ad610b426080d</id>
<published>2020-10-15T11:11:29Z</published>
<updated>2020-10-15T11:11:29Z</updated>
<title type="text">nginx: fix allowed headers</title>
<link rel="alternate" type="text/html" href="commit/967e357eb133873b68e9a83d6b1ad610b426080d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">nginx: fix allowed headers
</content>
</entry>
<entry>
<id>dbff2169258b45d3a0f7b7eaf93c2324eec8eae1</id>
<published>2020-10-15T11:09:59Z</published>
<updated>2020-10-15T11:09:59Z</updated>
<title type="text">silence error messages on new history</title>
<link rel="alternate" type="text/html" href="commit/dbff2169258b45d3a0f7b7eaf93c2324eec8eae1.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">silence error messages on new history
</content>
</entry>
<entry>
<id>dc5a3f856c40fb57dfe147e8f9b6999a65ed61d0</id>
<published>2020-10-15T11:06:42Z</published>
<updated>2020-10-15T11:06:42Z</updated>
<title type="text">Merge branch &#39;feature-history&#39;</title>
<link rel="alternate" type="text/html" href="commit/dc5a3f856c40fb57dfe147e8f9b6999a65ed61d0.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Merge branch &#39;feature-history&#39;
</content>
</entry>
<entry>
<id>e35e2b5f0e8572b5fd4856d92e9c50848f0b7fb1</id>
<published>2020-10-15T08:59:28Z</published>
<updated>2020-10-15T11:05:18Z</updated>
<title type="text">adapt README to hmsg</title>
<link rel="alternate" type="text/html" href="commit/e35e2b5f0e8572b5fd4856d92e9c50848f0b7fb1.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">adapt README to hmsg
</content>
</entry>
<entry>
<id>b4a21a15d3c9c3d7c5fd98a8e8802c0d900211b7</id>
<published>2020-10-15T07:56:05Z</published>
<updated>2020-10-15T11:05:18Z</updated>
<title type="text">allow to replace history</title>
<link rel="alternate" type="text/html" href="commit/b4a21a15d3c9c3d7c5fd98a8e8802c0d900211b7.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">allow to replace history
</content>
</entry>
<entry>
<id>dc3496d3be293eaa6c38e448141950c457cb9b06</id>
<published>2020-10-15T07:55:12Z</published>
<updated>2020-10-15T08:57:03Z</updated>
<title type="text">store history in files</title>
<link rel="alternate" type="text/html" href="commit/dc3496d3be293eaa6c38e448141950c457cb9b06.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">store history in files
</content>
</entry>
<entry>
<id>6f19bac953b4b59a64922bb1d69120d822f0fa59</id>
<published>2020-10-15T08:36:59Z</published>
<updated>2020-10-15T08:37:45Z</updated>
<title type="text">refactor: split Topic.post() from post()</title>
<link rel="alternate" type="text/html" href="commit/6f19bac953b4b59a64922bb1d69120d822f0fa59.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor: split Topic.post() from post()
</content>
</entry>
<entry>
<id>b2802e9d85dbcbed3c562b3d5fa15dc91ac8f79b</id>
<published>2020-10-15T08:02:09Z</published>
<updated>2020-10-15T08:34:41Z</updated>
<title type="text">limit number of history entries</title>
<link rel="alternate" type="text/html" href="commit/b2802e9d85dbcbed3c562b3d5fa15dc91ac8f79b.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">limit number of history entries
</content>
</entry>
<entry>
<id>ca8acff929cbfeb65d38833ba4b56cd748e12188</id>
<published>2020-10-15T08:02:58Z</published>
<updated>2020-10-15T08:34:41Z</updated>
<title type="text">replay history on connect</title>
<link rel="alternate" type="text/html" href="commit/ca8acff929cbfeb65d38833ba4b56cd748e12188.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">replay history on connect
</content>
</entry>
<entry>
<id>1c7b58065e33680f5961a1cc38d15cdffaa070c2</id>
<published>2020-10-15T08:01:09Z</published>
<updated>2020-10-15T08:26:58Z</updated>
<title type="text">keep message history</title>
<link rel="alternate" type="text/html" href="commit/1c7b58065e33680f5961a1cc38d15cdffaa070c2.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">keep message history
</content>
</entry>
<entry>
<id>1d389dd00d56a1df2a9e5903173b4def51505fd8</id>
<published>2020-10-15T07:54:29Z</published>
<updated>2020-10-15T08:18:00Z</updated>
<title type="text">mv getStoreagePath to top</title>
<link rel="alternate" type="text/html" href="commit/1d389dd00d56a1df2a9e5903173b4def51505fd8.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">mv getStoreagePath to top
</content>
</entry>
<entry>
<id>d5c79be01cf794d09180b33110aa640a29050e7f</id>
<published>2020-10-15T07:51:02Z</published>
<updated>2020-10-15T08:17:30Z</updated>
<title type="text">Revert &quot;add file storage&quot;</title>
<link rel="alternate" type="text/html" href="commit/d5c79be01cf794d09180b33110aa640a29050e7f.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Revert &quot;add file storage&quot;

This reverts commit 0dd16c8ba2b9370902c655e299e807de0f3eca72.
</content>
</entry>
<entry>
<id>5a2f503637a8702b3c7a24ab8162609cb306ac06</id>
<published>2020-10-15T07:52:09Z</published>
<updated>2020-10-15T08:16:34Z</updated>
<title type="text">add message IDs</title>
<link rel="alternate" type="text/html" href="commit/5a2f503637a8702b3c7a24ab8162609cb306ac06.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add message IDs
</content>
</entry>
<entry>
<id>b864754c1f71fc501d8b105a4cb61b7957100491</id>
<published>2020-07-16T06:37:06Z</published>
<updated>2020-10-14T07:44:37Z</updated>
<title type="text">rm redundant path from log</title>
<link rel="alternate" type="text/html" href="commit/b864754c1f71fc501d8b105a4cb61b7957100491.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm redundant path from log
</content>
</entry>
<entry>
<id>84069757250185aaa5cbf5f6e89ef22260526466</id>
<published>2020-07-16T06:27:08Z</published>
<updated>2020-10-14T07:44:37Z</updated>
<title type="text">strip store prefix in filename</title>
<link rel="alternate" type="text/html" href="commit/84069757250185aaa5cbf5f6e89ef22260526466.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">strip store prefix in filename
</content>
</entry>
<entry>
<id>69e4b6bed62cc4e8355ec2c6e865a9c98124739d</id>
<published>2020-07-16T05:21:51Z</published>
<updated>2020-10-14T07:44:37Z</updated>
<title type="text">fix usage string</title>
<link rel="alternate" type="text/html" href="commit/69e4b6bed62cc4e8355ec2c6e865a9c98124739d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fix usage string
</content>
</entry>
<entry>
<id>20f8b031e14eb84e562eb5f19646dafc79f5f30a</id>
<published>2020-07-16T05:06:43Z</published>
<updated>2020-10-14T07:44:37Z</updated>
<title type="text">rename getPath to getStorePath</title>
<link rel="alternate" type="text/html" href="commit/20f8b031e14eb84e562eb5f19646dafc79f5f30a.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rename getPath to getStorePath
</content>
</entry>
<entry>
<id>09a6046d1514e957a5928d592e29f9d4ffb0a009</id>
<published>2020-05-05T06:16:28Z</published>
<updated>2020-10-14T07:44:37Z</updated>
<title type="text">add cleanup cronjob</title>
<link rel="alternate" type="text/html" href="commit/09a6046d1514e957a5928d592e29f9d4ffb0a009.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add cleanup cronjob
</content>
</entry>
<entry>
<id>799ca602623f5317875f47702e8131ca7768af18</id>
<published>2020-05-05T06:23:03Z</published>
<updated>2020-10-14T07:44:37Z</updated>
<title type="text">adapt description</title>
<link rel="alternate" type="text/html" href="commit/799ca602623f5317875f47702e8131ca7768af18.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">adapt description
</content>
</entry>
<entry>
<id>0dd16c8ba2b9370902c655e299e807de0f3eca72</id>
<published>2020-05-05T04:42:58Z</published>
<updated>2020-10-14T07:44:37Z</updated>
<title type="text">add file storage</title>
<link rel="alternate" type="text/html" href="commit/0dd16c8ba2b9370902c655e299e807de0f3eca72.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add file storage
</content>
</entry>
<entry>
<id>87bca7e07eed9ad5e15f54d9ada65a4aa84a9e69</id>
<published>2020-05-05T04:12:26Z</published>
<updated>2020-05-05T16:54:53Z</updated>
<title type="text">rm host command line arg</title>
<link rel="alternate" type="text/html" href="commit/87bca7e07eed9ad5e15f54d9ada65a4aa84a9e69.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm host command line arg
</content>
</entry>
<entry>
<id>4f0e2f4644cca27d5f3758d6adc139325bf02dd9</id>
<published>2020-05-05T04:12:07Z</published>
<updated>2020-05-05T16:54:53Z</updated>
<title type="text">rm blocking get</title>
<link rel="alternate" type="text/html" href="commit/4f0e2f4644cca27d5f3758d6adc139325bf02dd9.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm blocking get
</content>
</entry>
<entry>
<id>48b6f24e8ce3c4aca10381eb3f99183223cf0520</id>
<published>2020-05-05T16:54:09Z</published>
<updated>2020-05-05T16:54:35Z</updated>
<title type="text">sse: write first ping immediately</title>
<link rel="alternate" type="text/html" href="commit/48b6f24e8ce3c4aca10381eb3f99183223cf0520.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">sse: write first ping immediately
</content>
</entry>
<entry>
<id>13277d0748a571511aca07ead602a59f7d07ca22</id>
<published>2020-05-04T17:10:11Z</published>
<updated>2020-05-04T17:52:16Z</updated>
<title type="text">fix CORS</title>
<link rel="alternate" type="text/html" href="commit/13277d0748a571511aca07ead602a59f7d07ca22.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fix CORS
</content>
</entry>
<entry>
<id>b4fa74bc211f1bf11d67a5e0620841eeeec1a546</id>
<published>2020-05-04T17:09:54Z</published>
<updated>2020-05-04T17:51:16Z</updated>
<title type="text">rm rate limiting as it does more harm than good</title>
<link rel="alternate" type="text/html" href="commit/b4fa74bc211f1bf11d67a5e0620841eeeec1a546.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm rate limiting as it does more harm than good
</content>
</entry>
<entry>
<id>f17e1298e4d8d887d6803b17b676979bd3581170</id>
<published>2020-04-08T19:44:11Z</published>
<updated>2020-04-08T19:44:11Z</updated>
<title type="text">SSE: send comment every 15s</title>
<link rel="alternate" type="text/html" href="commit/f17e1298e4d8d887d6803b17b676979bd3581170.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">SSE: send comment every 15s

as mentioned in the spec

https://html.spec.whatwg.org/multipage/server-sent-events.html#authoring-notes
</content>
</entry>
<entry>
<id>00b93f62d86e92cce13b3fd4e79c513b46ead4b6</id>
<published>2020-04-08T19:43:33Z</published>
<updated>2020-04-08T19:43:33Z</updated>
<title type="text">set header to prevent proxy buffering</title>
<link rel="alternate" type="text/html" href="commit/00b93f62d86e92cce13b3fd4e79c513b46ead4b6.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">set header to prevent proxy buffering
</content>
</entry>
<entry>
<id>ae7ef8e10dd25f1e6cf371065e7990a70e988127</id>
<published>2020-04-04T06:44:35Z</published>
<updated>2020-04-04T06:57:12Z</updated>
<title type="text">add README</title>
<link rel="alternate" type="text/html" href="commit/ae7ef8e10dd25f1e6cf371065e7990a70e988127.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add README
</content>
</entry>
<entry>
<id>2412152cb1d4407451eeea34a1b941908db07ff5</id>
<published>2020-04-04T06:45:13Z</published>
<updated>2020-04-04T06:56:23Z</updated>
<title type="text">Create LICENSE</title>
<link rel="alternate" type="text/html" href="commit/2412152cb1d4407451eeea34a1b941908db07ff5.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Create LICENSE</content>
</entry>
<entry>
<id>66a89cc62608a4a51a36186f362cf5ef168ed011</id>
<published>2020-04-04T06:12:20Z</published>
<updated>2020-04-04T06:56:22Z</updated>
<title type="text">add example nginx config</title>
<link rel="alternate" type="text/html" href="commit/66a89cc62608a4a51a36186f362cf5ef168ed011.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add example nginx config
</content>
</entry>
<entry>
<id>f7ff264cfd63eb7ab5153fc852ae3e836faffe4d</id>
<published>2020-03-25T20:37:52Z</published>
<updated>2020-04-04T06:55:40Z</updated>
<title type="text">optimize binary to make lintian happy</title>
<link rel="alternate" type="text/html" href="commit/f7ff264cfd63eb7ab5153fc852ae3e836faffe4d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">optimize binary to make lintian happy
</content>
</entry>
<entry>
<id>c05bbeac4fd6ec39a1775ba3f29a90443fc03b30</id>
<published>2020-03-25T06:06:31Z</published>
<updated>2020-04-04T06:55:26Z</updated>
<title type="text">fix sse: send 403 before 200</title>
<link rel="alternate" type="text/html" href="commit/c05bbeac4fd6ec39a1775ba3f29a90443fc03b30.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fix sse: send 403 before 200
</content>
</entry>
<entry>
<id>ded4e29c0330c19b830a486214f44ba4cd5a6f8b</id>
<published>2020-03-25T06:02:17Z</published>
<updated>2020-04-04T06:55:26Z</updated>
<title type="text">fix pop channel on blocking GET</title>
<link rel="alternate" type="text/html" href="commit/ded4e29c0330c19b830a486214f44ba4cd5a6f8b.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fix pop channel on blocking GET
</content>
</entry>
<entry>
<id>ac6969d08c49badbaf11b79ace55143021d1e252</id>
<published>2020-03-25T05:51:54Z</published>
<updated>2020-04-04T06:55:26Z</updated>
<title type="text">403 on post with password</title>
<link rel="alternate" type="text/html" href="commit/ac6969d08c49badbaf11b79ace55143021d1e252.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">403 on post with password
</content>
</entry>
<entry>
<id>94e1a637be3c72733884019216e4a95cfde54308</id>
<published>2020-03-25T05:43:47Z</published>
<updated>2020-04-04T06:55:26Z</updated>
<title type="text">reduce ping frequency</title>
<link rel="alternate" type="text/html" href="commit/94e1a637be3c72733884019216e4a95cfde54308.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">reduce ping frequency
</content>
</entry>
<entry>
<id>324d95575c6a54d4aebd07bb4409158be08d5ba5</id>
<published>2020-03-25T05:40:16Z</published>
<updated>2020-04-04T06:55:26Z</updated>
<title type="text">allow to set a password on topics</title>
<link rel="alternate" type="text/html" href="commit/324d95575c6a54d4aebd07bb4409158be08d5ba5.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">allow to set a password on topics
</content>
</entry>
<entry>
<id>5e9a49518602130a829eb5ad0dc30d3081c763fa</id>
<published>2020-03-25T05:36:35Z</published>
<updated>2020-04-04T06:55:26Z</updated>
<title type="text">refactor: rm getTopic</title>
<link rel="alternate" type="text/html" href="commit/5e9a49518602130a829eb5ad0dc30d3081c763fa.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor: rm getTopic

because we actually want different things to happen
</content>
</entry>
<entry>
<id>377b516fa93e782ebcf990418c6ff3a1a632744e</id>
<published>2020-03-22T20:14:04Z</published>
<updated>2020-04-04T06:55:10Z</updated>
<title type="text">add some packaging</title>
<link rel="alternate" type="text/html" href="commit/377b516fa93e782ebcf990418c6ff3a1a632744e.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add some packaging
</content>
</entry>
</feed>
