famedly / matrix-dart-sdk

Matrix SDK written in pure Dart.
GNU Affero General Public License v3.0
62 stars 31 forks source link

Unhandled Exception: HiveError: Cannot write, unknown type: DiscoveredDevice. Did you forget to register an adapter? #1776

Closed darmawan01 closed 5 months ago

darmawan01 commented 6 months ago

Checklist

In which Project did the bug appear?

No response

If you selected \"Other\" as Project, please enter in which project the bug occurred.

No response

On which platform did the bug appear?

Android

SDK Version

latest

Describe the problem caused by this bug

I have no issues before, but today I saw there is an error on console

Steps To Reproduce

No response

Screenshots or Logs

  Future<void> init() async {
    try {
      client = matrix.Client(
        'ChatApp',
        databaseBuilder: databaseBuilder,
        logLevel: kReleaseMode ? matrix.Level.warning : matrix.Level.verbose,
      );

      client?.init();
      client?.onEvent.stream.listen(_onEventHandler);
    } catch (e) {
      Get.log(e.toString(), isError: true);
    }
  }

  FutureOr<matrix.DatabaseApi> databaseBuilder(_) async {
    final dir = await getApplicationSupportDirectory();
    final db = matrix.HiveCollectionsDatabase('chat_app', dir.path);
    await db.open();
    return db;
  }
E/flutter (29896): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: HiveError: Cannot write, unknown type: DiscoveredDevice. Did you forget to register an adapter?
E/flutter (29896): #0      BinaryWriterImpl.write (package:hive/src/binary/binary_writer_impl.dart:338:9)
E/flutter (29896): #1      BinaryWriterImpl.writeMap (package:hive/src/binary/binary_writer_impl.dart:236:7)
E/flutter (29896): #2      BinaryWriterImpl.write (package:hive/src/binary/binary_writer_impl.dart:334:7)
E/flutter (29896): #3      BinaryWriterImpl.writeMap (package:hive/src/binary/binary_writer_impl.dart:236:7)
E/flutter (29896): #4      BinaryWriterImpl.write (package:hive/src/binary/binary_writer_impl.dart:334:7)
E/flutter (29896): #5      BinaryWriterImpl.writeFrame (package:hive/src/binary/binary_writer_impl.dart:282:9)
E/flutter (29896): #6      StorageBackendVm.writeFrames.<anonymous closure> (package:hive/src/backend/vm/storage_backend_vm.dart:128:31)
E/flutter (29896): #7      ReadWriteSync.syncWrite.<anonymous closure> (package:hive/src/backend/vm/read_write_sync.dart:26:41)
E/flutter (29896): #8      _rootRunUnary (dart:async/zone.dart:1407:47)
E/flutter (29896): #9      _CustomZone.runUnary (dart:async/zone.dart:1308:19)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #10     _AsyncCompleter.complete (dart:async/future_impl.dart:41:3)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #11     LazyBoxImpl.putAll (package:hive/src/box/lazy_box_impl.dart:63:5)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #12     CollectionBox.put (package:hive/src/box_collection/box_collection.dart:201:5)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #13     HiveCollectionsDatabase.storeEventUpdate (package:matrix/src/database/hive_collections_database.dart:1086:7)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #14     Client._handleRoomEvents (package:matrix/src/client.dart:2242:9)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #15     Client._handleRooms (package:matrix/src/client.dart:2109:11)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #16     Client._handleSync (package:matrix/src/client.dart:1955:9)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #17     Client.handleSync (package:matrix/src/client.dart:1943:5)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #18     Room._handleFakeSync.<anonymous closure> (package:matrix/src/room.dart:2226:9)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #19     BoxCollection.transaction.<anonymous closure> (package:hive/src/box_collection/box_collection.dart:79:9)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #20     BoxCollection.transaction (package:hive/src/box_collection/box_collection.dart:76:5)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #21     Room._handleFakeSync (package:matrix/src/room.dart:2225:7)
E/flutter (29896): <asynchronous suspension>
E/flutter (29896): #22     Room.sendEvent (package:matrix/src/room.dart:1102:5)
E/flutter (29896): <asynchronous suspension>

Security related

No response

krille-chan commented 6 months ago

I don't find an entity named DiscoveredDevice in our SDK anywhere and I cannot reproduce it with your steps. Please add a minimal (working) program and fill out the entire form

darmawan01 commented 5 months ago

My bad, wrong data format when call sendEvent.