© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
SupabaseS
Supabase•6mo ago•
1 reply
Mishat

Supabase/Flutter edit message update problem

Hello, I'm creating a messagery network as Messenger and I'm making an edit message option but it doesn't work for now.
When I send my edited message, it is changed in the UI for 1/2 seconds but not in my database so I'm supposed the problem come from my SQL request because the id and the message provided by my newMessage attribute are the good ones.

I suppose the issue come from my "update_at" type attribute in my table because it is a timestamptz and in my SQL request it's timestamp. I tried with .toUTC() but it didn't work

Does someone has a solution to give me ?

@override
  Future<void> editMessage({
    required Message oldMessage,
    required Message newMessage
  }) async {
    late final newMessageHasAttachments = newMessage.attachments.isNotEmpty;
    late final oldMessageHasAttachments = oldMessage.attachments.isNotEmpty;
    late final updateOldMessageAttachments =
        newMessageHasAttachments && oldMessageHasAttachments;
    late final insertNewMessageAttachments =
        newMessageHasAttachments && !oldMessageHasAttachments;

    final result = await _powerSyncRepository.db().execute(
        '''
        UPDATE messages
        SET
          message = ?1,
          updated_at = ?2
        WHERE
          id = ?3
      ''',
        [
          newMessage.message,
          DateTime.timestamp().toUtc().toIso8601String(),
          newMessage.id
        ]
    );

    print("UPDATE result: $result, oldMessage.id=${oldMessage.id}, newMessage.id=${newMessage.id}");
  }
@override
  Future<void> editMessage({
    required Message oldMessage,
    required Message newMessage
  }) async {
    late final newMessageHasAttachments = newMessage.attachments.isNotEmpty;
    late final oldMessageHasAttachments = oldMessage.attachments.isNotEmpty;
    late final updateOldMessageAttachments =
        newMessageHasAttachments && oldMessageHasAttachments;
    late final insertNewMessageAttachments =
        newMessageHasAttachments && !oldMessageHasAttachments;

    final result = await _powerSyncRepository.db().execute(
        '''
        UPDATE messages
        SET
          message = ?1,
          updated_at = ?2
        WHERE
          id = ?3
      ''',
        [
          newMessage.message,
          DateTime.timestamp().toUtc().toIso8601String(),
          newMessage.id
        ]
    );

    print("UPDATE result: $result, oldMessage.id=${oldMessage.id}, newMessage.id=${newMessage.id}");
  }
image.png
Supabase banner
SupabaseJoin
Supabase gives you the tools, documentation, and community that makes managing databases, authentication, and backend infrastructure a lot less overwhelming.
45,816Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

Supabase Flutter IOS Login
SupabaseSSupabase / help-and-questions
2mo ago
Basic questions: Flutter + Supabase
SupabaseSSupabase / help-and-questions
5mo ago
Problems playing videos from Supabase Storage in Flutter
SupabaseSSupabase / help-and-questions
2mo ago
Flutter Reset Password Problem
SupabaseSSupabase / help-and-questions
13mo ago