diff --git a/.cargo/config.toml b/.cargo/config.toml index b23105b..70f9eae 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,2 +1,2 @@ [registries.crates-io] -protocol = "sparse" \ No newline at end of file +protocol = "sparse" diff --git a/Cargo.lock b/Cargo.lock index 136912d..1ff71a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -535,7 +535,7 @@ dependencies = [ [[package]] name = "ck" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "sea-orm", "serde", @@ -835,7 +835,7 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "ext_calckey_model_migration" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "sea-orm-migration", "tokio", @@ -1446,7 +1446,7 @@ dependencies = [ [[package]] name = "magnetar" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "axum", "cached", @@ -1482,11 +1482,12 @@ dependencies = [ "tracing", "tracing-subscriber", "unicode-segmentation", + "url", ] [[package]] name = "magnetar_calckey_fe" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "axum", "chrono", @@ -1510,7 +1511,7 @@ dependencies = [ [[package]] name = "magnetar_calckey_model" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "chrono", "ck", @@ -1535,19 +1536,21 @@ dependencies = [ [[package]] name = "magnetar_common" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ + "idna", "magnetar_core", "magnetar_sdk", "percent-encoding", "serde", "thiserror", "toml 0.8.1", + "url", ] [[package]] name = "magnetar_core" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "serde", "serde_json", @@ -1555,7 +1558,7 @@ dependencies = [ [[package]] name = "magnetar_mmm_parser" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "compact_str", "either", @@ -1571,7 +1574,7 @@ dependencies = [ [[package]] name = "magnetar_nodeinfo" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "serde", "serde_json", @@ -1579,7 +1582,7 @@ dependencies = [ [[package]] name = "magnetar_sdk" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "chrono", "http", @@ -1593,7 +1596,7 @@ dependencies = [ [[package]] name = "magnetar_sdk_macros" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "quote", "syn 2.0.28", @@ -1601,7 +1604,7 @@ dependencies = [ [[package]] name = "magnetar_webfinger" -version = "0.2.1-alpha" +version = "0.3.0-alpha" dependencies = [ "magnetar_core", "serde", @@ -3670,9 +3673,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", diff --git a/Cargo.toml b/Cargo.toml index e6a68d0..f13447f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ members = [ ] [workspace.package] -version = "0.2.1-alpha" +version = "0.3.0-alpha" edition = "2021" [workspace.dependencies] @@ -88,6 +88,7 @@ hyper = { workspace = true, features = ["full"] } tokio = { workspace = true, features = ["full"] } tower = { workspace = true } tower-http = { workspace = true, features = ["cors", "trace", "fs"] } +url = { workspace = true } idna = { workspace = true } diff --git a/config/default.toml b/config/default.toml index 07cd085..a855fba 100644 --- a/config/default.toml +++ b/config/default.toml @@ -47,6 +47,19 @@ # Environment variable: MAG_C_BIND_ADDR # networking.bind_addr = "::" +# [Optional] +# The URL of a media proxy +# Default: null +# Environment variable: MAG_C_MEDIA_PROXY +# networking.media_proxy = "" + +# [Optional] +# Whether to proxy remote files through this instance +# Default: false +# Environment variable: MAG_C_PROXY_REMOTE_FILES +# networking.proxy_remote_files = false + + # -----------------------------[ CALCKEY FRONTEND ]---------------------------- # [Optional] diff --git a/ext_calckey_model/src/lib.rs b/ext_calckey_model/src/lib.rs index 1afba36..573c749 100644 --- a/ext_calckey_model/src/lib.rs +++ b/ext_calckey_model/src/lib.rs @@ -61,6 +61,7 @@ impl CalckeyModel { .sqlx_logging_level(LevelFilter::Debug) .to_owned(); + info!("Attempting database connection..."); Ok(CalckeyModel(sea_orm::Database::connect(opt).await?)) } @@ -224,6 +225,18 @@ impl CalckeyModel { .await?) } + pub async fn get_instance( + &self, + host: &str, + ) -> Result, CalckeyDbError> { + let instance = instance::Entity::find() + .filter(instance::Column::Host.eq(host)) + .one(&self.0) + .await?; + + Ok(instance) + } + pub async fn get_instance_meta(&self) -> Result { let txn = self.0.begin().await?; diff --git a/ext_calckey_model/src/note_model.rs b/ext_calckey_model/src/note_model.rs index 006b7e8..8dfa9e4 100644 --- a/ext_calckey_model/src/note_model.rs +++ b/ext_calckey_model/src/note_model.rs @@ -5,7 +5,6 @@ use sea_orm::{ QueryFilter, QueryResult, QuerySelect, QueryTrait, RelationTrait, Select, }; use serde::{Deserialize, Serialize}; -use tracing::info; use ck::{drive_file, note, note_reaction, user}; use magnetar_sdk::types::RangeFilter; diff --git a/fe_calckey/frontend/calckey-js/package.json b/fe_calckey/frontend/calckey-js/package.json index b4993d7..b78963c 100644 --- a/fe_calckey/frontend/calckey-js/package.json +++ b/fe_calckey/frontend/calckey-js/package.json @@ -15,7 +15,7 @@ "devDependencies": { "@swc/cli": "^0.1.62", "@swc/core": "^1.3.62", - "@types/node": "20.3.1", + "@types/node": "20.8.10", "ts-node": "10.4.0", "tsd": "^0.28.1", "typescript": "5.1.3" diff --git a/fe_calckey/frontend/calckey-js/src/entities.ts b/fe_calckey/frontend/calckey-js/src/entities.ts index 19e9fa3..cc157fb 100644 --- a/fe_calckey/frontend/calckey-js/src/entities.ts +++ b/fe_calckey/frontend/calckey-js/src/entities.ts @@ -15,6 +15,8 @@ export type UserLite = { avatarUrl: string; avatarBlurhash: string; alsoKnownAs: string[]; + isCat?: boolean; + isBot?: boolean; movedToUri: any; emojis: { name: string; diff --git a/fe_calckey/frontend/client/src/components/MagNote.vue b/fe_calckey/frontend/client/src/components/MagNote.vue new file mode 100644 index 0000000..5c4791a --- /dev/null +++ b/fe_calckey/frontend/client/src/components/MagNote.vue @@ -0,0 +1,937 @@ + + + + + diff --git a/fe_calckey/frontend/client/src/components/MkNoteDetailed.vue b/fe_calckey/frontend/client/src/components/MagNoteDetailed.vue similarity index 91% rename from fe_calckey/frontend/client/src/components/MkNoteDetailed.vue rename to fe_calckey/frontend/client/src/components/MagNoteDetailed.vue index 443ac7b..d16f097 100644 --- a/fe_calckey/frontend/client/src/components/MkNoteDetailed.vue +++ b/fe_calckey/frontend/client/src/components/MagNoteDetailed.vue @@ -7,7 +7,7 @@ v-size="{ max: [500, 350, 300] }" class="lxwezrsl _block" :tabindex="!isDeleted ? '-1' : null" - :class="{ renote: isRenote }" + :class="{ renote: magIsRenote(note) }" > - + - + > - -