summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)AuthorFiles
2024-04-03[bugfix] improved authenticate post inbox error handling (#2803)Libravatar kim4
* improved PostInboxScheme() error handling / logging in case of failed auth * dumbass kim. returning err instead of errWithCode... * add checks for the slightly changed error handling in tests, add notes in codebase about the odd way of working
2024-04-02[bugfix] Set domain for empty-domain Friendica accounts (#2800)v0.15.0-rc1Libravatar tobi1
2024-04-02[bugfix] Set the `Host` header within the signing transport (#2799)Libravatar kim7
2024-04-02[bugfix] httpclient not signing subsequent redirect requests (#2798)Libravatar kim5
* move http request signing to transport * actually hook up the http roundtripper ... * add code comments for the new gtscontext functions
2024-04-02[chore] Try to parse public key as both Actor + bare key (#2710)Libravatar tobi5
* [chore] Try to parse public key as both Actor + bare key * fix weird test fail
2024-04-02[chore] bump go structr cache version -> v0.6.0 (#2773)Libravatar kim21
* update go-structr library -> v0.6.0, add necessary wrapping types + code changes to support these changes * update readme with go-structr package changes * improved wrapping of the SliceCache type * add code comments for the cache wrapper types * remove test.out :innocent: --------- Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
2024-04-02[feature] Option to hide followers/following (#2788)Libravatar tobi13
2024-03-28[bugfix] Serve correct URI for AP following collection (#2787)Libravatar tobi1
2024-03-25[feature] User-selectable preset CSS themes for accounts (#2777)Libravatar tobi18
* [feature] User-selectable preset themes * docs, more theme stuff * lint, tests * fix css name * correct some little issues * add another theme * fix poll background * okay last theme i swear * make retrieval of apimodel themes more conventional * preallocate stylesheet slices
2024-03-25[feature] Add healthcheck endpoints `/livez` and `/readyz` (#2783)Libravatar tobi6
* [feature] Add healthcheck endpoints `/livez` and `/readyz` * use select that returns no data
2024-03-25[bugfix] Avoid empty public/local timeline queries (#2784)Libravatar tobi4
2024-03-22[chore] Move local account settings to separate db table (#2770)Libravatar tobi33
* [chore] Move local account settings to separate database model * don't use separate settings_id
2024-03-22[bugfix] add all possible busy result codes to the sqlite errBusy catching ↵Libravatar kim1
check (#2775)
2024-03-15[bugfix] Parse links that contain non-ascii characters (#2762)Libravatar tobi3
2024-03-15[chore] Swagger: add missing paging params to bookmarks list (#2759)Libravatar Vyr Cossont1
No code changes.
2024-03-15[chore] Different error message for net/mail parsing on go 1.21.8 and above ↵Libravatar Blake Smith1
(#2760) go 1.21.8 fixed some minor issues in net/mail that causes the test suite to fail for some mail validation cases. Although we're not on go 1.21.8 yet, make the test forward and backwards compatible. See: https://github.com/golang/go/commit/263c059b09fdd40d9dd945f2ecb20c89ea28efe5
2024-03-15[chore] Swagger: correct names and formats for several array params (#2758)Libravatar Vyr Cossont3
No code changes.
2024-03-14[docs] Add database maintenance section; update info message on ANALYZE run ↵Libravatar tobi1
(sqlite) (#2756) * [chore] Limit size of ANALYZE run after migration (sqlite) * add basic db maintenance tips * update docs, analyze * amend info message a wee bit * update docs/admin/database_maintenance.md wording Co-authored-by: Daenney <daenney@users.noreply.github.com> --------- Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Co-authored-by: Daenney <daenney@users.noreply.github.com>
2024-03-14[bugfix] Don't return 500 when searching for unpermitted status (#2753)Libravatar tobi1
2024-03-14[bugfix] only check replyTo visibility during permission checks IF status is ↵Libravatar kim1
local (#2757)
2024-03-13[chore] Expose move endpoint again, small settings panel fixes (#2752)Libravatar tobi3
2024-03-13[feature] Process outgoing Move from clientAPI (#2750)Libravatar tobi57
* prevent moved accounts from taking create-type actions * update move logic * federate move out * indicate on web profile when an account has moved * [docs] Add migration docs section * lock while checking + setting move state * use redirectFollowers func for clientAPI as well * comment typo * linter? i barely know 'er! * Update internal/uris/uri.go Co-authored-by: Daenney <daenney@users.noreply.github.com> * add a couple tests for move * fix little mistake exposed by tests (thanks tests) * ensure Move marked as successful * attach shared util funcs to struct * lock whole account when doing move * move moving check to after error check * replace repeated text with error func * linterrrrrr!!!! * catch self follow case --------- Co-authored-by: Daenney <daenney@users.noreply.github.com>
2024-03-13[bugfix]: Add missing Link headers in Swagger spec (#2751)Libravatar Vyr Cossont5
* Adds Link headers to all endpoints that use it for paging * Fixes the return type for listing what accounts someone follows
2024-03-12[feature] Process incoming `Move` activity (#2724)Libravatar tobi15
* [feature] Process incoming account Move activity * fix targetAcct typo * put move origin account on fMsg * shift more move functionality back to the worker fn * simplify error logic
2024-03-11[chore] Update usage of OTEL libraries (#2725)Libravatar Daenney2
* otel to 1.24 * prometheus exporter to 0.46 * bunotel to 1.1.17 Also: * Use schemaless URL for metrics * Add software version to tracing schema
2024-03-10[bugfix] Fix whitespace move_id issue (#2742)Libravatar tobi2
2024-03-10[bugfix] Don't error when populating MovedTo if account not found (#2741)Libravatar tobi2
* [bugfix] Don't error when populating MovedTo if account not found * test the thing
2024-03-07[bugfix] add workaround for Xsqlite_interrupt() permanently breaking ↵Libravatar kim1
connection (#2731)
2024-03-07[docs/chore] Swagger fixes for filters (#2730)Libravatar Vyr Cossont3
* Swagger: filtersV1Get should return an array * Swagger: context must use multi format
2024-03-06[chore] Fix a Swagger warning that only manifests during Go client code ↵Libravatar Vyr Cossont1
generation (#2729)
2024-03-06[bugfix] Fix Swagger spec and add test script (#2698)Libravatar Vyr Cossont34
* Add Swagger spec test script * Fix Swagger spec errors not related to statuses with polls * Add API tests that post a status with a poll * Fix creating a status with a poll from form params * Fix Swagger spec errors related to statuses with polls (this is the last error) * Fix Swagger spec warnings not related to unused definitions * Suppress a duplicate list update params definition that was somehow causing wrong param names * Add Swagger test to CI - updates Drone config - vendorizes go-swagger - fixes a file extension issue that caused the test script to generate JSON instead of YAML with the vendorized version * Put `Sample: ` on its own line everywhere * Remove unused id param from emojiCategoriesGet * Add 5 more pairs of profile fields to account update API Swagger * Remove Swagger prefix from dummy fields It makes the generated code look weird * Manually annotate params for statusCreate operation * Fix all remaining Swagger spec warnings - Change some models into operation parameters - Ignore models that already correspond to manually documented operation parameters but can't be trivially changed (those with file fields) * Documented that creating a status with scheduled_at isn't implemented yet * sign drone.yml * Fix filter API Swagger errors * fixup! Fix filter API Swagger errors --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-03-06[chore/bugfix] Little DB fixes (#2726)Libravatar tobi2
2024-03-06[feature/chore] Add Move database functions + cache (#2647)Libravatar tobi16
* [feature/chore] Add Move database functions + cache * add move mem ratio to envparsing.sh * update comment
2024-03-06[feature] Filters v1 (#2594)Libravatar Vyr Cossont44
* Implement client-side v1 filters * Exclude linter false positives * Update test/envparsing.sh * Fix minor Swagger, style, and Bun usage issues * Regenerate Swagger * De-generify filter keywords * Remove updating filter statuses This is an operation that the Mastodon v2 filter API doesn't actually have, because filter statuses, unlike keywords, don't have options: the only info they contain is the status ID to be filtered. * Add a test for filter statuses specifically * De-generify filter statuses * Inline FilterEntry * Use vertical style for Bun operations consistently * Add comment on Filter DB interface * Remove GoLand linter control comments Our existing linters should catch these, or they don't matter very much * Reduce memory ratio for filters
2024-03-04[chore]: Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#2714)v0.14.0Libravatar dependabot[bot]1
* [chore]: Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.4...v1.9.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * cast the exxpected test values as float32 to bypass (possible) testify suite regression --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kim <grufwub@gmail.com>
2024-03-04[bugfix] check remote status permissibility (#2703)Libravatar kim7
* add more stringent checks for remote status permissibility * add check for inreplyto of a remote status being a boost * do not permit inReplyTo boost wrapper statuses * change comment wording * fix calls to NewFederator() * add code comments for NotPermitted() and SetNotPermitted() * improve comment * check that existing != nil before attempting delete * ensure replying account isn't suspended * use a debug log instead of info. check for boost using ID * shorten log string length. make info level * add note that replying to boost wrapper status shouldn't be able to happen anyways * update to use onFail() function
2024-03-04[bugfix] Sanitize incoming PropertyValue fields (#2722)v0.14.0-rc3Libravatar tobi3
2024-03-04[bugfix/tracing] fix broken tracing due to conflicting schema url (#2712)Libravatar Milas Bowman1
The OpenTelemetry SDK is very strict about the schema version when the `Resource` is initialized. Specifically, different schema versions _CANNOT_ be mixed, and since the default SDK resource (which is merged with the user-defined one) defines a schema URL, the `semconv` imports are really prone to being out-of-sync. The best way to avoid this is to merge a _schemaless_ resource. This is fine...there's plenty of other ways to get `semconv` out of sync, and the core service attributes (e.g. `service.name`) should not ever change. Additionally, any errors here are now propagated so that they'll be visible instead of silently swallowed.
2024-03-03[bugfix] update postgresqlstmt to correctly use postgres err hook (#2711)Libravatar kim1
2024-02-29[bugfix] unwrap boosts when checking in-reply-to status (#2702)Libravatar kim2
* add stronger checks on status being replied to * update error code test is expecting
2024-02-29[chore] Disable the syslog long message over Unix datagram socket test on ↵Libravatar Vyr Cossont2
macOS (#2700)
2024-02-28[chore] re-add `statuses_account_id_id_idx` if removed (#2699)v0.14.0-rc2Libravatar tobi2
* [chore] re-add `statuses_account_id_id_idx` if removed * if not exists
2024-02-27[chore] add log line about lengthy reindex migration (#2695)v0.14.0-rc1Libravatar tobi1
2024-02-27[bugfix] Account timeline: exclude self-replies that mention other accounts ↵Libravatar Vyr Cossont4
(#2670) * Account timeline: exclude self-replies that mention other accounts * Add index for querying unmentioned statuses * remove now unused statuses_account_id_id_idx --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-02-27[feature/oidc] Add support for very basic RBAC (#2642)Libravatar 9p44
* Add support for very basic RBAC * Add some small tests for allowedGroup and adminGroup * Switch to table-driven tests
2024-02-27[feature] Block Amazonbot (#2692)Libravatar Daenney1
Blocks the Amazon crawler bot. Closes: #2686
2024-02-27[feature] Add experimental `instance-federation-spam-filter` option (#2685)Libravatar tobi70
* [chore] Move `visibility` to `filter/visibility` * [feature] Add experimental instance-federation-spam-filter option
2024-02-23[chore] Increase default max image description to 1500 chars, collapse cw ↵Libravatar tobi5
char count into status (#2682) * [chore] Make default max image description 1500 chars, collapse cw char count into status * oops * tests
2024-02-23[bugfix] 2643 bug search for account url doesnt always work when redirected ↵Libravatar kim17
(#2673) * update activity library so dereferencer returns full response and checks *final* link to allow for redirects * temporarily add bodged fixed library * remove unused code * update getAccountFeatured() to use dereferenceCollectionPage() * make sure to release map * perform a 2nd decode to ensure reader is empty after primary decode * add comment explaining choice of using Decode() instead of Unmarshal() * update embedded activity library to latest matching https://github.com/superseriousbusiness/activity/pull/21 * add checks to look for changed URI and re-check database if redirected * update max iteration count to 512, add checks during dereferenceAncestors() for indirect URLs * remove doubled-up code * fix use of status instead of current * use URIs for checking equality for security * use the latest known URI for boost_of_uri in case original was an indirect * add dereferenceCollection() function for dereferenceAccountFeatured() * pull in latest github.com/superseriousbusiness/activity version (and remove the bodge!!) * fix typo in code comments * update decodeType() to accept a readcloser and handle body closing * switch to checking using BoostOfID and add note why not using BoostOfURI * ensure InReplyTo gets unset when deleting status parent in case currently stubbed * add tests for Collection and CollectionPage iterators
2024-02-21[chore] Rename frontend.tmpl to settings.tmpl, remove unused "lightgray" ↵Libravatar tobi1
class (#2674)