ceres: a small planet in a giant solar system
32
fork

Configure Feed

Select the types of activity you want to include in your feed.

I forgot about putPref

+20 -27
+3 -20
Cargo.lock
··· 1850 1850 [[package]] 1851 1851 name = "jacquard" 1852 1852 version = "0.11.0" 1853 - source = "registry+https://github.com/rust-lang/crates.io-index" 1854 - checksum = "1e4bb22329646c06eb07eb63ae6d33320e8f52ae8b5a5444257f27c3d68d44ae" 1855 1853 dependencies = [ 1856 1854 "bytes", 1857 1855 "getrandom 0.2.17", ··· 1879 1877 1880 1878 [[package]] 1881 1879 name = "jacquard-api" 1882 - version = "0.11.1" 1883 - source = "registry+https://github.com/rust-lang/crates.io-index" 1884 - checksum = "f4bba022e9c632f737de481d7c894b5736dd1a503362876ca4da49b9255a7e61" 1880 + version = "0.11.0" 1885 1881 dependencies = [ 1886 1882 "jacquard-common", 1887 1883 "jacquard-derive", ··· 1894 1890 [[package]] 1895 1891 name = "jacquard-axum" 1896 1892 version = "0.11.0" 1897 - source = "registry+https://github.com/rust-lang/crates.io-index" 1898 - checksum = "707649f378c7aaac47a267e1eb95dbcf595fca3b0c949e0e7aa742dec7093cde" 1899 1893 dependencies = [ 1900 1894 "axum", 1901 1895 "bytes", ··· 1908 1902 "serde", 1909 1903 "serde_html_form", 1910 1904 "serde_json", 1905 + "smol_str", 1911 1906 "thiserror 2.0.18", 1912 1907 "tokio", 1913 1908 "tower-http", ··· 1917 1912 [[package]] 1918 1913 name = "jacquard-common" 1919 1914 version = "0.11.0" 1920 - source = "registry+https://github.com/rust-lang/crates.io-index" 1921 - checksum = "9631f08f1e65d19e204bc6774d00b4e0b69fb649d7d7ac59ccf97797bd9a196e" 1922 1915 dependencies = [ 1923 1916 "base64 0.22.1", 1924 1917 "bon", ··· 1967 1960 [[package]] 1968 1961 name = "jacquard-derive" 1969 1962 version = "0.11.0" 1970 - source = "registry+https://github.com/rust-lang/crates.io-index" 1971 - checksum = "22904bd0f9a959591e14ee9e1dab91a9110209cb8b292930e584134f96a83ece" 1972 1963 dependencies = [ 1973 1964 "heck 0.5.0", 1974 1965 "jacquard-lexicon", ··· 1980 1971 [[package]] 1981 1972 name = "jacquard-identity" 1982 1973 version = "0.11.0" 1983 - source = "registry+https://github.com/rust-lang/crates.io-index" 1984 - checksum = "b84a9302ea9dd39c49d748a8eba21faf365570088571ff327ebb00117dbd65b8" 1985 1974 dependencies = [ 1986 1975 "bon", 1987 1976 "bytes", ··· 2003 1992 2004 1993 [[package]] 2005 1994 name = "jacquard-lexicon" 2006 - version = "0.11.1" 2007 - source = "registry+https://github.com/rust-lang/crates.io-index" 2008 - checksum = "fd7863d4f56a49f07391b5f775e82be12e6381156642ee83574f481ca73e8b0e" 1995 + version = "0.11.0" 2009 1996 dependencies = [ 2010 1997 "cid", 2011 1998 "dashmap", ··· 2032 2019 [[package]] 2033 2020 name = "jacquard-oauth" 2034 2021 version = "0.11.0" 2035 - source = "registry+https://github.com/rust-lang/crates.io-index" 2036 - checksum = "ca0b3a8b765b3d3f1890233f9f62dda1b1524d1dc9967c310e5b009b93443776" 2037 2022 dependencies = [ 2038 2023 "base64 0.22.1", 2039 2024 "bytes", ··· 2414 2399 [[package]] 2415 2400 name = "mini-moka-wasm" 2416 2401 version = "0.10.99" 2417 - source = "registry+https://github.com/rust-lang/crates.io-index" 2418 - checksum = "0102b9a2ad50fa47ca89eead2316c8222285ecfbd3f69ce99564fbe4253866e8" 2419 2402 dependencies = [ 2420 2403 "crossbeam-channel", 2421 2404 "crossbeam-utils",
+8 -4
Cargo.toml
··· 9 9 dotenvy = "0.15.7" 10 10 env_logger = "0.11.10" 11 11 fjall = "3.1.4" 12 - jacquard = "0.11.0" 13 - jacquard-api = { version = "0.11.1", features = ["default", "app_bsky"] } 14 - jacquard-axum = "0.11.0" 15 - jacquard-identity = { version = "0.11.0", features = ["cache", "dns"] } 12 + # jacquard = "0.11.0" 13 + jacquard = { path = "../jacquard/crates/jacquard" } 14 + # jacquard-api = { version = "0.11.1", features = ["default", "app_bsky"] } 15 + jacquard-api = { path = "../jacquard/crates/jacquard-api", features = ["default", "app_bsky"] } 16 + # jacquard-axum = "0.11.0" 17 + jacquard-axum = { path = "../jacquard/crates/jacquard-axum" } 18 + # jacquard-identity = { version = "0.11.0", features = ["cache", "dns"] } 19 + jacquard-identity = { path = "../jacquard/crates/jacquard-identity", features = ["cache", "dns"] } 16 20 log = "0.4.29" 17 21 reqwest = { version = "0.12.23", features = ["stream", "json"] } 18 22 serde = { version = "1.0.228", features = ["derive"] }
+4 -2
README.md
··· 1 1 # ceres 2 2 3 - Ceres is a Bluesky AppView that aims to be easy on resources, does most of what Bluesky's AppView does, and hopefully works. Aka low storage requirments, and can still make posts, reply, and comment. But search and notifications are not fully in scope yet 3 + Ceres is a Bluesky AppView that aims to be easy on resources, does most of what Bluesky's AppView does (hopefully). Aka low storage requirements, and can still make posts, reply, and comment. But search and notifications are not fully in scope yet. May be a full thing one day 4 4 5 5 # Work done currently 6 - - 'app.bsky.actor.getProfile` - Just started 6 + - `app.bsky.actor.getProfile` - Just started, and let me tell you. It got hands 7 + - `app.bsky.actor.getPreferences` - Works, but not as expected. It has it's own internal preferences. Not the ones from your PDS 8 + - `app.bsky.actor.putPreferences` - [lol](https://github.com/bluesky-social/atproto/issues/4193). Best to just use a bsky-social app fork like https://blacksky.community for running this AppView
+1 -1
src/main.rs
··· 39 39 let app_view_domain = env::var("APP_VIEW_DOMAIN").expect("APP_VIEW_DOMAIN is not set"); 40 40 let service_did = Did::new_owned(format!("did:web:{app_view_domain}")) 41 41 .expect("APP_VIEW_DOMAIN produced an invalid did:web"); 42 - let service_auth = ServiceAuthConfig::new(service_did, resolver.clone()); 42 + let service_auth = ServiceAuthConfig::new(service_did, &["bsky_appview"], resolver.clone()); 43 43 44 44 //fjall db setup 45 45 let data_directory =
+4
src/state.rs
··· 26 26 fn require_lxm(&self) -> bool { 27 27 ServiceAuth::require_lxm(&self.service_auth) 28 28 } 29 + 30 + fn allowed_services(&self) -> &[jacquard::deps::smol_str::SmolStr] { 31 + ServiceAuth::allowed_services(&self.service_auth) 32 + } 29 33 }