stefan-niedermann / nextcloud-deck

📋 Android client for nextcloud deck app
https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play
GNU General Public License v3.0
495 stars 53 forks source link

App is trying to query localhost #1673

Closed sirabdude closed 1 month ago

sirabdude commented 1 month ago

This issue respects the following points:

Describe the bug

When I try to add my account I receive an error that traces back to a 404 from the app trying to access the deck API at localhost.

Steps:

  1. Add account
  2. Select signed in account from primary Nextcloud app (backend via SAML auth, not sure if that's relevant)
  3. Approve access
  4. Receive error report

I tested /ocs/v2.php/cloud/capabilities?format=json with curl and I get a normal response - no references to localhost

I'm just not sure where the localhost url is coming from.

I attached the stack trace below.

Expected behavior

Expected behavior would be that the app queries my external Nextcloud url (which the primaray Nextcloud app is configured to use) and the sign in would complete successfully.

Deck Android version

1.24.1

Deck server version

1.13.1

Nextcloud Android version

3.29.2

Nextcloud version

29.0.4

Device

Samsung Galaxy Note 20 Ultra

Android Version

13

App Store

Stacktrace

App Version: 1.24.1
App Version Code: 1024001
Server App Version: 1.13.1
App Flavor: play

Files App Version Code: 30290290 (PROD)

---

OS Version: 4.19.113-27095354(N986U1UES9HXH1)
OS API Level: 33
Device: c2q
Manufacturer: samsung
Model (and Product): SM-N986U1 (c2quew)

---

com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException: HTTP request failed with HTTP status-code: 404
    at it.niedermann.nextcloud.deck.remote.api.RequestHelper$ResponseConsumer.onResponse(RequestHelper.java:70)
    at com.nextcloud.android.sso.helper.Retrofit2Helper$1.lambda$enqueue$0(Retrofit2Helper.java:87)
    at com.nextcloud.android.sso.helper.Retrofit2Helper$1.$r8$lambda$n0izO5V3AflskH7z1H8dSLmVKXo(Unknown Source:0)
    at com.nextcloud.android.sso.helper.Retrofit2Helper$1$$ExternalSyntheticLambda0.run(Unknown Source:6)
    at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.RuntimeException: HTTP StatusCode wasn't 2xx:
Got [HTTP 404] for Call [GET http://localhost//index.php/apps/deck/api/v1.0/boards] with Message:
[<!DOCTYPE html>
<html class="ng-csp" data-placeholder-focus="false" lang="en" data-locale="en_US" translate="no" >
    <head
 data-requesttoken="">
        <meta charset="utf-8">
        <title>
            Sosh Nextcloud      </title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
                <meta name="apple-itunes-app" content="app-id=1125420102">
                <meta name="theme-color" content="#4f6071">
        <link rel="icon" href="/apps/theming/favicon?v=0ade7c2c">
        <link rel="apple-touch-icon" href="/apps/theming/icon?v=0ade7c2c">
        <link rel="mask-icon" sizes="any" href="/core/img/favicon-mask.svg" color="#4f6071">
        <link rel="manifest" href="/apps/theming/manifest?v=0ade7c2c" crossorigin="use-credentials">
        <link rel="stylesheet" href="/core/css/server.css?v=dddbcb05-9">
<link rel="stylesheet" href="/custom_apps/integration_gitlab/css/gitlab-search.css?v=d9e15b75-9">
<link rel="stylesheet" href="/custom_apps/deck/css/deck.css?v=9eeb65bb-9">
<link rel="stylesheet" href="/custom_apps/notes/css/global.css?v=fb60c3a2-9">
<link rel="stylesheet" href="/custom_apps/spreed/css/unified-search.css?v=423104fc-9">
<link rel="stylesheet" href="/apps/theming/css/default.css?v=0d6d4ea2-9">
<link rel="stylesheet" href="/core/css/guest.css?v=dddbcb05-9">
        <script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/dist/core-common.js?v=dddbcb05-9"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/dist/core-main.js?v=dddbcb05-9"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/apps/encryption/js/encryption.js?v=dddbcb05-9"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/apps/firstrunwizard/js/firstrunwizard-about.mjs?v=dddbcb05-9" type="module"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/custom_apps/spreed/js/talk-collections.js?v=dddbcb05-9"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/custom_apps/spreed/js/talk-deck.js?v=dddbcb05-9"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/custom_apps/spreed/js/talk-search.js?v=dddbcb05-9"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/apps/theming/js/theming.js?v=dddbcb05-9"></script>
<script nonce="bHRoZFRJZmxtZi9DYWNEU3BaQytJTlFpWUVBTjlrYlVtVE1COGhWQzRJRT06eElrbEhONlcycWExTDZXVG5hak9VcUJtTERKUHVSZm0rSDlWb1dNVm1MUT0=" defer src="/dist/files_sharing-main.js?v=dddbcb05-9"></script>
        <link rel="stylesheet" media="" href="/apps/theming/theme/default.css?plain=1&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="(prefers-color-scheme: light)" href="/apps/theming/theme/light.css?plain=1&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="(prefers-color-scheme: dark)" href="/apps/theming/theme/dark.css?plain=1&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="(prefers-contrast: more)" href="/apps/theming/theme/light-highcontrast.css?plain=1&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="(prefers-color-scheme: dark) and (prefers-contrast: more)" href="/apps/theming/theme/dark-highcontrast.css?plain=1&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="" href="/apps/theming/theme/light.css?plain=0&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="" href="/apps/theming/theme/dark.css?plain=0&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="" href="/apps/theming/theme/light-highcontrast.css?plain=0&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="" href="/apps/theming/theme/dark-highcontrast.css?plain=0&amp;v=0af254a5" class="theme"/><link rel="stylesheet" media="" href="/apps/theming/theme/opendyslexic.css?plain=0&amp;v=0af254a5" class="theme"/><meta name="color-scheme" content="light dark"/>   </head>
    <body id="body-login">
        <noscript>
    <div id="nojavascript">
        <div>
            This application requires JavaScript for correct operation. Please <a href="https://www.enable-javascript.com/" target="_blank" rel="noreferrer noopener">enable JavaScript</a> and reload the page.        </div>
    </div>
</noscript>
                    <input type="hidden" id="initial-state-firstrunwizard-changelogOnly" value="dHJ1ZQ==">
                    <input type="hidden" id="initial-state-firstrunwizard-desktop" value="Imh0dHBzOlwvXC9uZXh0Y2xvdWQuY29tXC9pbnN0YWxsXC8jaW5zdGFsbC1jbGllbnRzIg==">
                    <input type="hidden" id="initial-state-firstrunwizard-android" value="Imh0dHBzOlwvXC9wbGF5Lmdvb2dsZS5jb21cL3N0b3JlXC9hcHBzXC9kZXRhaWxzP2lkPWNvbS5uZXh0Y2xvdWQuY2xpZW50Ig==">
                    <input type="hidden" id="initial-state-firstrunwizard-ios" value="Imh0dHBzOlwvXC9nZW8uaXR1bmVzLmFwcGxlLmNvbVwvdXNcL2FwcFwvbmV4dGNsb3VkXC9pZDExMjU0MjAxMDI/bXQ9OCI=">
                    <input type="hidden" id="initial-state-theming-backgroundImage" value="ImVkdWFyZG8tbmV2ZXMtcGVkcmEtYXp1bC5qcGci">
                    <input type="hidden" id="initial-state-theming-backgroundColor" value="IiM0ZjYwNzEi">
                    <input type="hidden" id="initial-state-theming-themingDefaultBackground" value="ImltYWdlXC9qcGVnIg==">
                    <input type="hidden" id="initial-state-theming-defaultShippedBackground" value="ImthbWlsLXBvcmVtYmluc2tpLWNsb3Vkcy5qcGci">
                    <input type="hidden" id="initial-state-theming-shippedBackgrounds" value="eyJoYW5uYWgtbWFjbGVhbi1zb2Z0LWZsb3JhbC5qcGciOnsiYXR0cmlidXRpb24iOiJTb2Z0IGZsb3JhbCAoSGFubmFoIE1hY0xlYW4sIENDMCkiLCJkZXNjcmlwdGlvbiI6IkFic3RyYWN0IGJhY2tncm91bmQgcGljdHVyZSBpbiB5ZWxsb3cgYW5kIHdoaXRlIGNvbG9yIHdoaXRoIGEgZmxvd2VyIG9uIGl0IiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cHM6XC9cL3N0b2Nrc25hcC5pb1wvcGhvdG9cL3NvZnQtZmxvcmFsLVhPWVdDQ1c1UEEiLCJ0aGVtaW5nIjoiZGFyayIsInByaW1hcnlfY29sb3IiOiIjRDhBMDZDIn0sInRlZC1tb3JhdmVjLW1vcm5pbmctZm9nLmpwZyI6eyJhdHRyaWJ1dGlvbiI6Ik1vcm5pbmcgZm9nIChUZWQgTW9yYXZlYywgUHVibGljIERvbWFpbikiLCJkZXNjcmlwdGlvbiI6IkJhY2tncm91bmQgcGljdHVyZSBvZiBhIGZvcmVzdCBzaHJvdWRlZCBpbiBmb2ciLCJhdHRyaWJ1dGlvbl91cmwiOiJodHRwczpcL1wvZmxpY2tyLmNvbVwvcGhvdG9zXC90bW9yYXZlY1wvNTIzOTI0MTAyNjEiLCJ0aGVtaW5nIjoiZGFyayIsInByaW1hcnlfY29sb3IiOiIjMzhBMDg0In0sInN0ZWZhbnVzLW1hcnRhbnRvLXNldHlvLWh1c29kby11bmRlcndhdGVyLW9jZWFuLmpwZyI6eyJhdHRyaWJ1dGlvbiI6IlVuZGVyd2F0ZXIgb2NlYW4gKFN0ZWZhbnVzIE1hcnRhbnRvIFNldHlvIEh1c29kbywgQ0MwKSIsImRlc2NyaXB0aW9uIjoiQmFja2dyb3VuZCBwaWN0dXJlIG9mIGFuIHVuZGVyd2F0ZXIgb2NlYW4iLCJhdHRyaWJ1dGlvbl91cmwiOiJodHRwczpcL1wvc3RvY2tzbmFwLmlvXC9waG90b1wvdW5kZXJ3YXRlci1vY2Vhbi1USkE5TEJINFdTIiwicHJpbWFyeV9jb2xvciI6IiMwNDU3N2UifSwiem9sdGFuLXZvcm9zLXJoeXRobS1hbmQtYmx1ZXMuanBnIjp7ImF0dHJpYnV0aW9uIjoiUmh5dGhtIGFuZCBibHVlcyAoWm9sdFx1MDBlMW4gVlx1MDBmNnJcdTAwZjZzLCBDQyBCWSkiLCJkZXNjcmlwdGlvbiI6IkFic3RyYWN0IGJhY2tncm91bmQgcGljdHVyZSBvZiBzYW5kIGR1bmVzIGR1cmluZyBuaWdodCIsImF0dHJpYnV0aW9uX3VybCI6Imh0dHBzOlwvXC9mbGlja3IuY29tXC9waG90b3NcL3Y5MjN6XC81MTYzNDQwOTI4OVwvIiwicHJpbWFyeV9jb2xvciI6IiMxYzI0M2MifSwiYW5hdG9seS1taWtoYWx0c292LWJ1dHRlcmZseS13aW5nLXNjYWxlLmpwZyI6eyJhdHRyaWJ1dGlvbiI6IkJ1dHRlcmZseSB3aW5nIHNjYWxlIChBbmF0b2x5IE1pa2hhbHRzb3YsIENDIEJZLVNBKSIsImRlc2NyaXB0aW9uIjoiQmFja2dyb3VuZCBwaWN0dXJlIG9mIGEgcmVkLWlzaCBidXR0ZXJmbHkgd2luZyB1bmRlciBtaWNyb3Njb3BlIiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cHM6XC9cL2NvbW1vbnMud2lraW1lZGlhLm9yZ1wvd2lraVwvRmlsZTolRDAlQTclRDAlQjUlRDElODglRDElODMlRDAlQjklRDAlQkElRDAlQjhfJUQwJUJBJUQxJTgwJUQxJThCJUQwJUJCJUQwJUIwXyVEMCVCMSVEMCVCMCVEMCVCMSVEMCVCRSVEMSU4NyVEMCVCQSVEMCVCOC5qcGciLCJwcmltYXJ5X2NvbG9yIjoiI2E1M2MxNyJ9LCJiZXJuaWUtY2V0b25pYS1hdXJhdGEtdGFrZS1vZmYtY29tcG9zaXRpb24uanBnIjp7ImF0dHJpYnV0aW9uIjoiQ2V0b25pYSBhdXJhdGEgdGFrZSBvZmYgY29tcG9zaXRpb24gKEJlcm5pZSwgUHVibGljIERvbWFpbikiLCJkZXNjcmlwdGlvbiI6Ik1vbnRhZ2Ugb2YgYSBjZXRvbmlhIGF1cmF0YSBidWcgdGhhdCB0YWtlcyBvZmYgd2l0aCB3aGl0ZSBiYWNrZ3JvdW5kIiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cHM6XC9cL2NvbW1vbnMud2lraW1lZGlhLm9yZ1wvd2lraVwvRmlsZTpDZXRvbmlhX2F1cmF0YV90YWtlX29mZl9jb21wb3NpdGlvbl8wNTE3MjAwOS5qcGciLCJ0aGVtaW5nIjoiZGFyayIsInByaW1hcnlfY29sb3IiOiIjODY5MTcxIn0sImRlamFuLWtyc21hbm92aWMtcmliYmVkLXJlZC1tZXRhbC5qcGciOnsiYXR0cmlidXRpb24iOiJSaWJiZWQgcmVkIG1ldGFsIChEZWphbiBLcnNtYW5vdmljLCBDQyBCWSkiLCJkZXNjcmlwdGlvbiI6IkFic3RyYWN0IGJhY2tncm91bmQgcGljdHVyZSBvZiByZWQgcmliYmVkIG1ldGFsIHdpdGggdHdvIGhvcml6b250YWwgd2hpdGUgZWxlbWVudHMgb24gdG9wIG9mIGl0IiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cHM6XC9cL3d3dy5mbGlja3IuY29tXC9waG90b3NcL2RlamFua3JzbWFub3ZpY1wvNDI5NzE0NTY3NzRcLyIsInByaW1hcnlfY29sb3IiOiIjOWM0MjM2In0sImVkdWFyZG8tbmV2ZXMtcGVkcmEtYXp1bC5qcGciOnsiYXR0cmlidXRpb24iOiJQZWRyYSBhenVsIG1pbGt5IHdheSAoRWR1YXJkbyBOZXZlcywgQ0MgQlktU0EpIiwiZGVzY3JpcHRpb24iOiJCYWNrZ3JvdW5kIHBpY3R1cmUgb2YgdGhlIG1pbGt5IHdheSBkdXJpbmcgbmlnaHQgd2l0aCBhIG1vdW50YWluIGluIGZyb250IG9mIGl0IiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cHM6XC9cL2NvbW1vbnMud2lraW1lZGlhLm9yZ1wvd2lraVwvRmlsZTpQZWRyYV9BenVsX01pbGt5X1dheS5qcGciLCJwcmltYXJ5X2NvbG9yIjoiIzRmNjA3MSJ9LCJldXJvcGVhbi1zcGFjZS1hZ2VuY3ktYmFyZW50cy1ibG9vbS5qcGciOnsiYXR0cmlidXRpb24iOiJCYXJlbnRzIGJsb29tIChFdXJvcGVhbiBTcGFjZSBBZ2VuY3ksIENDIEJZLVNBKSIsImRlc2NyaXB0aW9uIjoiQWJzdHJhY3QgYmFja2dyb3VuZCBwaWN0dXJlIG9mIGJsb29taW5nIGJhcmVudHMgaW4gYmx1ZSBhbmQgZ3JlZW4gY29sb3JzIiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cHM6XC9cL3d3dy5lc2EuaW50XC9FU0FfTXVsdGltZWRpYVwvSW1hZ2VzXC8yMDE2XC8wOFwvQmFyZW50c19ibG9vbSIsInByaW1hcnlfY29sb3IiOiIjMzk2NDc1In0sImhhbm5lcy1mcml0ei1mbGlwcGl0eS1mbG9wcGl0eS5qcGciOnsiYXR0cmlidXRpb24iOiJGbGlwcGl0eSBmbG9wcGl0eSAoSGFubmVzIEZyaXR6LCBDQyBCWS1TQSkiLCJkZXNjcmlwdGlvbiI6IkFic3RyYWN0IGJhY2tncm91bmQgcGljdHVyZSBvZiBtYW55IHBhaXJzIG9mIGZsaXAgZmxvcHMgaGFuZ2luZyBvbiBhIHdhbGwgaW4gbXVsdGlwbGUgY29sb3JzIiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cDpcL1wvaGFubmVzLnBob3Rvc1wvZmxpcHBpdHktZmxvcHBpdHkiLCJwcmltYXJ5X2NvbG9yIjoiIzk4NDE1YSJ9LCJoYW5uZXMtZnJpdHotcm91bGV0dGUuanBnIjp7ImF0dHJpYnV0aW9uIjoiUm91bGV0dGUgKEhhbm5lcyBGcml0eiwgQ0MgQlktU0EpIiwiZGVzY3JpcHRpb24iOiJCYWNrZ3JvdW5kIHBpY3R1cmUgb2YgYSByb3RhdGluZyBnaWFudCB3aGVlbCBkdXJpbmcgbmlnaHQiLCJhdHRyaWJ1dGlvbl91cmwiOiJodHRwOlwvXC9oYW5uZXMucGhvdG9zXC9yb3VsZXR0ZSIsInByaW1hcnlfY29sb3IiOiIjODQ1MzM0In0sImhhbm5lcy1mcml0ei1zZWEtc3ByYXkuanBnIjp7ImF0dHJpYnV0aW9uIjoiU2VhIHNwcmF5IChIYW5uZXMgRnJpdHosIENDIEJZLVNBKSIsImRlc2NyaXB0aW9uIjoiQmFja2dyb3VuZCBwaWN0dXJlIG9mIGEgc3RvbmUgY29hc3Qgd2l0aCBmb2cgYW5kIHNlYSBiZWhpbmQgaXQiLCJhdHRyaWJ1dGlvbl91cmwiOiJodHRwOlwvXC9oYW5uZXMucGhvdG9zXC9zZWEtc3ByYXkiLCJwcmltYXJ5X2NvbG9yIjoiIzRmNjA3MSJ9LCJrYW1pbC1wb3JlbWJpbnNraS1jbG91ZHMuanBnIjp7ImF0dHJpYnV0aW9uIjoiQ2xvdWRzIChLYW1pbCBQb3JlbWJpXHUwMTQ0c2tpLCBDQyBCWS1TQSkiLCJkZXNjcmlwdGlvbiI6IkJhY2tncm91bmQgcGljdHVyZSBvZiB3aGl0ZSBjbG91ZHMgb24gaW4gZnJvbnQgb2YgYSBibHVlIHNreSIsImF0dHJpYnV0aW9uX3VybCI6Imh0dHBzOlwvXC93d3cuZmxpY2tyLmNvbVwvcGhvdG9zXC9wYXN6Y3phazAwMFwvODcxNTg1MTUyMVwvIiwicHJpbWFyeV9jb2xvciI6IiMwMDgyYzkifSwiYmVybmFyZC1zcHJhZ2ctbmV3LXplYWxhbmQtZmVybi5qcGciOnsiYXR0cmlidXRpb24iOiJOZXcgemVhbGFuZCBmZXJuIChCZXJuYXJkIFNwcmFnZywgQ0MwKSIsImRlc2NyaXB0aW9uIjoiQWJzdHJhY3QgYmFja2dyb3VuZCBwaWN0dXJlIG9mIGZlcm4gbGVhZmVzIiwiYXR0cmlidXRpb25fdXJsIjoiaHR0cHM6XC9cL2NvbW1vbnMud2lraW1lZGlhLm9yZ1wvd2lraVwvRmlsZTpOWl9GZXJuLihCbGVjaG51bV9jaGFtYmVyc2lpKV8oMTEyNjM1MzQ5MzYpLmpwZyIsInByaW1hcnlfY29sb3IiOiIjMzE2YjI2In0sInJhd3BpeGVsLXBpbmstdGFwaW9jYS1idWJibGVzLmpwZyI6eyJhdHRyaWJ1dGlvbiI6IlBpbmsgdGFwaW9jYSBidWJibGVzIChSYXdwaXhlbCwgQ0MgQlkpIiwiZGVzY3JpcHRpb24iOiJBYnN0cmFjdCBiYWNrZ3JvdW5kIHBpY3R1cmUgb2YgcGluayB0YXBpb2NhIGJ1YmJsZXMiLCJhdHRyaWJ1dGlvbl91cmwiOiJodHRwczpcL1wvd3d3LmZsaWNrci5jb21cL3Bob3Rvc1wvYnlyYXdwaXhlbFwvMjc2NjUxNDAyOThcL2luXC9waG90b3N0cmVhbVwvIiwidGhlbWluZyI6ImRhcmsiLCJwcmltYXJ5X2NvbG9yIjoiI2IxN2FiNCJ9LCJuYXNhLXdheGluZy1jcmVzY2VudC1tb29uLmpwZyI6eyJhdHRyaWJ1dGlvbiI6IldheGluZyBjcmVzY2VudCBtb29uIChOQVNBLCBQdWJsaWMgRG9tYWluKSIsImRlc2NyaXB0aW9uIjoiQmFja2dyb3VuZCBwaWN0dXJlIG9mIGdsb3dpbmcgZWFydGggaW4gZm9yZWdyb3VuZCBhbmQgbW9vbiBpbiB0aGUgYmFja2dyb3VuZCIsImF0dHJpYnV0aW9uX3VybCI6Imh0dHBzOlwvXC93d3cubmFzYS5nb3ZcL2ltYWdlLWZlYXR1cmVcL2Etd2F4aW5nLWNyZXNjZW50LW1vb24iLCJwcmltYXJ5X2NvbG9yIjoiIzAwNWFjMSJ9LCJ0b21teS1jaGF1LWFscmVhZHkuanBnIjp7ImF0dHJpYnV0aW9uIjoiQ2l0eXNjYXBlIChUb21teSBDaGF1LCBDQyBCWSkiLCJkZXNjcmlwdGlvbiI6IkJhY2tncm91bmQgcGljdHVyZSBvZiBhIHNreXNjcmFwZXIgY2l0eSBkdXJpbmcgbmlnaHQiLCJhdHRyaWJ1dGlvbl91cmwiOiJodHRwczpcL1wvd3d3LmZsaWNrci5jb21cL3Bob3Rvc1wvOTA5NzU2OTNATjA1XC8xNjkxMDk5OTM2OCIsInByaW1hcnlfY29sb3IiOiIjNmEyYWY0In0sInRvbW15LWNoYXUtbGlvbi1yb2NrLWhpbGwuanBnIjp7ImF0dHJpYnV0aW9uIjoiTGlvbiByb2NrIGhpbGwgKFRvbW15IENoYXUsIENDIEJZKSIsImRlc2NyaXB0aW9uIjoiQmFja2dyb3VuZCBwaWN0dXJlIG9mIG1vdW50YWlucyBkdXJpbmcgc3Vuc2V0IG9yIHN1bnJpc2UiLCJhdHRyaWJ1dGlvbl91cmwiOiJodHRwczpcL1wvd3d3LmZsaWNrci5jb21cL3Bob3Rvc1wvOTA5NzU2OTNATjA1XC8xNzEzNjQ0MDI0NiIsInRoZW1pbmciOiJkYXJrIiwicHJpbWFyeV9jb2xvciI6IiNjMDc0YTkifSwibGFsaS1tYXNyaWVyYS15ZWxsb3ctYnJpY2tzLmpwZyI6eyJhdHRyaWJ1dGlvbiI6IlllbGxvdyBicmlja3MgKExhbGkgTWFzcmllcmEsIENDIEJZKSIsImRlc2NyaXB0aW9uIjoiQmFja2dyb3VuZCBwaWN0dXJlIG9mIHllbGxvdyBicmlja3Mgd2l0aCBzb21lIHllbGxvdyB0dWJlcyIsImF0dHJpYnV0aW9uX3VybCI6Imh0dHBzOlwvXC93d3cuZmxpY2tyLmNvbVwvcGhvdG9zXC92aXN1YWxwYW5pY1wvMzk4MjQ2NDQ0NyIsInRoZW1pbmciOiJkYXJrIiwicHJpbWFyeV9jb2xvciI6IiNiYzgyMTAifX0=">
                    <input type="hidden" id="initial-state-theming-data" value="eyJuYW1lIjoiU29zaCBOZXh0Y2xvdWQiLCJ1cmwiOiJodHRwczpcL1wvbmV4dGNsb3VkLmNvbSIsInNsb2dhbiI6InRoZSBjbG91ZCBidXQgaXQgbWUiLCJjb2xvciI6IiM0ZjYwNzEiLCJkZWZhdWx0Q29sb3IiOiIjZDNhOTY3IiwiaW1wcmludFVybCI6IiIsInByaXZhY3lVcmwiOiIiLCJpbnZlcnRlZCI6ZmFsc2UsImNhY2hlQnVzdGVyIjoiMGFmMjU0YTUiLCJlbmFibGVkVGhlbWVzIjpbImRhcmsiXX0=">
                    <input type="hidden" id="initial-state-core-versionHash" value="ImRkZGJjYjA1Ig==">
                    <input type="hidden" id="initial-state-comments-maxAutoCompleteResults" value="MTA=">
                <div class="wrapper">
            <div class="v-align">
                                    <header>
                        <div id="header">
                            <div class="logo"></div>
                        </div>
                    </header>
                                <main>
                    <h1 class="hidden-visually">
                        Sosh Nextcloud                  </h1>
                        <div class="body-login-container update">
        <div class="icon-big icon-search"></div>
        <h2>Page not found</h2>
        <p class="infogroup">The page could not be found on the server or you may not be allowed to view it.</p>
        <p><a class="button primary" href="/">
            Back to Sosh Nextcloud      </a></p>
    </div>
                </main>
            </div>
        </div>
                <footer class="guest-box ">
            <p class="info">
                <a href="https://nextcloud.com" target="_blank" rel="noreferrer noopener" class="entity-name">Sosh Nextcloud</a> – the cloud but it me          </p>
        </footer>
    </body>
</html>
]
    at it.niedermann.nextcloud.deck.remote.api.RequestHelper$ResponseConsumer.buildCause(RequestHelper.java:87)
    ... 5 more
desperateCoder commented 1 month ago

Hi @sirabdude,

The app is actually not requesting localhost. The reason why it states it does is simple: you reached out to us and posted this Stacktrace. Now you might be aware what you just posted, but not everyone is. In case someone doesn't redact the logs, they dox themselves in front of the whole Internet.

Regarding your problem: have a closer look at the servers answer:

Sosh Nextcloud

I guess you'll recognize this title? This isn't localhost. For some reason I can't name, your server responds with a HTML page instead of the requested data.

The page could not be found on the server or you may not be allowed to view it.

That's all I can tell for now. I'd suspect a reverse proxy doing weird things to your request.

desperateCoder commented 1 month ago

Oh, additionally, the requested url was the following:

/index.php/apps/deck/api/v1.0/boards

This means your capabilities endpoint isn't the problem here, since it is requested before any boards. You can try to curl the boards endpoint as well and might get the same thing as the app.

Sometimes errors like this also happen, when you never visited the actual web app before connecting our android app to it. Worth a try, just in case

sirabdude commented 1 month ago

Hi @sirabdude,

The app is actually not requesting localhost. The reason why it states it does is simple: you reached out to us and posted this Stacktrace. Now you might be aware what you just posted, but not everyone is. In case someone doesn't redact the logs, they dox themselves in front of the whole Internet.

Regarding your problem: have a closer look at the servers answer:

Sosh Nextcloud

I guess you'll recognize this title? This isn't localhost. For some reason I can't name, your server responds with a HTML page instead of the requested data.

The page could not be found on the server or you may not be allowed to view it.

That's all I can tell for now. I'd suspect a reverse proxy doing weird things to your request.

Hi @desperateCoder thanks for the reply.

I'm not worried about the stack trace - there's nothing super identifying in it and I'm pretty confident in my firewall ;)

What you're saying makes a lot more sense - in my cursory dig through the android app code I coudltn see for the life of me how localhost would have gotten into the rest calls.

I am running a reverse proxy with some other services proxied through it as well - I imagine I screwed up my nginx config.

Thanks for the help!

sirabdude commented 1 month ago

Oh, additionally, the requested url was the following:

/index.php/apps/deck/api/v1.0/boards

This means your capabilities endpoint isn't the problem here, since it is requested before any boards. You can try to curl the boards endpoint as well and might get the same thing as the app.

Sometimes errors like this also happen, when you never visited the actual web app before connecting our android app to it. Worth a try, just in case

I'll try these as well.