5e653407f2
chore(docs): set up initial Hugo scaffolding
2025-06-18 12:17:49 +02:00
dd418c872a
fix(server): serve Content-Type headers with static files
2025-06-17 15:02:46 +02:00
32a4a88548
chore: bump versions
2025-06-17 14:07:24 +02:00
b16c9a0404
fix(gpodder_sqlite): correct imports in tests
2025-06-17 14:01:11 +02:00
7887477ed1
feat(web): don't show remove button for current session
2025-06-17 13:51:13 +02:00
21b3450aeb
feat(server): add working remove buttons to session page
2025-06-17 13:33:16 +02:00
a57e301d16
feat(server): implement infinite scroll table for sessions page
...
A query type is introduced along with the ToQuery trait to convert types
into queries. A query can then be properly formatted as a URL query
parameter string, allowing us to pass arbitrary safely typed query
parameters to the Tera templates. This is then used by HTMX to request
the next page of content once the last row of a table is visible.
2025-06-17 11:09:18 +02:00
68b2b1beb4
chore: format code
2025-06-17 09:53:50 +02:00
e8e0c94937
feat(server): partial implementation of session page pagination
2025-06-17 09:52:47 +02:00
32d70daab2
feat(otter): added sessions page template
2025-06-15 15:30:02 +02:00
7de4897364
refactor(gpodder): rename store trait
2025-06-15 14:31:36 +02:00
fc46c4874a
fix(web): refresh navbar on login and logout
2025-06-08 12:50:23 +02:00
957387bed7
feat(web): add logout button
2025-06-07 10:20:49 +02:00
b04955d70e
chore: update changelog
2025-06-06 13:53:18 +02:00
82d914ebbb
chore: fix static release binaries using zigbuild
2025-06-06 13:48:45 +02:00
275d249320
chore: update to edition 2024; update packages; rename some stuff
2025-06-06 12:50:30 +02:00
82e52bc8f9
feat(server): add basic cli error handling to avoid unwraps
2025-04-16 11:03:36 +02:00
be04d0c7fe
feat(server): add unix socket support
2025-04-16 10:37:58 +02:00
dca4d2d1ec
refactor(server): lay groundwork for unix socket configuration
2025-04-16 10:37:58 +02:00
7abce21aee
refactor: move server to own package; set up workspace dependencies
2025-04-05 10:19:19 +02:00
279983c64c
chore: remove all compiler and clippy warnings
2025-04-05 09:23:52 +02:00
f3ede6f9a6
test(gpodder_sqlite): update tests so they work again
2025-04-05 09:06:05 +02:00
974ca80298
chore: listen to clippy
2025-03-31 20:13:18 +02:00
823133c034
feat(gpodder): add paginated sessions function
2025-03-31 14:29:58 +02:00
bf132f93dc
feat: move web routes to /
2025-03-30 16:58:01 +02:00
82ccad196c
feat: add login page
2025-03-30 10:37:21 +02:00
3071685950
feat: add separate auth middleware for web routes
2025-03-30 09:50:55 +02:00
b3e49be299
feat: bootstrap htmx templating system
2025-03-29 21:26:06 +01:00
ad015b47e4
feat: embed htmx and picocss as static routes
2025-03-29 18:02:45 +01:00
2c44f788d9
feat: store user agent with sessions
2025-03-29 15:37:50 +01:00
5112a6ce35
feat(otter): add log level cli config
2025-03-29 14:43:35 +01:00
5f57d85584
feat(gpodder_sqlite): switch to on-disk sqlite for tests and benches
2025-03-20 19:19:54 +01:00
d329a0e61c
feat(gpodder_sqlite): added benchmarking support
2025-03-19 21:52:17 +01:00
73988d6264
test(gpodder_sqlite): start device tests
2025-03-19 15:00:00 +01:00
22016fe0e9
fix(gpodder_sqlite): force in-memory database to consist of only one connection
2025-03-19 14:58:04 +01:00
fe8939c07e
test(gpodder_sqlite): add remove old sessions test
2025-03-19 13:22:58 +01:00
5f06e0847f
test(gpodder_sqlite): added some tests for AuthStore
2025-03-19 11:01:37 +01:00
0bb0c5657a
docs(gpodder): document session last_seen timestamp's precision should be at least to the second
2025-03-19 10:55:20 +01:00
705b347775
feat(gpodder_sqlite): set up testing
2025-03-19 10:47:07 +01:00
b44a47fefd
feat(gpodder): add create_user method to AuthStore
2025-03-19 10:46:34 +01:00
2a8917f21d
refactor: split up gpodder module files
2025-03-19 09:05:41 +01:00
0cfcd90eba
refactor: split gpodder repository and the sqlite data store implementation into separate crates
...
The complete separation of concerns via the gpodder repository allows us
to cleanly separate the server from the gpodder specification. This
paves the way for a later Postgres implementation of the data store.
2025-03-19 08:54:49 +01:00
86687a7b96
chore: update changelog and readme
2025-03-17 11:33:11 +01:00
f4008e4b9c
feat: started rudimentary gpo cli tool to manually sync devices
2025-03-17 11:31:58 +01:00
0e543539cf
feat: implemented sync device API routes
2025-03-17 11:15:56 +01:00
f42c708cc6
feat: implemented sync status update function in repository
2025-03-17 10:27:30 +01:00
efe08771b1
feat: implement synchronize sync group in sqlite repository
2025-03-17 10:14:13 +01:00
cac80ca3e4
feat: modify entire sync group when updating subscriptions
2025-03-17 09:25:20 +01:00
025a69ea71
fix: use correct table name for sync_group
2025-03-16 22:32:28 +01:00
158910a61f
feat: implement sync group merge, unsync and devices by sync group
2025-03-16 21:42:11 +01:00