syphon-org / syphon

⚗️ a privacy centric matrix client
https://syphon.org
GNU Affero General Public License v3.0
1.04k stars 71 forks source link

Bug related to login on Linux #707

Open mizzunet opened 2 years ago

mizzunet commented 2 years ago

image image

Terminal output:

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
#0      DBusClient._callMethod (package:dbus/src/dbus_client.dart:1122)
<asynchronous suspension>
#1      DBusClient.callMethod (package:dbus/src/dbus_client.dart:628)
<asynchronous suspension>
#2      DBusRemoteObjectManager.getManagedObjects (package:dbus/src/dbus_remote_object_manager.dart:83)
<asynchronous suspension>
#3      NetworkManagerClient.connect (package:nm/src/network_manager_client.dart:2351)
<asynchronous suspension>
#4      ConnectivityLinux.checkConnectivity (package:connectivity_plus_linux/src/connectivity.dart:24)
<asynchronous suspension>
#5      ConnectionService.startListener (package:syphon/global/connectivity.dart:22)
<asynchronous suspension>
#6      SyphonState.onStartListeners (package:syphon/views/syphon.dart:136)
<asynchronous suspension>
#7      SyphonState.onInitListeners (package:syphon/views/syphon.dart:105)
<asynchronous suspension>

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: SqliteException(1): near "ON": syntax error, SQL logic error or missing database (code 1)
  Causing statement: INSERT INTO auths (id, store) VALUES (?, ?) ON CONFLICT(id) DO UPDATE SET id = ?, store = ?
#0      throwException (package:sqlite3/src/impl/exception.dart:34)
#1      DatabaseImpl._prepareInternal (package:sqlite3/src/impl/database.dart:250)
#2      DatabaseImpl.prepare (package:sqlite3/src/impl/database.dart:152)
#3      _VmDelegate._runWithArgs (package:drift/src/ffi/database.dart:206)
#4      _VmDelegate.runInsert (package:drift/src/ffi/database.dart:219)
#5      _BaseExecutor.runInsert.<anonymous closure> (package:drift/src/runtime/executor/helpers/engines.dart:99)
#6      _BaseExecutor._synchronized.<anonymous closure> (package:drift/src/runtime/executor/helpers/engines.dart:51)
#7      new Future.sync (dart:async/future.dart:296)
#8      Lock.synchronized.callBlockAndComplete (package:drift/src/utils/synchronized.dart:17)
#9      ServerImplementation._waitForTurn.<anonymous closure> (package:drift/src/remote/server_impl.dart:226)
#10     _rootRunUnary (dart:async/zone.dart:1434)
<asynchronous suspension>

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: SqliteException(1): near "ON": syntax error, SQL logic error or missing database (code 1)
  Causing statement: INSERT INTO auths (id, store) VALUES (?, ?) ON CONFLICT(id) DO UPDATE SET id = ?, store = ?
#0      throwException (package:sqlite3/src/impl/exception.dart:34)
#1      DatabaseImpl._prepareInternal (package:sqlite3/src/impl/database.dart:250)
#2      DatabaseImpl.prepare (package:sqlite3/src/impl/database.dart:152)
#3      _VmDelegate._runWithArgs (package:drift/src/ffi/database.dart:206)
#4      _VmDelegate.runInsert (package:drift/src/ffi/database.dart:219)
#5      _BaseExecutor.runInsert.<anonymous closure> (package:drift/src/runtime/executor/helpers/engines.dart:99)
#6      _BaseExecutor._synchronized.<anonymous closure> (package:drift/src/runtime/executor/helpers/engines.dart:51)
#7      new Future.sync (dart:async/future.dart:296)
#8      Lock.synchronized.callBlockAndComplete (package:drift/src/utils/synchronized.dart:17)
#9      ServerImplementation._waitForTurn.<anonymous closure> (package:drift/src/remote/server_impl.dart:226)
#10     _rootRunUnary (dart:async/zone.dart:1434)
<asynchronous suspension>

Info: OS: Arch Linux Syphon version: 2.13 Installed by: yay -S syphon-bin WM: river

dnisbetjones commented 2 years ago

Tagging @0x1a8510f2 for attention

ereio commented 2 years ago

I've fixed this in 0.2.14, we just haven't released it yet. Hoping to get this out soon

dnisbetjones commented 2 years ago

Closing with fix imminent

mizzunet commented 2 years ago

I've fixed this in 0.2.14, we just haven't released it yet. Hoping to get this out soon

I just tried this nightly build, https://git.syphon.org/syphon-org/syphon/releases/tag/fix/release-fixes-0.2.14-cbf6382-linux. But faces the issue there as well. I suppose that release doesn't have the fix.

ereio commented 2 years ago

very strange, is it the same issue?

The fix was not using the ON UPDATE SQL since it's not supported in older versions of sqlite and most linux distros ship with a very old version of it

Is it still showing the error of "near ON"? There should be a guard clause that runs two separate queries instead of the ON UPDATE on linux only*

mizzunet commented 2 years ago

very strange, is it the same issue?

The sql error is gone, but still has Unhandled Exception: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable.

Edit:

I guess, my issue is because a dbus service file is missing. What is that service required Syphon?

ereio commented 2 years ago

It's to test if you're connected to a network so we don't spam outbound calls to the matrix server and let the user know they're offline.

Mostly useful for mobile when connection can be spotty from wifi or cell, not as much for desktop.

Surprised it's throwing such a large uncaught error. Will add a few fixes to resolve the issue and prevent it from throwing such a large error.

Thanks for finding / bringing up the issue! We appreciate it!