Package: tootle Version: 1.0-alpha2-1 Severity: normal X-Debbugs-Cc: debbug.too...@sideload.33mail.com
Everytime I added a new account, tootle failed to launch a browser for the Oauth URL. Most normal users would be totally stumped at this point because the GUI gives no indication that there was a problem. The terminal output shows this: ===8<------------------------------ ** Message: 09:57:11.695: NewAccount.vala:116: Checking instance URL ** Message: 09:57:11.696: NewAccount.vala:131: Registering client ** Message: 09:57:11.710: NewAccount.vala:58: Successfully associated MIME type for automatic authorization ** (tootle:14): CRITICAL **: 09:13:11.710: string_to_string: assertion 'self != NULL' failed ** Message: 09:57:13.760: NewAccount.vala:144: OK: Instance registered client ** Message: 09:57:13.761: NewAccount.vala:151: Opening permission request page ** Message: 09:57:13.761: Desktop.vala:7: Opening URI: https://<redacted>/oauth/authorize?scope=read%20write%20follow&response_type=code&redirect_uri=tootle://auth_code&client_id=<redacted> [36:36:0705/091314.208881:FATAL:zygote_host_impl_linux.cc(204)] Check failed: ReceiveFixedMessage(fds[0], kZygoteHelloMessage, sizeof(kZygoteHelloMessage), &real_pid). #0 0x563710d06f09 (/usr/lib/chromium/chromium+0x487cf08) Received signal 6 #0 0x563710d06f09 (/usr/lib/chromium/chromium+0x487cf08) r8: 0000000000000000 r9: 00007ffcf944e3a0 r10: 0000000000000008 r11: 0000000000000246 r12: 00000f45f989c700 r13: 00000f45f989c710 r14: 00007ffcf944ee70 r15: 00000000000000a8 di: 0000000000000002 si: 00007ffcf944e3a0 bp: 00007ffcf944e5f0 bx: 00007f626dce2480 dx: 0000000000000000 ax: 0000000000000000 cx: 00007f6275021ce1 sp: 00007ffcf944e3a0 ip: 00007f6275021ce1 efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Calling _exit(1). Core file will not be generated. ===8<------------------------------ The registration/linking can be completed by manually copy-pasting the URI in a browser and then giving permission for the browser to run xdg-open to feed the key back to tootle. And that’s the workaround. Note that the only reason I knew to look for that oauth URL is because I’m familiar with the bitlbee plugin, which is a text based client with a more manual process. The user is instructed to open URL X, get a token/password, and then paste that in a msg to the client app. Tootle could follow that example when dealing with browser failures. It could catch the exception when the browser fails to launch and walk the user through the process. Possible cause: The snag in Tootle could be Tor-related. If someone launches “torsocks tootle” (because tootle lacks HTTP proxy & SOCKS proxy options) or they run tootle inside a Tor middlebox, and the user’s default browser is a script that runs something like “torsocks firefox” or “<tor middlebox command> chromium”, that would likely fail because torsocks would be run within a session that has already been torsocksified or forced over Tor. I postulate that there are multiple bugs here: 1. When the browser fails to launch for any reason, tootle neglects to give GUI dialog that at least minimally informs the user. And ideally Tootle would go as far as to walk the user through a manual oauth linking process. 2. There is no HTTP proxy option. 3. There is no SOCKS proxy option. -- System Information: Debian Release: 11.0 APT prefers stable-updates APT policy: (990, 'stable-updates'), (990, 'stable-security'), (990, 'testing'), (990, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-8-amd64 (SMP w/2 CPU threads) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages tootle depends on: ii dconf-gsettings-backend [gsettings-backend] 0.38.0-2 ii elementary-xfce-icon-theme 0.15.2-1 ii libc6 2.31-13 ii libcairo2 1.16.0-5 ii libgdk-pixbuf2.0-0 2.40.2-2 ii libgee-0.8-2 0.20.4-1 ii libglib2.0-0 2.66.8-1 ii libgtk-3-0 3.24.24-4 ii libhandy-1-0 1.0.3-2 ii libjson-glib-1.0-0 1.6.2-1 ii libsoup2.4-1 2.72.0-2 tootle recommends no packages. tootle suggests no packages. -- no debconf information