summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)AuthorFiles
2025-03-19[bugfix] Fix set obfuscate = null error in adoptPerm (#3922)Libravatar tobi2
* [chore] More tests for domain allow + block subscriptions * [bugfix] Fix set `obfuscate = null` error in adoptPerm * fmt
2025-03-18[bugfix] Avoid nil ptr if maintenance router can't be started (#3919)Libravatar tobi1
2025-03-18[performance] reindex public timeline + tinker with query a bit (#3918)Libravatar tobi2
2025-03-17[feature] Application creation + management via API + settings panel (#3906)Libravatar tobi23
* [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-11[bugfix] Fix panic when opening instance actor in web view (#3898)Libravatar tobi1
2025-03-10[chore] add warning message when wazero compiler not supported (#3894)Libravatar kim1
* add warning message when wazero compiler not supported, update supported platforms in README * whoops don't return a reason string for arm64, since it should always be supported
2025-03-10[performance] Optimize local timeline + local status count queries (#3892)Libravatar tobi4
* [performance] Optimize local timeline + local status count queries * remove if not exists from create view
2025-03-09[bugfix] Fix `length for type varchar must be at least 1` on Postgres (#3885)Libravatar tobi1
2025-03-07[feature] Parse content warning to HTML, serialize via client API as ↵Libravatar tobi44
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-03-06[bugfix] Store and expose status content type (#3870)Libravatar ewwwin24
* Add ContentType to internal models * Add ContentType to API models StatusSource and StatusEdit * Add helpers to convert between API/internal StatusContentType * Write status content type on create/edit * Add migration * Update API docs go run github.com/go-swagger/go-swagger/cmd/swagger generate spec --scan-models --exclude-deps --output docs/api/swagger.yaml * ensure ContentType is updated anywhere Text is * Update docs, take care of TODOs * Set ContentType in more places where Text is set * We don't actually use ContentType on the API status model * Update StatusSource test * Remove unused helper function I copied * Revert change to StatusContentType swagger annotation I'm going to include this in a follow-on PR instead. * Add test for updating content type in edits * Return a value from processContentType instead of modifying the existing status Fixes an issue that was caught by the test I just added - the recorded edit would be marked with the *new* content type instead of the old one, which is obviously bad * Add test for handling of statuses with no stored content type * repurpose an existing test status instead of adding a new one to avoid breaking other tests * Add test to ensure newly created statuses always have content type saved * Do include content type on status API model actually This is mostly important when deleting and redrafting. The comment on `apimodel.Status.Text` implies that it's not sent except in response to status deletion, but actually this doesn't seem to be the case; it also appears to be present in responses to creations and normal fetches and stuff. So I'm treating `ContentType` the same here. * Update new tests to check content type on API statuses * Check content type of API statuses in all tests where text is checked * update other api tests with status content type field * Add test ensuring text and content type are returned when deleting a status * Convert processContentType to free function and remove unused parameter * check for the correct value in the deletion test * Be explicit about this test status having an empty content type * Use omitempty consistently on API models * clean up the final diff a bit * one more swagger regen for the road * Handle nil statuses in processContentType * Don't pass processContentType the entire edit form, it doesn't need it * Move processContentType to common.go and use for creation as well * Remove unused parameters to ContentTypeToAPIContentType
2025-03-05[bugfix] Return useful err on `server start` failure (#3879)Libravatar tobi5
* [bugfix] Return useful err on `server start` failure * remove scheduler started func * remove tryUntil
2025-03-04[feature] Add token review / delete to backend + settings panel (#3845)Libravatar tobi14
2025-03-03[bugfix] Fix app migration (#3868)Libravatar tobi1
* [bugfix] Fix app migration * use temporary index during migration * create temporary index for the migration * include local = true in temporary index * tweak migration a bit for SPEED
2025-03-03[bugfix] fix refreshed additional media info being ignored (#3867)Libravatar kim2
* fix refreshed additional media info being ignored when force flag already set * also update to always iterate through all additional info fields * make similar changes for emoji, even if not necessary, just to keep in-sync
2025-03-03[feature] Refactor tokens, allow multiple app redirect_uris (#3849)Libravatar tobi70
* [feature] Refactor tokens, allow multiple app redirect_uris * move + tweak handlers a bit * return error for unset oauth2.ClientStore funcs * wrap UpdateToken with cache * panic handling * cheeky little time optimization * unlock on error
2025-03-02[chore] migrate oauth2 -> codeberg (#3857)Libravatar tobi9
2025-03-02[chore] github.com/superseriousbusiness/httpsig -> ↵Libravatar tobi6
codeberg.org/superseriousbusiness/httpsig (#3854)
2025-03-02[chore] github.com/superseriousbusiness/activity -> ↵Libravatar tobi67
codeberg.org/superseriousbusiness/activity (#3853)
2025-03-02[chore] little frontend tweaks (#3852)Libravatar tobi1
* [chore] little frontend tweaks * beep boop * poke * clarify server time
2025-03-01[feature] Implement CSV import for mutes (#3696)Libravatar Xavier Vello4
* Implement CSV import for mutes * update swagger.yaml * update documentation * add ImportTestSuite.TestImportMutes * fix comment typo
2025-02-26[feature] Enforce OAuth token scopes (#3835)Libravatar tobi208
* 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-02-25[docs] Fix swagger operation descriptions (#3830)Libravatar mkljczk2
* Fix swagger operation descriptions Signed-off-by: mkljczk <git@mkljczk.pl> * generate a swagger file Signed-off-by: mkljczk <git@mkljczk.pl> --------- Signed-off-by: mkljczk <git@mkljczk.pl>
2025-02-24[feature] Use ETag for robots.txt to prevent mishaps (#3829)v0.18.1Libravatar tobi3
* [feature] Use ETag for robots.txt to prevent mishaps * check incoming if-none-match header
2025-02-20[feature] Add page-specific class per template (#3814)v0.18.0-rc3Libravatar tobi3
* [feature] Add page-specific class per template * cheeky bit cheaper
2025-02-20[bugfix] update fedi api to support multiple separate votes in same multiple ↵Libravatar kim6
choice poll (#3809)
2025-02-19[feature] Forward-compatibility with Approval objects (#3807)Libravatar tobi6
* vendor * [feature] Forward-compatibility with Approval objects * vendor the thing * fix leetle bug * lil syntax tweak for beloved kimb
2025-02-17adds more code comments and some small code formatting tweaks (#3799)Libravatar kim2
2025-02-15[chore/performance] Batch migration queries (#3798)Libravatar tobi2
* separate enum migrations into their own individual transactions * pee poo * some performance tweaks and adding more comments * batch --------- Co-authored-by: kim <grufwub@gmail.com>
2025-02-14[bugfix] Drop status indices AFTER updating visibility (#3795)Libravatar tobi2
* [bugfix] Drop status indices AFTER updating visibility * rename to status vis indices just to indicate they're only used in the statuses hook func --------- Co-authored-by: kim <grufwub@gmail.com>
2025-02-13[bugfix] Return 404 when web context target status hidden (#3792)Libravatar tobi1
2025-02-12[feature] Implement backfilling statuses thru scheduled_at (#3685)Libravatar Vyr Cossont13
* Implement backfilling statuses thru scheduled_at * Forbid mentioning others in backfills * Update error messages & codes * Add new tests for backfilled statuses * Test that backfilling doesn't timeline or notify * Fix check for absence of notification * Test that backfills do not cause federation * Fix type of apimodel.StatusCreateRequest.ScheduledAt in tests * Add config file switch and min date check
2025-02-11[performance] improved enum migrations (#3782)Libravatar kim2
* updates the enum migration to perform a singular update for all values, using an SQL case statement * fix logging * fix code comment * well i guess we'll get rid of the useful but unused function then, linter. fine, i see how it is! * append to byte buffer instead of WriteString() to shut the linter up (i know you're reading this, linter)
2025-02-11[bug] respect `X-Robots-Tag` and `robots.txt` on api/v1/instance and ↵Libravatar alemi.dev5
nodeinfo (#3756) * feat: check X-Robots-Tag when accessing /api/v1/instance or /nodeinfo endpoints respect X-Robots-Tag * chore: go fmt ./... * Check robots.txt as well, add tests --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2025-02-11[bugfix] Suggest lowercase username when creating via OIDC (#3780)Libravatar tobi1
2025-02-10[feature] make account sign-up / backlog limits configurable (#3768)Libravatar tobi4
2025-02-09[bugfix] Fix POST to create account endpoint (#3767)Libravatar tobi3
2025-02-09[bugfix] Reduce Web Push record size (#3762)Libravatar Vyr Cossont1
2025-02-08[bug] Add missing `group` property to the Account model (#3746)Libravatar pnwmatt14
* Stub out account's Group parameter * Fix typo in Contributing documentation * Update swagger and match style * Update the swagger command to mimic test/swagger.sh * Fix tests for new `group` param in Account model * More test changes for new `group` param in Account * Continuing test changes for `group` param stubbing * Another round of `group` stubbing for tests
2025-02-06temporary fix for tetratelabs/wazero#2365 armv8 compiler support bug (#3741)Libravatar kim1
2025-02-06[chore] update otel libraries (#3740)Libravatar Dominik Süß7
* chore: update otel dependencies * refactor: combine tracing & metrics in observability package * chore: update example tracing compose file
2025-02-05[feature] Use `X-Robots-Tag` headers to instruct scrapers/crawlers (#3737)Libravatar tobi12
* [feature] Use `X-Robots-Tag` headers to instruct scrapers/crawlers * use switch for RobotsHeaders
2025-02-04[bugfix] wrong nodeinfo version (tobi is a boob) (#3735)Libravatar tobi1
2025-02-04[feature] Change `instance-stats-randomize` to `instance-stats-mode` with ↵Libravatar tobi13
multiple options; implement nodeinfo 2.1 (#3734) * [feature] Change `instance-stats-randomize` to `instance-stats-mode` with multiple options; implement nodeinfo 2.1 * swaggalaggadingdong
2025-02-03adds support for build specifically without wasm ffmpeg (#3732)Libravatar kim6
2025-02-03[bugfix] Don't panic on delivery of Activity with no `object` (#3730)Libravatar tobi1
2025-02-03[feature] Implement Web Push notification policy (#3721)Libravatar Vyr Cossont14
* Web Push: add policy column to subscriptions * Web Push: add policy to API * Web Push: test notification policy * go-fmt unrelated file (how did this get thru?)
2025-02-03[chore] disallow /nodeinfo/ too (#3729)Libravatar jade arson.1
2025-02-01[bugfix] Swagger: fix media_ids[] param for creating statuses (#3722)Libravatar Vyr Cossont1
2025-01-31[feature] Add `instance-stats-randomize` config option (#3718)Libravatar tobi10
* [feature] Add `instance-stats-randomize` config option * don't use cache (overkill)
2025-01-31[chore] Add "object" uri to outgoing Accept + Reject messages (#3717)Libravatar tobi2