Commit graph

104 commits

Author SHA1 Message Date
346c27fc3f
refactor(gpodder): add authenticated view of repository 2025-06-20 10:43:46 +02:00
0e91eef0e8
docs: write small homepage 2025-06-20 10:03:49 +02:00
4735bc3f13
chore: add docs publish command 2025-06-19 14:53:40 +02:00
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