Fix home pull activity filtering

This commit is contained in:
Georg Bauer
2026-07-31 12:35:39 +02:00
parent 5e00c108a4
commit c44e5f19c7
3 changed files with 28 additions and 19 deletions

View File

@@ -690,19 +690,34 @@ pub async fn load_home(server: &Server) -> Result<HomeData, String> {
.map_err(|error| error.to_string())?
.login
.ok_or("The server account has no username.")?;
let activity_configuration = configuration.clone();
let activity_login = login.clone();
let activities = async move {
let mut activities = Vec::new();
for page in 1.. {
let batch = apis::user_api::user_list_activity_feeds(
&activity_configuration,
&activity_login,
Some(true),
None,
Some(page),
Some(100),
)
.await
.map_err(|error| error.to_string())?;
if batch.is_empty() {
break;
}
activities.extend(batch);
}
Ok::<_, String>(activities)
};
let (activities, heatmap) = tokio::join!(
apis::user_api::user_list_activity_feeds(
&configuration,
&login,
Some(true),
None,
Some(1),
Some(40),
),
activities,
apis::user_api::user_get_heatmap_data(&configuration, &login),
);
Ok(HomeData {
activities: activities.map_err(|error| error.to_string())?,
activities: activities?,
heatmap: heatmap.map_err(|error| error.to_string())?,
})
}