summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)AuthorFiles
2022-02-08merge fixupLibravatar tsmethurst3
2022-02-08Merge branch 'main' into media_refactorLibravatar tsmethurst54
2022-02-08update outdated commentLibravatar tsmethurst1
2022-02-07[feature] add authorization to the already-existing authentication (#365)Libravatar Forest Johnson14
* add ensureUserIsAuthorizedOrRedirect to /oauth/authorize * adding authorization (email confirm, account approve, etc) to TokenCheck * revert un-needed changes to signin.go * oops what happened here * error css * add account.SuspendedAt check * remove redundant checks from oauth util Authed function * wip tests * tests passing * stop stripping useful information from ErrAlreadyExists * that feeling of scraping the dryer LINT off the screen * oops I didn't mean to get rid of this NewTestRouter function * make tests work with recorder * re-add ConfigureTemplatesWithGin to handle template path err Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-02-06don't bother negotiating Accept for webfinger (#381)Libravatar tobi1
2022-02-06if accountDomain isn't set, use Host value instead (#380)Libravatar tobi2
2022-02-05[feature] Rework timeline code to make it useful for more than just statuses ↵Libravatar tobi23
(#373) * add preparable and timelineable interfaces * initialize timeline manager within the processor * generic renaming * move status-specific timeline logic into the processor * refactor timeline to make it useful for more than statuses
2022-01-31[bug] Fix OIDC users requiring second approval (#371)Libravatar tobi2
* tidy up NewSignup * pre-approve users created via OIDC
2022-01-31[bug] Send plaintext emails to fix "message refused: Message is not RFC 2822 ↵Libravatar Forest Johnson7
compliant" (#366) * trying to fix "message refused: Message is not RFC 2822 compliant" * fix "message refused: Message is not RFC 2822 compliant" 550 5.7.1 Delivery not authorized, message refused: Message is not RFC 2822 compliant * remove silly regex * lint * fix tests * we should use text/template instead of html/template now
2022-01-30[bug] Fix sqlite empty address issue (#370)Libravatar tobi2
* error when empty address has been set for sqlite * better explain sqlite db-address setting
2022-01-30[bug] Fix minimum description length check (#369)Libravatar tobi3
* add/update tests * don't check min description length on media create
2022-01-30[feature] Make Let's Encrypt integration an opt-in feature (#368)Libravatar tobi1
2022-01-29put store lock file in base of storageLibravatar tsmethurst1
2022-01-25ensure blocking calls to getRemoteAccount before showing stuff to clientLibravatar tsmethurst2
2022-01-25fix up some account conversion logicLibravatar tsmethurst3
2022-01-25only update account in db if changedLibravatar tsmethurst1
2022-01-24change getaccount function signatureLibravatar tsmethurst1
2022-01-24ctx => innerctxLibravatar tsmethurst1
2022-01-24use background context w/deadlineLibravatar tsmethurst1
2022-01-24start trying to figure out why this test is failingLibravatar tsmethurst1
2022-01-24test with disk storage as wellLibravatar tsmethurst1
2022-01-24update remote account get/deref logicLibravatar tsmethurst17
2022-01-23add file size checksLibravatar tsmethurst1
2022-01-23rework data function to provide filesizeLibravatar tsmethurst12
2022-01-16pass reader around instead of []byteLibravatar tsmethurst13
2022-01-15lint, fmtLibravatar tsmethurst2
2022-01-15emoji code passing musterLibravatar tsmethurst9
2022-01-15start fixing up emoji processing codeLibravatar tsmethurst8
2022-01-11pin instanceAccountID to in-process emojiLibravatar tsmethurst1
2022-01-11pass a function into the manager, start work on emojiLibravatar tsmethurst19
2022-01-10test the media manager a bit, add shutdown logicLibravatar tsmethurst32
2022-01-09add async testLibravatar tsmethurst1
2022-01-09tests are passing, but there's still much to be doneLibravatar tsmethurst17
2022-01-08compiling nowLibravatar tsmethurst17
2022-01-08further refinementsLibravatar tsmethurst4
2022-01-04start working on thumb + full funcsLibravatar tsmethurst3
2022-01-03return very partial image on first uploadLibravatar tsmethurst5
2022-01-02fiddle around with workersLibravatar tsmethurst7
2021-12-28more refactoring, media handler => managerLibravatar tsmethurst25
2021-12-27start refactor of media packageLibravatar tsmethurst6
2021-12-21[fix] Make postgres connections magically work in common setups (#352)Libravatar embr2
* Don't use the system 'postgres' database by default * Use postgres adapter defaults The pgx code actually goes to great lengths to make postgres connections Just Work(tm) out of the box, including supporting `~/.pg_service.conf`, SSL certificates, UNIX sockets if it can find a socket at a common path, and falling back to TCP to localhost if not. (On Windows, it won't try to use UNIX sockets, but will read credentials from %appdata% as is standard over there.) By applying our flags as overrides only when they're specified, database connections should Just Work(tm) anywhere `psql gotosocial` does.
2021-12-20Extend license notices to 2022 (#354)Libravatar tobi521
2021-12-20Remove unnecessary storage config variables (#344)Libravatar tobi41
* rewire config to not use extraneous serve vars * rename 'file' to 'local' for consistency * use Type and Size again
2021-12-20return first offer when no accept header set (#351)Libravatar tobi1
2021-12-20Log when listening (#350)Libravatar embr1
* Log when starting letsencrypt endpoint + clearer errors Running `gotosocial server` with the default configuration will try to bind to :80 and listen for letsencrypt challenges, which will fail if running as non-root (w/o capabilities), or if eg. nginx hogs the port. When that happens, this should make it more obvious what's wrong. * Log what address/port we're listening on Always nice not to have to guess. Also feels more consistent than just doing it for the letsencrypt endpoint.
2021-12-12Add optional syslog logrus hook (#343)Libravatar tobi6
* add optional syslog logrus hook * document syslog
2021-12-12Upstep Go dependencies (#340)Libravatar tobi1
* Upstep Go dependencies * tiny linter fix * Tidy
2021-12-11Add `Accept` header negotiation to relevant API endpoints (#337)Libravatar tobi76
* start centralizing negotiation logic for API * swagger document nodeinfo endpoint * go fmt * document negotiate function * use content negotiation * tidy up negotiation logic * negotiate content throughout client api * swagger * remove attachment on Content * add accept header to test requests
2021-12-07Implement Cobra CLI tooling, Viper config tooling (#336)Libravatar tobi149
* start pulling out + replacing urfave and config * replace many many instances of config * move more stuff => viper * properly remove urfave * move some flags to root command * add testrig commands to root * alias config file keys * start adding cli parsing tests * reorder viper init * remove config path alias * fmt * change config file keys to non-nested * we're more or less in business now * tidy up the common func * go fmt * get tests passing again * add note about the cliparsing tests * reorganize * update docs with changes * structure cmd dir better * rename + move some files around * fix dangling comma
2021-11-27Require confirmed email when checking oauth token (#332)Libravatar tobi8
* move token checker to security package * update tests with new security package * add oauth token checking to security package * check if user email confirmed when parsing token