Skip to content

Commit 172462b

Browse files
committed
code improvement
1 parent 51e388c commit 172462b

3 files changed

Lines changed: 27 additions & 27 deletions

File tree

src/room/room_input_bar.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ live_design! {
9090
text: "Uploading..."
9191
}
9292

93-
progress= <MyProgress> {
93+
progress = <MyProgress> {
9494

9595
}
9696
}

src/shared/file_previewer.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ live_design! {
5555
FilePreviewerButton = <RobrixIconButton> {
5656
width: 44, height: 44
5757
align: {x: 0.5, y: 0.5},
58-
spacing: 0,
58+
spacing: 0,
5959
padding: 0,
6060
draw_bg: {
6161
color: (COLOR_SECONDARY * 0.925)
@@ -336,10 +336,12 @@ impl MatchEvent for FilePreviewer {
336336

337337
cx.spawn_thread(move || {
338338
if let Ok(file) = std::fs::read(file_path_clone) {
339-
let _ = sender.send((FilePreviewerMetaData{
340-
filename, mime, file_size:file.len()
341-
},
342-
file));
339+
let metadata = FilePreviewerMetaData {
340+
filename,
341+
mime,
342+
file_size: file.len(),
343+
};
344+
let _ = sender.send((metadata, file));
343345
SignalToUI::set_ui_signal();
344346
}
345347
});

src/sliding_sync.rs

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,7 +1346,6 @@ async fn matrix_worker_task(
13461346
};
13471347
let data_len = file_data.len();
13481348
progress_sender.set(TransmissionProgress { total: file_data.len(), current: 0 });
1349-
13501349

13511350
let result = room.send_attachment(
13521351
&filename,
@@ -1358,27 +1357,26 @@ async fn matrix_worker_task(
13581357
Ok(result) => {
13591358
log!("Successfully uploaded and sent file to room {room_id}");
13601359
progress_sender.set(TransmissionProgress { total: data_len, current: data_len });
1360+
1361+
// Handle reply if needed
13611362
if let Some(in_reply_to) = replied_to {
1362-
if let Ok(event) = room.event(&result.event_id, None).await {
1363-
if let Ok(json_value) = event.into_raw().deserialize_as::<serde_json::Value>() {
1364-
let url: Option<String> = json_value.get("content").and_then(|content| {
1365-
content.get("url").and_then(|url| {
1366-
url.as_str().map(|url| url.to_string())
1367-
})
1368-
});
1369-
if let Some(url) = url {
1370-
let timeline = {
1371-
let all_joined_rooms = ALL_JOINED_ROOMS.lock().unwrap();
1372-
let Some(room_info) = all_joined_rooms.get(&room_id) else {
1373-
log!("BUG: room info not found for send message request {room_id}");
1374-
return;
1375-
};
1376-
room_info.timeline.clone()
1377-
};
1378-
let source = MediaSource::Plain(OwnedMxcUri::from(url));
1379-
let _ =timeline.send_reply(RoomMessageEventContent::new(MessageType::File(FileMessageEventContent::new(filename, source))).into(), in_reply_to.event_id).await;
1380-
}
1381-
}
1363+
// Extract URL from the uploaded event
1364+
let url = room.event(&result.event_id, None).await.ok()
1365+
.and_then(|event| event.into_raw().deserialize_as::<serde_json::Value>().ok())
1366+
.and_then(|json_value| json_value.get("content")?.get("url")?.as_str().map(String::from));
1367+
1368+
if let Some(url) = url {
1369+
let timeline = {
1370+
let all_joined_rooms = ALL_JOINED_ROOMS.lock().unwrap();
1371+
let Some(room_info) = all_joined_rooms.get(&room_id) else {
1372+
log!("BUG: room info not found for send message request {room_id}");
1373+
return;
1374+
};
1375+
room_info.timeline.clone()
1376+
};
1377+
let source = MediaSource::Plain(OwnedMxcUri::from(url));
1378+
let message = RoomMessageEventContent::new(MessageType::File(FileMessageEventContent::new(filename, source)));
1379+
let _ = timeline.send_reply(message.into(), in_reply_to.event_id).await;
13821380
}
13831381
}
13841382
}

0 commit comments

Comments
 (0)