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

Reply via email to