Commit Graph

39 Commits

Author SHA1 Message Date
3d5c0b78c3 Upgrade apalis, add fred pool to state, start publishing in jobs 2024-09-22 13:44:55 -04:00
65eac1975c Move feed fetching to crawl_feed job, DomainRequestLimiter
`DomainRequestLimiter` is a distributed version of `DomainLocks` based
on redis.
2024-08-26 01:12:18 -04:00
a3450e202a Working apalis cron and worker with 0.6.0-rc.5
Also renamed `pool` variables throughout codebase to `db` for clarity.
2024-08-21 01:21:45 -04:00
764d3f23b8 WIP add apalis & split up main process 2024-07-27 13:55:08 -04:00
3f97c0e2ca Upgrade packages and make sessions more secure
Sign session cookies with base64 encoded secret from .env
2024-05-09 00:45:46 -04:00
89f37279e5 Package updates & don't load livereload snippet on hx-requests 2024-01-03 00:07:41 -05:00
c9a631a1f2 Update all packages, switch to tower-sessions 2023-12-20 00:42:13 -05:00
4b729de5fe Install sqlx-cli in deploy.yml 2023-10-19 23:32:02 -04:00
f8a717d92f Prepare sqlx queries and add content dir 2023-10-19 23:26:10 -04:00
7f86612899 Switch to async-fred-session, default config vals
Fixup some issues in README too
2023-10-17 00:15:44 -04:00
60671d5865 Complete reset password flow 2023-10-13 14:07:38 +02:00
cdc8eb9b02 Basic email verification done
Still need to add forms to confirmation page to allow resending and add
rate limiting.
2023-09-28 23:53:46 -04:00
f938a6b46b WIP email sending for registration 2023-09-27 23:11:52 -04:00
092a38ad52 Add hx-boosted support to Layout
It will now skip rendering the layout if the request is coming from an
hx-boosted link or form and only update the head title with a
hx-swap-oob.
2023-09-26 23:36:31 -04:00
6fd2f150a0 Store sessions in redis 2023-09-26 01:47:50 -04:00
306059c355 Add basic user auth 2023-09-25 01:38:18 -04:00
ec394fc170 Implement entry and feed pagination 2023-09-02 14:01:18 -04:00
ceac234ce7 Sanitize entry html content with ammonia 2023-08-29 23:04:35 -04:00
eddf39b62e Added importer actor, file upload still not working 2023-07-22 22:54:57 -04:00
02d5cb9976 Remove article_scraper crate 2023-07-15 02:31:45 -04:00
b7efc61cfc Add EntryCrawler that uses readability lib
Actors delegating to actors baybeeee
2023-07-11 01:52:38 -04:00
f13c7e5e70 Add an async actor FeedCrawler for fetching feed details
Currently, this allows the browser to subscribe to the response of the
asynchronous crawl after they add a new feed.

Eventually I will also use this in the main scheduled crawls. Right now,
it only upserts feed metadata based on the parsed feed.
2023-07-09 21:30:23 -04:00
478e72d8f0 Add feed form 2023-07-08 01:05:49 -04:00
7289151318 Upgrade sqlx to 0.7 + some tweaks 2023-07-05 21:14:31 -04:00
7e06d23bba Replace argh with clap
Mostly for the more concise Config parsing and error handling.
2023-06-27 14:03:52 -04:00
abd540d2ff Better database layout with uuid primary keys
Serialize and deserialize the uuid ids as base62 strings in the URLs.
2023-06-27 14:03:52 -04:00
4e41bbd6e1 Add domain to entry list 2023-06-27 14:03:52 -04:00
97c4ae73f0 Add static file server, CSS styles for home
Also fix the livereloading.
2023-06-09 01:06:19 -04:00
3f29138bd1 Fetch and save entry HTML content with metadata
And render the extracted HTML on the entry page in the frontend.
2023-06-07 01:06:03 -04:00
786f3a194f Streaming log page with colors
Using the ansi-to-html crate.
2023-06-06 21:14:29 -04:00
6713a7a440 Complete log stream implementation
Sets up a watch channel to send tracing lines from tracing-subscriber to
receivers in a axum handler which streams Server Sent Events to any
number of connected /log/stream clients.
2023-06-03 19:03:58 -04:00
951d6d23e2 Add /log page that displays server log
This will eventually be behind an authorization guard so that only I
have access, but it's useful to have for monitoring and testing out
turbo streams.
2023-06-03 01:09:25 -04:00
74f353b894 Add (semi) live reloading for debug server 2023-06-01 00:59:46 -04:00
1698ef9c60 Add maud for frontend and move api to sub module 2023-06-01 00:03:00 -04:00
6f364b4c44 Rename to crawlnicle 2023-05-10 00:00:48 -04:00
ae8f15f19b Add very basic crawl job
Loops through feeds and adds items from each feed.
2023-05-09 23:55:42 -04:00
89fdf8f95a Create cli binary
Just has `add-feed` command so far.
2023-05-09 00:08:55 -04:00
de157a3b1e Improve error handling 2023-05-07 18:20:19 -04:00
c2c0f7a28d Initial commit with basic axum and sqlx API 2023-05-07 17:41:45 -04:00