summaryrefslogtreecommitdiff
path: root/web/source/settings/components
AgeCommit message (Collapse)AuthorFiles
2026-01-22[bugfix] Check that token is defined before logging the user out (#4632)v0.20.3Libravatar prettysunflower1
# Description This pull request should fix #3761? So, currently, the [logout mutation](https://codeberg.org/superseriousbusiness/gotosocial/src/commit/b310e99b436357bb34b98f1b9233f3c9c69aaab0/web/source/settings/lib/query/login/index.ts#L189) is expecting the token to be defined, and throws if it isn't. However, the auth component logout the user if an error is found while verifying credentials, and there are cases where the token can at this point be undefined. (this happens to me a lot when I want to get to GTS's settings, I start the login flow, approve the login on my OIDC, get distracted, and forget to approve the oauth app) In this case, the user is stuck on a white page until they finish the previous login attempt (which can be difficult if the process was abandoned), or delete the site's local storage. This pull request checks for the presence of the token before logging out the user (avoiding the logout mutation to throw and result in a white page), and the absence of the token to restart the authentication process. The error that was the reason that logoutQuery was called is now displayed to the user, and the user has the ability to restart the login process. ## Checklist Please put an x inside each checkbox to indicate that you've read and followed it: `[ ]` -> `[x]` If this is a documentation change, only the first two checkboxes must be filled (you can delete the others if you want). - [X] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [X] I/we have not used so-called 'AI' to create the proposed changes. - [ ] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [X] I/we have performed a self-review of added code. - [X] I/we have written code that is legible and maintainable by others. - [X] I/we have commented the added code, particularly in hard-to-understand areas. - [ ] I/we have made any necessary changes to documentation. - I don't think this is applicable? - [ ] I/we have added tests that cover new code. - Only TypeScript was edited, and I don't think there are tests currently implemented for that part? - [X] I/we have run tests and they pass locally with the changes. - [X] I/we have run `go fmt ./...` and `golangci-lint run`. - golangci-lint indicated 3 issues that were not introduced by this pull request Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4632 Co-authored-by: prettysunflower <me@prettysunflower.moe> Co-committed-by: prettysunflower <me@prettysunflower.moe>
2025-09-16[bugfix] prevent clicking Enter in description field from deleting the image ↵Libravatar ptrcnull1
(#4436) # Description Change the type of "Delete header" / "Delete avatar" button to just "button" to prevent them from getting deleted if user presses Enter in the description field. Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4363 ## Checklist Please put an x inside each checkbox to indicate that you've read and followed it: `[ ]` -> `[x]` If this is a documentation change, only the first checkbox must be filled (you can delete the others if you want). - [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [ ] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [x] I/we have not leveraged AI to create the proposed changes. - [x] I/we have performed a self-review of added code. - [x] I/we have written code that is legible and maintainable by others. - [ ] I/we have commented the added code, particularly in hard-to-understand areas. - [x] I/we have made any necessary changes to documentation. - [ ] I/we have added tests that cover new code. - [ ] I/we have run tests and they pass locally with the changes. - [x] I/we have run `go fmt ./...` and `golangci-lint run`. Co-authored-by: ptrcnull <git@ptrcnull.me> Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4436 Co-authored-by: ptrcnull <ptrcnull@noreply.codeberg.org> Co-committed-by: ptrcnull <ptrcnull@noreply.codeberg.org>
2025-05-06[bugfix] Fixes to tablist, fileinput, checkbox (#4139)Libravatar tobi1
Some fixes to various frontend things: - Fix signup checkbox being height 0 on webkit - closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4136 - Fix wonky file input on chrome and webkit - closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4138 - Make tablist in interaction policies keyboard accessible with proper left/right + focus handling, see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/tablist_role Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4139 Co-authored-by: tobi <tobi.smethurst@protonmail.com> Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2025-04-26[feature] Move to code.superseriousbusiness.orgLibravatar Daenney1
2025-04-19[chore] Little settings panel report view tweak (#4025)v0.19.0-rc2Libravatar tobi1
2025-04-18[feature/frontend] Hide "engagement" stats, edits, and other info under a ↵Libravatar tobi1
little drop down to unclutter status info bar (#4021) * dick about with stats a bit * more dicking abuot * lil tweaks * more about-dicking * weee * comments * fixie uppie
2025-04-14[bugfix/frontend] Fix photoswipe layout issues, keyboard shortcuts (#4010)Libravatar tobi3
* fix photoswipe layout issues (chrome) * aaaaaaaaaaaaaa * wwwwwwwwwwww
2025-04-09[bugfix] Fix a couple accessibility issues with `:focus` elements (#3979)Libravatar tobi3
* [bugfix/frontend] Fix accessibility/focus issues in settings + web ui * fix little error * tweaks
2025-03-17[feature] Application creation + management via API + settings panel (#3906)Libravatar tobi5
* [feature] Application creation + management via API + settings panel * fix docs links * add errnorows test * use known application as shorter * add comment about side effects
2025-03-07[feature] Parse content warning to HTML, serialize via client API as ↵Libravatar tobi1
plaintext (#3876) * [feature] Parse content warning as HTML, serialize via API to plaintext * tidy up some cruft * whoops * oops * i'm da joker baybee * clemency muy lorde * rename some of the text functions for clarity * jiggle the opts * fiddle de deee * hopefully the last test fix i ever have to do in my beautiful life
2025-02-26[feature] Enforce OAuth token scopes (#3835)Libravatar tobi2
* move tokenauth to apiutil * enforce scopes * docs * update test models, remove deprecated "follow" * file header * tests * tweak scope matcher * simplify... * fix tests * log user out of settings panel in case of oauth error
2025-01-08[feature] Fetch + create domain permissions from subscriptions nightly (#3635)Libravatar tobi1
* peepeepoopoo * test domain perm subs * swagger * envparsing * dries your wets * start on docs * finish up docs * copy paste errors * rename actions package * rename force -> skipCache * move obfuscate parse nearer to where err is checked * make higherPrios a simple slice * don't use receiver for permsFrom funcs * add more context to error logs * defer finished log * use switch for permType instead of if/else * thanks linter, love you <3 * validate csv headers before full read * use bufio scanner
2025-01-05[feature] Create/update/remove domain permission subscriptions (#3623)Libravatar tobi1
* [feature] Create/update/remove domain permission subscriptions * lint * envparsing * remove errant fmt.Println * create drafts, subs, exclude, from snapshot models * name etag column correctly * remove count column * lint
2024-11-21[feature] Add domain permission drafts and excludes (#3547)Libravatar tobi2
* [feature] Add domain permission drafts and excludes * fix typescript complaining * lint * make filenames more consistent * test own domain excluded
2024-10-21[feature] Add image descriptions for default avatar + header; don't allow ↵v0.17.1Libravatar tobi1
editing default desc (#3473)
2024-08-27[bugfix/frontend] Fix `TypeError: gtsError is undefined` (#3245)Libravatar tobi1
2024-08-24[feature] Interaction requests client api + settings panel (#3215)Libravatar tobi1
* [feature] Interaction requests client api + settings panel * test accept / reject * fmt * don't pin rejected interaction * use single db model for interaction accept, reject, and request * swaggor * env sharting * append errors * remove ErrNoEntries checks * change intReqID to reqID * rename "pend" to "request" * markIntsPending -> mark interactionsPending * use log instead of returning error when rejecting interaction * empty migration * jolly renaming * make interactionURI unique again * swag grr * remove unnecessary locks * invalidate as last step
2024-08-21[bugfix/frontend] Small safari + gnome web fixes (#3219)Libravatar tobi1
* [bugfix/frontend] Small safari + gnome web fixes * wee * update comment
2024-07-24[feature] Allow user to set "bot" flag; show bot icon on profile (#3135)Libravatar tobi1
* [feature] Allow user to set "bot" flag; show bot icon on profile * tweak * update customs
2024-07-20[chore/frontend] Use smaller webp images for logo and default avatars (#3119)Libravatar tobi1
2024-07-17[feature] Allow users to set default interaction policies per status ↵Libravatar tobi1
visibility (#3108) * [feature] Allow users to set default interaction policies * use vars for default policies * avoid some code repetition * unfuck form binding * avoid bonkers loop * beep boop * put policyValsToAPIPolicyVals in separate function * don't bother with slices.Grow * oops
2024-07-08[feature/frontend] Allow setting alt-text for avatar + header (#3086)Libravatar tobi1
2024-06-18[feature/frontend] Reports frontend v2 (#3022)Libravatar tobi4
* use apiutil + paging in admin processor+handlers * we're making it happen * fix little whoopsie * styling for report list * don't youuuu forget about meee don't don't don't don't * last bits * sanitize content before showing in report statuses * update report docs
2024-05-07[bugfix] Reset emoji fields on upload error (#2905)Libravatar tobi3
2024-05-05[feature] Add HTTP header permission section to frontend (#2893)Libravatar tobi3
* [feature] Add HTTP header filter section to frontend * tweak naming a bit
2024-05-01[feature] Page through accounts as moderator (#2881)Libravatar tobi3
* [feature] Page through accounts as moderator * aaaaa * use COLLATE "C" for Postgres to ensure same ordering as SQLite * fix typo, test paging up * don't show moderation / info for our instance acct
2024-04-25[chore] Settings refactor 2: the re-refactoring-ing (#2866)Libravatar tobi8
* [chore] Bit more refactoring of settings panel * fix up some remaining things * groovy baby yeah! * remove unused Suspense
2024-04-24[chore] Refactor settings panel routing (and other fixes) (#2864)Libravatar tobi2
2024-04-13[feature] Admin accounts endpoints; approve/reject sign-ups (#2826)Libravatar tobi3
* update settings panels, add pending overview + approve/deny functions * add admin accounts get, approve, reject * send approved/rejected emails * use signup URL * docs! * email * swagger * web linting * fix email tests * wee lil fixerinos * use new paging logic for GetAccounts() series of admin endpoints, small changes to query building * shuffle useAccountIDIn check *before* adding to query * fix parse from toot react error * use `netip.Addr` * put valid slices in globals * optimistic updates for account state --------- Co-authored-by: kim <grufwub@gmail.com>
2023-12-27[chore] Refactor HTML templates and CSS (#2480)Libravatar tobi2
* [chore] Refactor HTML templates and CSS * eslint * ignore "Local" * rss tests * fiddle with OG just a tiny bit * dick around with polls a bit more so SR stops saying "clickable" * remove break * oh lord * don't lazy load avatar * fix ogmeta tests * clean up some cruft * catch remaining calls to c.HTML * fix error rendering + stack overflow in tag * allow templating attributes * fix indent * set aria-hidden on status complementary content, since it's already present in the label anyway * tidy up templating calls a little * try to make styling a bit more consistent + readable * fix up some remaining CSS issues * fix up reports
2023-10-17[feature] Allow import/export/creation of domain allows via admin panel (#2264)v0.12.0-rc1Libravatar tobi5
* it's happening! * aaa * fix silly whoopsie * it's working pa! it's working ma! * model report parameters * shuffle some more stuff around * getting there * oo hoo * finish tidying up for now * aaa * fix use form submit errors * peepee poo poo * aaaaa * ffff * they see me typin', they hatin' * boop * aaa * oooo * typing typing tappa tappa * almost done typing * weee * alright * push it push it real good doo doo doo doo doo doo * thingy no worky * almost done * mutation modifers not quite right * hmm * it works * view blocks + allows nicely * it works! * typia install * the old linterino * linter plz
2023-10-05[chore] Convert some settings / admin panel JS to TypeScript (#2247)Libravatar tobi13
* initial conversion of STUFF to typescript * more stuff * update babel deps, include commonjs transform * update bundler & eslint configuration * eslint --fix * upgrade deps * update docs, build stuff, peripheral stuff --------- Co-authored-by: f0x <f0x@cthu.lu>
2023-05-13[frontend] Basic user moderation actions (#1728)Libravatar f0x522
* remove info banner * update swagger definition for AccountAction * basic user view, suspend action * clean up suspended user display * basic user searching * rename User -> Account for clarity * refactor error boundary component to give better info * appease the linter
2023-05-11[frontend] Profiles with fields & more (#1764)Libravatar f0x522
* redesign status template * separate index page styling * redesign profile template * fix header styling/wrapping * remove old spoiler js * fix status cw button wrapping * fix status info variables * profile responsiveness, accessibility tweaks * fix variable use, mobile * remove duplicate id's * rss icon, fix indent * fix toot border-radius * fix toot spacing * emojify and html profile fields * refactor (sensitive) media rendering * plaintext profile fields * bundle plyr icon svg * only pause video when switching photoswipe slides * yarn upgrade * profile fields formatting * replace uglifyify with @browserify updated fork * fix profile field templating (yet again) * fix React classes * testrig: add testing profile field for admin user * fix sensitive media interactions * Revert "testrig: add testing profile field for admin user" This reverts commit 80490c183e6639ce5b57fcfca6772d8f96df8706. * settings interface wrapping * fix reported toot styling * add role to profile sr-only text * comment fallback rule * remove currently unused image description lacking indicator
2023-03-29[frontend] Settings navigation design (#1652)Libravatar f0x522
* change header image alignment (cherry picked from commit df1bb339a5c597a2b668cedb3dafec5a390df120) * big mess navigation refactor * bit of cleanup * minor css tweaks * fix error rendering code for remote emoji * refactor navigation structure code * refactor styling * fix className * stash * restructure navigation generation * url wildcard formatting * remove un-implemented User menu entry * remove commented lines * clarify permissions check * invert permissions logic for clarity
2023-03-12update license headers (#1612)Libravatar f0x5213
2023-03-11[frontend/fix] Mobile css tweaks (#1605)Libravatar f0x521
* mobile css tweaks * bulk process list mobile css
2023-02-06[chore/frogend] Restructure form data default values / update from Query ↵Libravatar f0x521
data (#1422) * eslint: set console use to error to catch debug littering in CI * remove debug logging * some form field restructuring, fixes submitted updates not being reflected * more form field restructuring * remove debug logger * simplify field updates * fix react state set during render when submitting import file * className instead of class * show Select hints again
2023-02-03[feature/frogend] (Mastodon) domain block CSV import (#1390)Libravatar f0x522
* checkbox-list styling with taller <p> element * CSV import/export, UI/UX improvements to import-export interface * minor styling tweaks * csv export, clean up export type branching * abstract domain block entry validation * foundation for PSL check + suggestions * Squashed commit of the following: commit e3655ba4fbea1d55738b2f9e407d3378af26afe6 Author: f0x <f0x@cthu.lu> Date: Tue Jan 31 15:19:10 2023 +0100 let debug depend on env (prod/debug) again commit 79c792b832a2b59e472dcdff646bad6d71b42cc9 Author: f0x <f0x@cthu.lu> Date: Tue Jan 31 00:34:01 2023 +0100 update checklist components commit 4367960fe4be4e3978077af06e63a729d64e32fb Author: f0x <f0x@cthu.lu> Date: Mon Jan 30 23:46:20 2023 +0100 checklist performance improvements commit 204a4c02d16ffad189a6e8a6001d5bf4ff95fc4e Author: f0x <f0x@cthu.lu> Date: Mon Jan 30 20:05:34 2023 +0100 checklist field: use reducer for state * remove debug logging * show and use domain block suggestion * restructure import/export buttons * updating suggestions * suggestion overview * restructure check-list behavior, domain import/export
2023-01-25[chore] Settings refactor fix4 (#1383)Libravatar f0x521
* fix error handling behavior in emoji overview and FormWithData components * css: long domain cutoff * unused require * eslint vscode task
2023-01-19[chore] Add name to instance field for autosuggestion (#1359)Libravatar f0x521
2023-01-18[chore] Settings refactor fix 2 (#1357)Libravatar f0x521
* fix emoji query tagging * fix proxy url for gts instance * fix: don't flash callback error on authorize flow
2023-01-18[frogend] Settings refactor (#1318)Libravatar f0x5220
* yakshave new form field structure * fully refactor user profile settings form * use rtk query api for profile settings * refactor user post settings * refactor password change form * refactor admin settings * FormWithData structure for user forms * admin actions refactor * whitespace * fix user settings data prop * remove superfluous logging * cleanup old code * refactor federation/suspend (overview, detail) * mostly abstracted (emoji) checkbox list * refactor parse-from-toot * refactor custom-emoji, progress on federation bulk * loading icon styling to prevent big spinny * refactor federation import-export interface * cleanup old files * [chore] Update/add license headers for 2023 * redux fixes * text-field exports * appease the linter * refactor authentication with RTK Query * fix login/logout state transition weirdness * fixes/cleanup * small linter-related fixes * add eslint license header check, fix existing files * remove old code, clarify comment * clarify suspend on subdomains * collapse if/else * fa-fw width info comment
2023-01-05[chore] Update/add license headers for 2023 (#1304)Libravatar tobi16
2022-12-11[frogend] Emoji copy "Steal this look" (#1222)Libravatar f0x522
* split emoji into local and remote, allow looking up remote emoji by toot url * optimize some/all filtering * fix local emoji routes * implement copy action * shortcode validation, don't wipe form on error * copy & disable PATCH * remove local toot acceptance for testing * unused import * parse emoji from account and status, get web_url from status uri * fix url parse * submit button loading info * actually send category * code cleanup, distinguish between account and status responses * use loading icons * fix loading icon on federation page * require Loading element * remove unused require * query explanation, small accessibility tweaks
2022-11-25[chore] Fix frogend admin emoji patch (#1148)Libravatar f0x521
* fix className * fix unable to set category on new emoji * wrap emoji groups
2022-11-25[feature/frogend] modify local emoji (#1143)Libravatar f0x522
* update danger button red * emoji category and image modification * debug bundles in dev * fix linting error
2022-11-23[chore/frogend] fix profile preview css, use role info (#1130)Libravatar f0x521
* fix profile preview css, use role info * remove unused redux selector
2022-11-16[frogend] Emoji categories (#1051)Libravatar f0x523
* emoji category combobox * emoji categorizing * dropdown entry separation * emoji filtering/sorting * add some explaining comments * remove unneeded default-value code * remove wrongly created package.json * configurable ComboBox label+placeHolder
2022-11-08[frontend] Custom Emoji Deletion (#994)Libravatar f0x526
* re-add eslint * fix oauth url getting too long * actually attach single emoji get and delete routes * basic emoji details + deletion using rtk query * refactor emoji upload to rtk query * clean up old redux api+reducers for custom emoji * fix validation order * refactor custom emoji form fields * remove unused requires * cleanup, fix most eslint errors * more small eslint fixes * fix max emoji size * tiny bit of function documentation