1305cf490a
Create deploy.yml for deploying via Github actions
2023-10-19 22:53:09 -04: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
8d1bffc899
Update bun types
2023-09-27 22:41:10 -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
a8742c882e
Install htmx via bun instead of unpkg CDN
2023-09-01 19:59:56 -04:00
e50e165b87
Remove dbg! statements
2023-09-01 19:59:56 -04:00
21cae62714
Add bun to prereqs in README.md
2023-09-01 01:23:52 -04:00
ac12ca0fd9
Add eslint and prettier to frontend
...
And format files
2023-09-01 01:05:06 -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
02d5cb9976
Remove article_scraper crate
2023-07-15 02:31:45 -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
ae95921966
Update feed last_crawl_error & crawl_interval_minutes
2023-07-15 01:30:45 -04:00
4837cbb903
Add crawl metadata to feed & improve model interface
2023-07-15 00:40:10 -04:00
0fa0cfc508
Only crawl new entries
2023-07-14 21:27:23 -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
8f4db1d8d9
Button padding tweak
2023-07-08 01:58:33 -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
7289151318
Upgrade sqlx to 0.7 + some tweaks
2023-07-05 21:14:31 -04:00
5169fac218
Reload frontend changes faster in dev mode
...
Now frontend changes appear as fast as Bun can bundle them instead of
needing to wait for rust to compile too.
2023-07-05 20:05:03 -04:00