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
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
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
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
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
0dfde7cd31
Begin adding pagination for feeds
2023-07-15 02:12:59 -04:00
4837cbb903
Add crawl metadata to feed & improve model interface
2023-07-15 00:40:10 -04:00
923776d7a1
Add DomainLocks to serialize requests to each domain
...
All async tasks must wait 1 second since the last request to make
another to the same domain.
2023-07-14 00:55:35 -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
b94555d346
Delete feed button
...
And a non-functional edit button
2023-07-08 01:52:15 -04:00
478e72d8f0
Add feed form
2023-07-08 01:05:49 -04:00
f69d0f2752
Improve feed list and add feed page
2023-07-07 16:03:59 -04:00
3f028c3088
Store entry html content outside DB in file storage
...
Since the HTML content can get quite big and can have embeded images.
2023-07-05 23:45:49 -04:00
76cc87631f
Add frontend JS and improve post styling
...
Frontend is built with Bun. It uses Stimulus to progressively enhance
the server-built HTML. Currently, it only replaces UTC timestamps from
the server with the time in the browser's timezone.
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
758e644173
Add published_at to entries, begin to support pagination
...
Articles will be sorted by their published_at dates for now.
2023-06-08 01:20:21 -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
ea236dff4e
Add rudimentary entry page, fix main frame link navigation
2023-06-02 00:31:25 -04:00
a67ffbbbed
Add layout and feeds page, add hotwire
2023-06-01 22:48:09 -04:00
e501c15c66
Add header partial
2023-06-01 00:59:39 -04:00
1698ef9c60
Add maud for frontend and move api to sub module
2023-06-01 00:03:00 -04:00
bf40b803a9
Rename item to entry
2023-05-17 23:10:09 -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
b2a5bf5882
Add feed model, link items to feeds
2023-05-07 21:25:22 -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