7a8f7dc415
Add import_opml job
2024-09-22 14:43:51 -04:00
e41085425a
Upgrade apalis, add fred pool to state, start publishing in jobs
2024-09-22 13:49:24 -04:00
6912ef9017
Add crawl_entry job
2024-08-27 21:54:14 -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
9c75a88c69
Start of a crawl_feed job
2024-08-25 22:24:02 -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
4a5d514cc7
Make stdout logging pretty
2024-05-11 16:43:22 -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
2fab68241e
Add last/next crawl times to feeds, improve local time rendering
2024-02-01 00:13:09 -05:00
457aafbfe3
Fix opml import form
2024-01-31 22:32:54 -05:00
2e5ff1337c
Fix crawl_feed_interval_minutes update logic
...
Was just going down to minimum for all feeds that weren't updating. I need to use the current timestamp if there is no new entry.
2024-01-31 22:25:05 -05:00
4eee21caed
Switch to tailwind for css styling
...
Could use more partials to reduce some of the current repetition (especially forms), but this is a start with everything converted.
2024-01-07 19:45:20 -05: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
6c23b3aaa3
Cleanup the other auth forms
...
Somewhat kinda progressively enhanced, but at least I'm using page partials now... mostly.
2023-12-19 01:33:19 -05:00
7abffb2729
Progressively enhanced register form
...
Thanks copilot for all the shit I didn't have to write.
2023-12-18 22:31:33 -05:00
5881412b59
Login & add feed form progressive enhancement
2023-12-16 01:03:04 -05:00
ea4784ff07
Fix login and add feed form
...
Add feed form still WIP
2023-11-12 18:40:05 -05:00
8feb2ec10e
Prevent decoding empty uuid strings
2023-10-17 01:09:17 -04:00
5f9d64f2d9
Prevent Base62Uuid decoding from panicing
...
An extra long encoded uuid could crash the server, now it's handled as
an error.
2023-10-17 00:59:01 -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
835e9dc748
Do reset password operations in db transaction
...
And modify signature of model methods to accept an executor instead of a
pool connection which will also allow transactions.
2023-10-13 14:44:40 +02:00
60671d5865
Complete reset password flow
2023-10-13 14:07:38 +02:00
d5c5185351
Fix sessions persisting across server restart
...
Need a non-random session secret.
2023-10-07 00:54:15 -04:00
609f6d3d9f
Fixes to email verification process
...
Also make registration form progressively enhanced.
2023-10-06 17:50:08 -04:00
e59c6d596e
Finish up email verification form
2023-09-29 23:48:37 -04:00
c95334a7e2
Email verification form submit
2023-09-29 20:56:43 -04: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
a72bfa15bd
Use HX-Target, not HX-Boost for Layout render
...
HX-Boost is not always sent in all AJAX requests that htmx sends, only
those initiated by an element with hx-boost enabled. It was not showing
up on requests following an HX-Redirect response.
After reading the docs more, I realized HX-Target was what I wanted. If
I can see that the request is targeting `#main-content` then I know to
only return HTML inside that element. Simple.
2023-09-27 01:28:53 -04:00
bea3529e22
Rename signup to register and center forms
2023-09-27 00:23:28 -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
81b4ef860e
Fix login/signup redirection
...
HTMX needs special treatment for redirects on submit.
2023-09-26 01:48:05 -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
0607b46283
Add a footer
2023-09-01 20:13:44 -04:00
e50e165b87
Remove dbg! statements
2023-09-01 19:59:56 -04:00
1d6f98c6bb
Replace hotwire with htmx
...
In the process, also improve the feedback from the import/add feed
forms.
I also replaced the frontend code to replace utc timestamps with local
time strings with @hotwired/stimulus with vanilla js.
2023-09-01 00:25:05 -04:00
ff0b218da1
Adjust entry html/css
2023-08-29 23:36:05 -04:00
69ed8aa8bb
Use ceil in calculating crawl_interval
...
So that it can increase from 1 minute.
2023-08-29 23:32:05 -04:00
276f0e17a8
Remove self from Crawls and Imports in actors at end of task
...
In case the user never listens to the stream so that I do not create
inifinitely growing hashmaps in the server memory.
2023-08-29 23:30:00 -04:00
ceac234ce7
Sanitize entry html content with ammonia
2023-08-29 23:04:35 -04:00
2f39be4152
Finish implemtning OPML importer
...
Now with progress messages!
2023-08-29 00:35:19 -04:00
eddf39b62e
Added importer actor, file upload still not working
2023-07-22 22:54:57 -04:00
e6a37703be
Use tokio::sync::mutex for Crawls
2023-07-19 23:03:35 -04:00
d17f909312
Add CrawlScheduler actor, shared client w/ last modified headers
2023-07-15 21:40:31 -04:00
ea67690d1d
Start feed crawlers at startup
2023-07-15 02:30:25 -04:00
0dfde7cd31
Begin adding pagination for feeds
2023-07-15 02:12:59 -04:00