[feature] More consistent API error handling (#637)

* update templates

* start reworking api error handling

* update template

* return AP status at web endpoint if negotiated

* start making api error handling much more consistent

* update account endpoints to new error handling

* use new api error handling in admin endpoints

* go fmt ./...

* use api error logic in app

* use generic error handling in auth

* don't export generic error handler

* don't defer clearing session

* user nicer error handling on oidc callback handler

* tidy up the sign in handler

* tidy up the token handler

* use nicer error handling in blocksget

* auth emojis endpoint

* fix up remaining api endpoints

* fix whoopsie during login flow

* regenerate swagger docs

* change http error logging to debug
This commit is contained in:
tobi
2022-06-08 20:38:03 +02:00
committed by GitHub
parent 91c0ed863a
commit 1ede54ddf6
130 changed files with 2154 additions and 1673 deletions

View File

@@ -2,7 +2,17 @@
<main>
<section>
<h1>404: Page Not Found</h1>
If you believe this was an error, you can <a href="{{.instance.ContactAccount.URL}}">contact an admin</a>
<p>
GoToSocial only serves Public statuses via the web.
If you reached this page by clicking on a status link,
it's possible that the status is not Public, has been
deleted by the author, you don't have permission to see
it, or it just doesn't exist at all.
</p>
<p>
If you believe this 404 was an error, you can contact
the instance admin.
</p>
</section>
</main>

View File

@@ -3,6 +3,5 @@
<section class="error">
<span>❌</span> <pre>{{.error}}</pre>
</section>
</main>
{{ template "footer.tmpl" .}}

View File

@@ -5,10 +5,14 @@
<a href="https://github.com/superseriousbusiness/gotosocial">Source Code</a>
</div>
<div id="contact">
{{ if .instance.ContactAccount }}
Contact: <a href="{{.instance.ContactAccount.URL}}" class="nounderline">{{.instance.ContactAccount.Username}}</a><br>
{{ end }}
</div>
<div id="email">
{{ if .instance.Email }}
Email: <a href="mailto:{{.instance.Email}}" class="nounderline">{{.instance.Email}}</a><br>
{{ end }}
</div>
</footer>
</body>