about summary refs log tree commit diff
path: root/src/database
Commit message (Collapse)AuthorAgeFilesLines
* Restored most of the functionality (except onboarding and some queries)Vika2022-03-062-13/+20
|
* database: code cleanupVika2022-03-022-26/+58
|
* database/memory: restore, it is useful in test scenariosVika2022-02-212-0/+198
|
* database: code cleanupVika2022-02-212-48/+29
|
* database/file: use Authority instead of origin for directoriesVika2022-02-211-4/+4
|
* WIP: convert to Tokio and WarpVika2022-02-152-58/+31
| | | | | | | | | | | 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.
* Add protected locations that are visible only to logged-in usersVika2021-12-071-1/+3
|
* 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-052-70/+139
|
* Added author mini-cards on h-entriesVika2021-12-051-37/+69
|
* frontend: Added listing feeds to the header barVika2021-12-052-10/+6
|
* Get rid of the unsafe codeVika2021-12-021-7/+4
| | | | | | Thanks to @Kloenk I was able to get rid of the unsafety and tell the compiler how to properly check what I needed for the StorageError to be declared thread-safe.
* Deprecated Redis backend and added a database migration tool (untested, beware)Vika2021-10-273-20/+50
|
* Modified the module to use BACKEND_URIVika2021-09-281-0/+2
|
* Code cleanup and Cargo.lock updatesVika2021-09-272-4/+6
|
* 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-273-65/+172
|
* 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
|
* Moved integration tests and allowed the binary to use file backendVika2021-09-261-0/+6
| | | | | | Now the Redis dependencies are optional and only required if you want to test the backend or actually use it in production. The app displays a hint if you try to launch with an unsupported backend.
* Added file updates and fixed a bug with truncated JSON filesVika2021-09-262-3/+154
| | | | | | | | | | | 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-152-30/+210
| | | | | | | 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.
* Improved Redis module code qualityVika2021-08-151-13/+10
|
* Shortened a connection timeout and installed a lifetime limit for connectionVika2021-08-061-1/+4
|
* Trying to mitigate and log more about the HTTP 500sVika2021-08-051-10/+12
|
* Fixed a VERY WRONG way to handle stream errorsVika2021-08-042-31/+25
| | | | | | for future reference: stream operations returning Result satisfy conditions for the futures::stream::TryStreamExt trait, allowing you to use `TryStreamExt::try_collect::<T>()` and receive a Result<T>.
* Appease rustfmt, clippy and cargo checkVika2021-07-291-2/+8
|
* Relaxed anti-takeover URL check to simply not place redirects at foreign URLsVika Shleina2021-07-192-5/+5
|
* Make rustfmt happy again after Clippy editsVika2021-05-181-4/+1
|
* Make clippy happyVika2021-05-171-12/+8
|
* Make rustfmt happyVika2021-05-172-127/+316
|
* Added setting store per-userVika2021-05-172-0/+28
|
* Update CI configuration and GitLab WebIDE settingsVika2021-05-171-1/+1
|
* Added a note to future selfVika2021-05-051-0/+7
|
* Refactored the Redis instance spawning in tests to automatically kill RedisVika2021-05-052-13/+28
|
* Removed the in-memory database, it's dragging me downVika2021-05-052-203/+0
|
* Moved the Redis spawner to the Redis module where it belongs, refactored ↵Vika2021-05-052-42/+49
| | | | tests to use the Redis database instead of a fake one
* Added a connection pool to the RedisDatabaseVika2021-05-051-17/+27
|
* Refactored error handling in RedisStorage using the ? operatorVika2021-05-051-184/+124
|
* Made some StorageError fields private and added getters insteadVika2021-05-051-2/+5
|
* Clippy lintsVika2021-05-042-22/+16
|
* Made StorageErrors directly convertible into Micropub JSON responsesVika2021-05-041-0/+16
|
* Fixed Redis testsVika2021-05-042-4/+6
|
* Implemented MemoryStorage::update_post()Vika2021-05-042-1/+84
|
* Refactored the database module and its testsVika2021-05-044-0/+767