1. 25 Aug, 2023 3 commits
  2. 23 Aug, 2023 3 commits
  3. 22 Aug, 2023 1 commit
  4. 21 Aug, 2023 4 commits
  5. 13 Aug, 2023 1 commit
  6. 10 Aug, 2023 1 commit
  7. 28 Jul, 2023 1 commit
  8. 12 Jun, 2023 1 commit
  9. 09 Jun, 2023 3 commits
  10. 11 Apr, 2023 2 commits
  11. 31 Mar, 2023 1 commit
  12. 29 Mar, 2023 1 commit
  13. 13 Mar, 2023 4 commits
  14. 02 Mar, 2023 2 commits
  15. 08 Jan, 2023 1 commit
    • Arshak Aghakaryan's avatar
      chore: Use `unawaited` instead of ignoring the lint · a19fa83e
      Arshak Aghakaryan authored
      Using `unawaited` provides more context about the purpose of not
      awaiting a future and it has no effects. In this commit, I simply
      deleted the "ignore lint" comment and wrapped the `remove` function in
      `unawaited`.
      
      Following is the implementation of `unawaited` (from "dart:async" package):
      ```dart
      /// Explicitly ignores a future.
      ///
      /// Not all futures need to be awaited.
      /// The Dart linter has an optional ["unawaited futures" lint](https://dart-lang.github.io/linter/lints/unawaited_futures.html)
      /// which enforces that potential futures
      /// (expressions with a static type of [Future] or `Future?`)
      /// in asynchronous functions are handled *somehow*.
      /// If a particular future value doesn't need to be awaited,
      /// you can call `unawaited(...)` with it, which will avoid the lint,
      /// simply because the expression no longer has type [Future].
      /// Using `unawaited` has no other effect.
      /// You should use `unawaited` to convey the *intention* of
      /// deliberately not waiting for the future.
      ///
      /// If the future completes with an error,
      /// it was likely a mistake to not await it.
      /// That error will still occur and will be considered unhandled
      /// unless the same future is awaited (or otherwise handled) elsewhere too.
      /// Because of that, `unawaited` should only be used for futures that
      /// are *expected* to complete with a value.
      /// You can use [FutureExtensions.ignore] if you also don't want to know
      /// about errors from this future.
      @Since("2.15")
      void unawaited(Future<void>? future) {}
      ```
      a19fa83e
  16. 06 Jan, 2023 1 commit
    • Nicolas Werner's avatar
      Allow users to disable lockfiles at their own risk (#1132) · 5250d345
      Nicolas Werner authored
      This is somewhat of a workaround for an iOS issue we ran into. We use
      hive as the database for a chat application. To be able to show
      notifications when the app is in the background we use a Notification
      Service Extension and give the NSE access to the database, so that it
      can read the room names and such from the database. (We implemented a
      barebones hive reader in Swift for that.)
      
      Since the database is only opened read only while the app is suspended
      and we only read data from it and immediately close it again, we don't
      really have any concurrency issues. However, iOS unconditionally kills
      your application if it has any lockfiles open in a directory, that
      another process could access. Since we share a container with the NSE,
      our app gets killed any time it is backgrounded. There might be other
      ways to solve this, but since we already make sure the database can only
      be written to by one process, I think disabling the locks is the best
      option, since they are not needed in our case. Another option would be
      to lock more granularly or prepend an SQLite file header, but those
      seem like worse options to me.
      
      For reference, here is a an issue about how SQLCipher ran into that
      issue: https://github.com/sqlcipher/sqlcipher/issues/255
      5250d345
  17. 20 Oct, 2022 1 commit
  18. 17 Oct, 2022 1 commit
  19. 15 Oct, 2022 4 commits
  20. 13 Oct, 2022 2 commits
  21. 11 Aug, 2022 1 commit
  22. 22 Jul, 2022 1 commit