Compare commits

..

4 commits

Author SHA1 Message Date
68996acd54 update TODOs (again) 2023-05-04 11:55:43 +02:00
768c8c60b8 update TODOs 2023-05-04 10:47:08 +02:00
5002f11bf3 update readme 2023-05-03 22:42:56 +02:00
808ffd4964 fix some warnings 2023-03-10 08:39:24 +01:00
3 changed files with 56 additions and 76 deletions

View file

@ -67,80 +67,6 @@ Add the repository to your inputs.
} }
``` ```
## Roadmap
This is only a rough time guide for what to get done by which version, nothing fixed.
### v2.0
- [x] Removed light mode
- [x] Rebrand
- [x] New name and logo
- [x] New README
- [x] New theme
- [x] Distribution on crates.io
- [x] Distribution on Docker hub
- [x] Image embedding in pasta page
- [x] Custom names file
- [x] Click logo/name to get to root
### v2.1
- [ ] Installation guides
- [x] nix flake
- [ ] Copying embed urls more easily (some button for that)
- [ ] Api for requesting customized url info
- [ ] Config file support
- [ ] Markdown pastas
### v2.2
- [ ] Proper docs
- [ ] Improved rustdoc
- [ ] Non-web client library
- [ ] CLI client
- [ ] Easier customization of instance names and logos
- [ ] Easier basic themeing
- [ ] Colors
- [ ] Corner rounding
### v2.3
- [ ] Encrypted pastas
### v3.0
- [ ] Deprecate JSON db, replace with SQLite
- [ ] Rework internal data structures
- [ ] Map custom keys to ids
- [ ] Make hash ids, names and custom keys usable at once
- [ ] Users
- [ ] Reporting pastas
- [ ] Admin panel
- [ ] Improve remove api
- [ ] Status/health/info improvements
- [ ] Storage thats left
- [ ] Db status
- [ ] Pastas on the instance
- [ ] Users
- [ ] Errors
### future
- [ ] Federation
- [ ] Requesting pastas from other instances
- [ ] When cli is complete, set default instance to route requests over
- [ ] Fine grained permissions
- [ ] Postgresql db support
- [ ] Pasta comments?
### not related to features, therefor not versioned
- [ ] Official central instance
- [ ] Donation setup?
- [ ] Distribution on nixpkgs
- [ ] Website
## Contact ## Contact
This fork of MicroBin was created by [Schrottkatze](https://schrottkatze.de). This fork of MicroBin was created by [Schrottkatze](https://schrottkatze.de).

54
TODO.md Normal file
View file

@ -0,0 +1,54 @@
# TODO lists
these are just rough guides tho
## v2.1
- [ ] customizable endpoints
- [ ] create
- [ ] edit
- [ ] info
- [ ] get pastas
- [ ] remove
- [ ] improve remove endpoint
- [ ] disable it
- [ ] client library
- [ ] request .well-known data
- [ ] support most endpoints
- [ ] karton cli
## v3.0
- [ ] internal rewrite & docs
- [ ] design new frontend
- [ ] switch to yew
- [ ] using client lib
- [ ] theme and general config files
- [ ] unified theme format
- [ ] no env configs anymore if possible
- [ ] proper dbs
- [ ] sqlite
- [ ] postgres
- [ ] apis/endpoints
- [ ] IDs, name IDs AND user/pastaname
- [ ] root (and admin) user for root level pastas
- [ ] status/instance health admin dashboard and ap
- [ ] storage
- [ ] db status
- [ ] how up to date
- [ ] stats (users etc)
- [ ] errors
- [ ] loading speeds, performance monitor?
- [ ] memory use
- [ ] auth
- [ ] general auth
- [ ] oidc
- [ ] permssion system & api keys
- [ ] only allow some other users to open pasta
- [ ] access control and editing
- [ ] password protected pastas too
- [ ] features for pastas
- [ ] pw protection
- [ ] better editor
- [ ] markdown pastas
- [ ] optional, opt-in commenting

View file

@ -6,7 +6,7 @@ use crate::util::pasta_id_converter::CONVERTER;
use crate::{AppState, Pasta, ARGS}; use crate::{AppState, Pasta, ARGS};
use actix_multipart::Multipart; use actix_multipart::Multipart;
use actix_web::http::StatusCode; use actix_web::http::StatusCode;
use actix_web::web::{Bytes, BytesMut, BufMut}; use actix_web::web::{BytesMut, BufMut};
use actix_web::{get, web, Error, HttpResponse, Responder}; use actix_web::{get, web, Error, HttpResponse, Responder};
use askama::Template; use askama::Template;
use bytesize::ByteSize; use bytesize::ByteSize;
@ -126,7 +126,7 @@ pub async fn create(
if !content.is_empty() { if !content.is_empty() {
new_pasta.content = match String::from_utf8(content.to_vec()) { new_pasta.content = match String::from_utf8(content.to_vec()) {
Ok(v) => v, Ok(v) => v,
Err(e) => return Ok(HttpResponse::BadRequest() Err(_) => return Ok(HttpResponse::BadRequest()
.content_type("text/html") .content_type("text/html")
.body(ErrorTemplate { .body(ErrorTemplate {
status_code: StatusCode::BAD_REQUEST, status_code: StatusCode::BAD_REQUEST,