a bunch of frontend layout adjustments, and fixed message duplication by adding uuids

This commit is contained in:
2025-12-28 22:50:16 +01:00
parent 59fd5b13b8
commit c0043dcc15
3 changed files with 9 additions and 5 deletions

View File

@@ -46,6 +46,7 @@ CREATE TABLE IF NOT EXISTS room_invite_ (
CREATE TABLE IF NOT EXISTS message_ ( CREATE TABLE IF NOT EXISTS message_ (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
uuid UUID NOT NULL,
sender INT REFERENCES user_(id) NOT NULL, sender INT REFERENCES user_(id) NOT NULL,
room INT REFERENCES room_(id) NOT NULL, room INT REFERENCES room_(id) NOT NULL,
message_type VARCHAR(32) NOT NULL, message_type VARCHAR(32) NOT NULL,

View File

@@ -58,11 +58,11 @@ async fn main() -> anyhow::Result<()> {
.layer(Extension(db_pool)) .layer(Extension(db_pool))
.layer(Extension(realtime)) .layer(Extension(realtime))
.layer(GovernorLayer::new(governor_conf)) .layer(GovernorLayer::new(governor_conf))
.layer( // .layer(
TraceLayer::new_for_http() // TraceLayer::new_for_http()
.make_span_with(DefaultMakeSpan::new().level(Level::INFO)) // .make_span_with(DefaultMakeSpan::new().level(Level::INFO))
.on_response(DefaultOnResponse::new().level(Level::INFO)), // .on_response(DefaultOnResponse::new().level(Level::INFO)),
) // )
.layer(cors); .layer(cors);
let port = var("CHATAPP_SERVER_PORT").unwrap_or_else(|_| "8080".to_string()); let port = var("CHATAPP_SERVER_PORT").unwrap_or_else(|_| "8080".to_string());

View File

@@ -23,6 +23,7 @@ pub struct MessageRow {
#[derive(sqlx::FromRow, serde::Serialize, Debug, Clone)] #[derive(sqlx::FromRow, serde::Serialize, Debug, Clone)]
pub struct Message { pub struct Message {
pub uuid: Uuid,
pub sender: String, pub sender: String,
pub message_type: String, pub message_type: String,
pub content: String, pub content: String,
@@ -87,6 +88,7 @@ async fn list_messages(
let messages: Vec<Message> = messages let messages: Vec<Message> = messages
.into_iter() .into_iter()
.map(|m| Message { .map(|m| Message {
uuid: uuid::Uuid::now_v7(),
sender: m.sender, sender: m.sender,
message_type: m.message_type, message_type: m.message_type,
content: m.content, content: m.content,
@@ -136,6 +138,7 @@ async fn create_message(
let sender_name = username_from_uuid(&db, claims.sub).await?; let sender_name = username_from_uuid(&db, claims.sub).await?;
let message = Message { let message = Message {
uuid: uuid::Uuid::now_v7(),
sender: sender_name, sender: sender_name,
message_type: payload.message_type, message_type: payload.message_type,
content: payload.content, content: payload.content,