about summary refs log tree commit diff
path: root/src/database/file/mod.rs
Commit message (Collapse)AuthorAgeFilesLines
* WIP: convert to Tokio and WarpVika2022-02-151-26/+25
| | | | | | | | | | | Warp allows requests to be applied as "filters", allowing to flexibly split up logic and have it work in a functional style, similar to pipes. Tokio is just an alternative runtime. I thought that maybe switching runtimes and refactoring the code might allow me to fish out that pesky bug with the whole application hanging after a certain amount of requests...
* FileBackend: introduce timeouts on operationsVika2021-12-311-34/+51
| | | | | | This is to prevent spinning in a loop waiting for a lock. This hangs often, though I suspect this should have been fixed in the previous commit.
* FileBackend: don't transfer locks over async boundariesVika2021-12-311-169/+188
| | | | | | | This may or may not be the cause for the app hanging while waiting for a lock. Now the operations with locks are never performed over an async boundary, excluding any shenanigans that can happen when accidentally leaving a file locked over async boundaries.
* Make rustfmt and clippy happyVika2021-12-061-11/+13
|
* Added support for IndieAuth client sign inVika2021-12-061-1/+1
| | | | | | | This will allow readers to view private posts intended just for them. Additionally fixed bugs in patterns due to which webmentions might not have been sent.
* Code cleanup and small bugfixing in templatesVika2021-12-051-49/+102
|
* Added author mini-cards on h-entriesVika2021-12-051-37/+69
|
* frontend: Added listing feeds to the header barVika2021-12-051-3/+3
|
* Deprecated Redis backend and added a database migration tool (untested, beware)Vika2021-10-271-1/+1
|
* Modified the module to use BACKEND_URIVika2021-09-281-0/+2
|
* Code cleanup and Cargo.lock updatesVika2021-09-271-2/+3
|
* Fix a bug in the error middlewareVika2021-09-271-0/+1
| | | | | | When an error is found, the site name passed to Storage::get_setting in the error handler is incorrect. The ASCII serialisation of the hostname should get used.
* Implemented support for channelsVika2021-09-271-3/+114
|
* Implemented FileStorage::delete_postVika2021-09-271-1/+4
|
* Finally figured out how to read without a BufReaderVika2021-09-271-14/+6
| | | | | BufReader was really unneccesary here, since I was batch-reading all of this in one go.
* Improved symlink creationVika2021-09-271-5/+78
| | | | | | Now symlink creation works on Windows and creates links relative to the posts, allowing for seamless migrations of the backing directory for true portability and no data lock-in.
* Implemented FileStorage::get_setting and FileStorage::set_settingVika2021-09-271-2/+53
|
* Added file updates and fixed a bug with truncated JSON filesVika2021-09-261-3/+100
| | | | | | | | | | | There was a bug where `File::write()` would not write the entire buffer, and this condition was left unchecked by the code. All `File::write()` calls are now replaced with `File::write_all()` which ensures the whole buffer is written to the backing file. Additionally added a smoke check for the file updates. It is in no way comprehensive nor it is able to catch all the possible failures but it's a good way of testing the functionality without way too much hassle.
* Added a WIP file backendVika2021-08-151-0/+173
Currently unavailable for use and only has basic GET and POST operations implemented. A lot more work is needed to make it truly usable. Locking is implemented using flock() system call on Linux.