696 Commits
Author SHA1 Message Date
kimandtobi 867ce73d07 [bugfix] stricter property value counts (#4905)
- removes some duplicate logic in ./internal/ap and moves more of the functions to ./internal/ap/properties.go with standardized interfaces
- updates various areas of the codebase to rely on these GetOne___() functions
- pulls in latest gopkg for log.Formatted() function for nicer log formatting of variables in errors

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4905
2026-06-25 06:39:45 +02:00
kimandkim 24537b2f6f [chore] update dependencies (#4904)
- github.com/coreos/go-oidc/v3: v3.18.0 -> v3.19.0
- golang.org/x/image: v0.42.0 -> v0.43.0
- modernc.org/sqlite: v1.52.0 -> v1.53.0
- code.superseriousbusiness.org/exif-terminator: v0.11.2 -> v0.11.4

in particular the exif-terminator update should close https://codeberg.org/superseriousbusiness/gotosocial/issues/4805

closes: https://codeberg.org/superseriousbusiness/gotosocial/issues/4805

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4904
2026-06-24 17:56:35 +02:00
tobiandtobi aec4f4610a [bugfix] Update go-sqlite3 to v0.35.1 to fix out of memory panic during migration (#4864)
Regression was introduced in v0.34.1; all versions above that panic as described in https://codeberg.org/superseriousbusiness/gotosocial/issues/4862, until the fix from https://github.com/ncruces/go-sqlite3/commit/d581398704480342712fd89572d55cb064ad6fcc

Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4862

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4864
2026-06-16 17:10:17 +02:00
kimandkim 19d294ebba [chore] update dependencies (#4854)
- github.com/ncruces/go-sqlite3: v0.34.4 -> v0.35.0
- golang.org/x/crypto: v0.52.0 -> v0.53.0
- golang.org/x/image: v0.41.0 -> v0.42.0
- golang.org/x/net: v0.55.0 -> v0.56.0
- golang.org/x/sys: v0.45.0 -> v0.46.0
- golang.org/x/text: v0.37.0 -> v0.38.0
- modernc.org/sqlite: v1.50.1 -> v1.52.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4854
2026-06-12 22:07:06 +02:00
kimandkim 06c10bba83 [chore] update dependencies (#4848)
- ~~github.com/go-swagger/go-swagger: v0.33.2 -> v0.34.0~~ ignoring for now
- github.com/jackc/pgx/v5: v5.9.2 -> v5.10.0
- github.com/minio/minio-go/v7: v7.1.0 -> v7.2.0
- github.com/mitchellh/mapstructure: v1.5.0 -> v1.5.0
- github.com/ncruces/go-sqlite3: v0.34.2 -> v0.34.4
- github.com/tetratelabs/wazero: v1.11.0 -> v1.12.0
- go.opentelemetry.io/contrib/exporters/autoexport: v0.68.0 -> v0.69.0
- go.opentelemetry.io/contrib/instrumentation/runtime: v0.68.0 -> v0.69.0
- golang.org/x/image: v0.40.0 -> v0.41.0
- codeberg.org/gruf/go-ffmpreg: v0.6.19 -> v0.6.20

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4848
2026-06-05 00:31:09 +02:00
kimandkim 2c9a2c6e2c [chore] updated dependencies (#4831)
- code.superseriousbusiness.org/gopkg: v0.0.0-20260503204153-b9100c6c75dd -> v0.0.0-20260520114201-7a01c90db818
- github.com/klauspost/compress: v1.18.4 -> v1.18.6
- github.com/ncruces/go-sqlite3: v0.34.1 -> v0.34.2
- modernc.org/sqlite: v1.50.0 -> v1.50.1

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4831
2026-05-21 00:48:41 +02:00
kimandkim a2266f2818 [feature] add cleanup of old remote status threads (#4808)
- adds a new cleaner package task to cleanup old remote status threads, i.e. those older than a given date that have zero local replies, zero local favourites and no boosts of any of the constituents.
- moves a bunch of status deletion logic of related models to the database
- improves status related model deletion performance by adding multi delete queries
- improves some query performance by removing step of converting ID string slices to accountIDValue slices by using some "unsafe" memory casting (with appropriate compile-time checks in place)
- adds support for deprecating + renaming configuration fields
- adds new "longer" duration and cron expression types for our job scheduling configuration (+ deprecates the configuration fields where replacing)

in a later PR i'll add support for calling it from the frontend as an admin panel action type dealio

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4808
2026-05-15 14:52:28 +02:00
kimandkim 4e2589bc3c [feature] make almost every http.Client{} and http.Server{} option configurable (#4730)
as the title says. also adds klauspost/compress/gzhttp as an http client transport wrapper to use klauspost's more performant transport compression.

closes: https://codeberg.org/superseriousbusiness/gotosocial/issues/1938
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4730
2026-05-10 13:30:07 +02:00
kimandkim aeb597ed98 [chore] update dependencies (#4815)
- codeberg.org/gruf/go-sched: v1.3.0 -> v1.3.1
- github.com/ncruces/go-sqlite3: v0.34.0 -> v0.34.1
- golang.org/x/image: v0.39.0 -> v0.40.0
- golang.org/x/net: v0.53.0 -> v0.54.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4815
2026-05-10 00:00:54 +02:00
kimandkim 47237d7b81 [chore] update dependencies (#4806)
- github.com/minio/minio-go/v7: v7.0.100 -> v7.1.0
- github.com/tdewolff/minify/v2: v2.24.12 -> v2.24.13
- modernc.org/sqlite: v1.49.1 -> v1.50.0

note: the modernc.org/sqlite version bump also fixes the build issue i introduced with our fork recently, oops!

also, to those paying attention, given that github.com/ncruces/go-sqlite3 no longer requires a WASM runtime (it is now a transpile), come-next-release we will be updating the `nowasm` build tag behaviour to default to using github.com/ncruces/go-sqlite3 instead of modernc.org/sqlite. the [support matrix](https://github.com/ncruces/go-sqlite3/wiki/Support-matrix) now lists a lot more platforms as having acceptable performance, but we'll keep modernc.org/sqlite around under the `moderncsqlite3` for you BSD users on non-amd64/arm64 platforms.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4806
2026-04-27 13:42:33 +02:00
kimandkim 6cdf99a467 [chore] update dependencies (#4801)
- github.com/ncruces/go-sqlite3: v0.33.3 -> v0.34.0
- github.com/oklog/ulid: v1.3.1 -> v2.1.1

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4801
2026-04-24 13:58:29 +02:00
kimandkim 62852a0526 [chore] update dependencies (#4797)
- code.superseriousbusiness.org/exif-terminator: v0.11.1 -> v0.11.2
- github.com/jackc/pgx/v5: v5.9.1 -> v5.9.2
- modernc.org/sqlite: v1.48.2 -> v1.49.1

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4797
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-04-20 19:25:02 +02:00
kimandkim 22105fba1b [chore] update dependencies (#4791)
- github.com/coreos/go-oidc/v3: v3.17.0 -> v3.18.0
- github.com/ncruces/go-sqlite3: v0.33.2 -> v0.33.3
- github.com/tdewolff/minify/v2: v2.24.11 -> v2.24.12
- go.opentelemetry.io/contrib/exporters/autoexport: v0.67.0 -> v0.68.0
- go.opentelemetry.io/contrib/instrumentation/runtime: v0.67.0 -> v0.68.0
- golang.org/x/image: v0.38.0 -> v0.39.0
- golang.org/x/net: v0.52.0 -> v0.53.0
- modernc.org/sqlite: v1.48.1 -> v1.48.2

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4791
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-04-10 20:39:14 +02:00
kimandkim 650a998260 [chore] update dependencies (#4784)
- codeberg.org/gruf/go-ffmpreg v0.6.19
- github.com/gin-contrib/cors v1.7.7
- github.com/gin-contrib/gzip v1.2.6
- github.com/gin-contrib/sessions v1.1.0
- github.com/jackc/pgx/v5 v5.9.1
- github.com/minio/minio-go/v7 v7.0.100
- github.com/ncruces/go-sqlite3 v0.33.2
- github.com/tdewolff/minify/v2 v2.24.11
- github.com/yuin/goldmark v1.8.2
- go.opentelemetry.io/otel v1.43.0
- go.opentelemetry.io/otel/exporters/prometheus v0.65.0
- go.opentelemetry.io/otel/metric v1.43.0
- go.opentelemetry.io/otel/sdk v1.43.0
- go.opentelemetry.io/otel/sdk/metric v1.43.0
- go.opentelemetry.io/otel/trace v1.43.0
- golang.org/x/image v0.38.0
- modernc.org/sqlite v1.48.1

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4784
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-04-04 14:41:22 +02:00
kimandkim 003788429d [chore] update dependencies (#4773)
- github.com/k3a/html2text: v1.3.0 -> v1.4.0
- github.com/tdewolff/minify/v2: v2.24.9 -> v2.24.10
- github.com/yuin/goldmark: v1.7.16 -> v1.7.17
- modernc.org/sqlite: v1.46.1 -> v1.47.0
- github.com/go-swagger/go-swagger: v0.33.1 -> v0.33.2
- github.com/google/go-cmp: v0.7.0 -> v0.7.0
- github.com/minio/minio-go/v7: v7.0.98 -> v7.0.99
- go.opentelemetry.io/contrib/exporters/autoexport: v0.65.0 -> v0.67.0
- go.opentelemetry.io/contrib/instrumentation/runtime: v0.65.0 -> v0.67.0
- golang.org/x/image: v0.36.0 -> v0.37.0
- golang.org/x/oauth2: v0.35.0 -> v0.36.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4773
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-03-19 16:37:32 +01:00
kimandkim c7f37c34e2 [chore] update dependencies (#4745)
-  code.superseriousbusiness.org/gopkg: v0.0.0-20260117214252-d095ed821f5a => v0.0.0-20260314203815-181df26aa86e
- github.com/ncruces/go-sqlite3: v0.30.5 => v0.32.0
- modernc.org/sqlite: v1.45.0 => v1.46.1
- github.com/uptrace/bun: v1.2.17 => v1.2.18

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4745
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-03-15 00:55:13 +01:00
kimandkim df7b9e0319 [chore] updated dependencies (#4719)
- github.com/tdewolff/minify/v2: v2.24.8 -> v2.24.9
- github.com/temoto/robotstxt: v1.1.2 -> v1.1.2
- github.com/uptrace/bun: v1.2.16 -> v1.2.17
- github.com/uptrace/bun/dialect/pgdialect: v1.2.16 -> v1.2.17
- github.com/uptrace/bun/dialect/sqlitedialect: v1.2.16 -> v1.2.17
- github.com/uptrace/bun/extra/bunotel: v1.2.16 -> v1.2.17
- code.superseriousbusiness.org/exif-terminator: v0.11.0 -> v0.11.1

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4719
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-02-28 20:08:48 +01:00
kimandkim ca95b0e3ef [chore] update dependencies (#4706)
- codeberg.org/gruf/go-ffmpreg: v0.6.16 -> v0.6.18 (rebuilds with latest wasi-sdk, binaryen and static linked library versions)

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4706
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-02-18 16:09:58 +01:00
kimandtobi 5e2e0d9e7e [chore] update dependencies (#4686)
- codeberg.org/gruf/go-kv/v2: v2.0.9 -> v2.0.10
- codeberg.org/gruf/go-mutexes: v1.5.8 -> v1.5.9
- codeberg.org/gruf/go-structr: v0.9.15 -> v0.9.16

more generally, this updates these libraries to be go1.26 ready

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4686
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-02-11 14:14:35 +01:00
kimandkim 581f9a81b3 [chore] update dependencies (#4683)
- golang.org/x/oauth2: v0.34.0 -> v0.35.0
- golang.org/x/sys: v0.40.0 -> v0.41.0
- golang.org/x/crypto: v0.47.0 -> v0.48.0
- golang.org/x/image: v0.35.0 -> v0.36.0
- golang.org/x/net: v0.49.0 -> v0.50.0
- modernc.org/sqlite: v1.44.3 -> v1.45.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4683
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-02-10 14:27:51 +01:00
kimandkim f9f62e49dd [chore] updated dependencies (#4673)
- github.com/miekg/dns: v1.1.70 -> v1.1.72
- github.com/ncruces/go-sqlite3: v0.30.4 -> v0.30.5
- go.opentelemetry.io/contrib/exporters/autoexport: v0.64.0 -> v0.65.0
- go.opentelemetry.io/contrib/instrumentation/runtime: v0.64.0 -> v0.65.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4673
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-02-05 14:07:26 +01:00
tobiandtobi ce571b73d8 [bugfix] Don't return 500 Internal Server Error for QuoteAuthorization deletes (#4661)
WIP!

https://codeberg.org/superseriousbusiness/gotosocial/issues/4660

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4661
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2026-01-29 17:21:14 +01:00
tobiandtobi d4521f9184 [feature] Send out and serve polite LikeRequest, ReplyRequest, and AnnounceRequest objects (#4642)
# Description

> If this is a code change, please include a summary of what you've coded, and link to the issue(s) it closes/implements.
>
> If this is a documentation change, please briefly describe what you've changed and why.

This pull request updates a bunch of our logic to send out polite LikeRequests, ReplyRequests, and AnnounceRequests where appropriate, instead of sending out "impolite" Likes, Create.Notes, and Announces.

GtS v0.20.0 and above should be compatible with these changes, but it will break compatibility for versions of GtS below that version, which do not understand LikeRequest, ReplyRequest, and AnnounceRequest (unfortunately!). Not much to be done about that, unfortunately!

This is part of the process of bringing GtS's way of doing interactions in line with the stuff Mastodon introduced in their QuoteRequest stuff, and paves the way to us also doing QuoteRequests at some point.

## 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.
- [x] 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. <-- going to do this in a separate PR
- [x] I/we have added tests that cover new code.
- [x] I/we have run tests and they pass locally with the changes.
- [x] I/we have run `go fmt ./...` and `golangci-lint run`.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4642
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2026-01-22 11:26:33 +01:00
kimandkim 3d89f8f2f8 [chore] updated dependencies (#4644)
- modernc.org/sqlite: v1.44.0 -> v1.44.3

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4644
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-01-21 17:04:30 +01:00
kimandtobi 131f26db1f [chore] updated dependencies (#4637)
- code.superseriousbusiness.org/gopkg: v0.0.0-20251207012115-5bde591107ab -> v0.0.0-20260117214252-d095ed821f5a
- codeberg.org/gruf/go-structr: v0.9.14 -> v0.9.15
- codeberg.org/gruf/go-kv/v2: v2.0.8 -> v2.0.9

fixes a bug i noticed in my string formatting library while attempting to print some absurd structure (the entirety of our State{} object), now it's all good :)

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4637
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-01-19 12:17:23 +01:00
kimandkim 5aa0a6dbc5 [chore] updated dependencies (#4634)
- github.com/minio/minio-go/v7: v7.0.97 -> v7.0.98
- golang.org/x/crypto: v0.46.0 -> v0.47.0
- golang.org/x/image: v0.34.0 -> v0.35.0
- golang.org/x/net: v0.48.0 -> v0.49.0
- modernc.org/sqlite: v1.43.0 -> v1.44.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4634
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-01-17 23:06:10 +01:00
kimandkim b310e99b43 [chore] update dependencies (#4629)
- github.com/gin-contrib/gzip: v1.2.3 -> v1.2.5
- github.com/gin-gonic/gin: v1.10.1 -> v1.11.0 (w/ form array binding fixes)
- github.com/jackc/pgx/v5: v5.7.6 -> v5.8.0
- github.com/k3a/html2text: v1.2.1 -> v1.3.0
- github.com/miekg/dns: v1.1.69 -> v1.1.70
- github.com/ncruces/go-sqlite3: v0.30.3 -> v0.30.4
- github.com/tetratelabs/wazero: v1.10.1 -> v1.11.0
- github.com/yuin/goldmark: v1.7.13 -> v1.7.16
- golang.org/x/sys: v0.39.0 -> v0.40.0
- golang.org/x/text: v0.32.0 -> v0.33.0
- modernc.org/sqlite: v1.40.1 -> v1.43.0 (w/ concurrency workaround)

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4629
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2026-01-12 16:45:45 +01:00
kimandkim b6cfb7cddc [chore] update dependencies (#4620)
- codeberg.org/gruf/go-errors/v2: v2.3.3 -> v2.3.4
- github.com/miekg/dns: v1.1.68 -> v1.1.69

note:
github.com/miekg/dns has now moved to codeberg.org/gruf/miekg/dns as a v2 of the library, though it does rely on Go 1.25 now. once we bump our version to 1.25 we can pull in the latest.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4620
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-12-11 23:31:49 +01:00
kimandkim 63f5c7e459 [chore] update dependencies (#4615)
- codeberg.org/gruf/go-errors/v2: v2.3.2 -> v2.3.3
- github.com/tdewolff/minify/v2: v2.24.7 -> v2.24.8
- go.opentelemetry.io/contrib/exporters/autoexport: v0.63.0 -> v0.64.0
- go.opentelemetry.io/contrib/instrumentation/runtime: v0.63.0 -> v0.64.0
- golang.org/x/crypto: v0.45.0 -> v0.46.0
- golang.org/x/image: v0.33.0 -> v0.34.0
- golang.org/x/net: v0.47.0 -> v0.48.0
- golang.org/x/oauth2: v0.33.0 -> v0.34.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4615
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-12-09 16:37:11 +01:00
kimandtobi 1309d1e998 [chore] move packages to external repo (#4610)
# Description

This moves our `internal/{log/util/xslices}` packages out of the gotosocial repo and internal our external `code.superseriousbusiness.org/gopkg` repo. But it maintains an `internal/gtslog` subpkg for initialization of our logging configuration and syslog specifics (which aren't included in the external repo).

## Checklist

- [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.
- [x] 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/we have added tests that cover new code.
- [x] I/we have run tests and they pass locally with the changes.
- [x] I/we have run `go fmt ./...` and `golangci-lint run`.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4610
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-12-08 10:59:43 +01:00
kimandkim 6018e13823 [chore] update dependencies (#4612)
- codeberg.org/gruf/go-mempool: v0.0.0-20251204130024-3960fdb6198a -> v0.0.0-20251205182607-a05549c9a993
- codeberg.org/gruf/go-storage: v0.5.0 -> v0.6.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4612
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-12-08 01:56:01 +01:00
kimandkim ffc1828316 [chore] update dependencies (#4607)
- codeberg.org/gruf/go-mempool: v0.0.0-20251203105841-4b67fa2f3984 -> v0.0.0-20251204130024-3960fdb6198a
- github.com/spf13/cobra: v1.10.1 -> v1.10.2

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4607
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-12-05 15:26:42 +01:00
kimandkim 826f69e815 [chore] update dependencies (#4601)
- codeberg.org/gruf/go-mempool: v0.0.0-20251108154517-8ed128fbca8e -> v0.0.0-20251203105841-4b67fa2f3984
- codeberg.org/gruf/go-structr: v0.9.13 -> v0.9.14
- github.com/ncruces/go-sqlite3: v0.30.2 -> v0.30.3

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4601
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-12-03 13:33:33 +01:00
kimandkim 60bed4346b [chore] update go-ffmpreg v0.6.15 -> v0.6.16 (#4587)
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4587
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-28 11:52:03 +01:00
kimandkim 93ef092af6 [chore] update dependencies (#4585)
- github.com/coreos/go-oidc/v3: v3.16.0 -> v3.17.0
- github.com/ncruces/go-sqlite3: v0.30.1 -> v0.30.2

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4585
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-28 00:41:30 +01:00
kimandkim 5a77d3dbd5 [chore] update dependencies (#4568)
- codeberg.org/gruf/go-ffmpreg: v0.6.14 -> v0.6.15
- codeberg.org/gruf/go-mempool: v0.0.0-20251003110531-b54adae66253 -> v0.0.0-20251108154517-8ed128fbca8e
- codeberg.org/gruf/go-storage: v0.4.0 -> v0.5.0
- github.com/tdewolff/minify/v2: v2.24.6 -> v2.24.7
- github.com/tetratelabs/wazero: v1.10.0 -> v1.10.1
- github.com/uptrace/bun: v1.2.15 -> v1.2.16
- github.com/uptrace/bun/dialect/pgdialect: v1.2.15 -> v1.2.16
- github.com/uptrace/bun/dialect/sqlitedialect: v1.2.15 -> v1.2.16
- github.com/uptrace/bun/extra/bunotel: v1.2.15 -> v1.2.16
- golang.org/x/crypto: v0.43.0 -> v0.45.0
- golang.org/x/image: v0.32.0 -> v0.33.0
- golang.org/x/oauth2: v0.32.0 -> v0.33.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4568
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-20 16:20:15 +01:00
Vyr Cossontandkim 2c92445ec7 [bugfix] update go-mmap to macOS-compatible version (#4550)
- Fixes #4549

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4550
Co-authored-by: Vyr Cossont <vyr@noreply.codeberg.org>
Co-committed-by: Vyr Cossont <vyr@noreply.codeberg.org>
2025-11-12 12:50:33 +01:00
kimandkim 4c36a0f34a [performance] add optional S3 object info caching (#4546)
This adds an optional S3 object info cache to the S3 storage driver backend (see [here](https://codeberg.org/gruf/go-storage/releases/tag/v0.4.0)) to reduce S3 calls largely during media cleanup operations, but it should also help in other situations cutting back on S3 calls when for example a key is already known to not exist.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4546
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-10 12:36:59 +01:00
kimandkim 2d4cec6048 [chore] update dependencies (#4547)
- codeberg.org/gruf/go-ffmpreg: v0.6.12 -> v0.6.14
- github.com/ncruces/go-sqlite3: v0.30.0 -> v0.30.1
- github.com/wazero/wazero: v1.9.0 -> v1.10.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4547
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-10 07:29:48 +01:00
kimandkim 04d7b9e7be [chore] update dependencies (#4542)
- github.com/minio/minio-go/v7: v7.0.95 -> v7.0.97
- github.com/ncruces/go-sqlite3: v0.29.1 -> v0.30.0
- github.com/tdewolff/minify/v2: v2.24.5 -> v2.24.6
- codeberg.org/gruf/go-mmap: fixes build for BSD platforms

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4542
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-05 21:58:38 +01:00
kimandkim d6a7c43215 [performance] when transforming media, perform read operations of large files using mmap (#4541)
the performance gains aren't as substantial as i was hoping, but benchmarks did show it averaged out faster using this method. unfortunately i managed to lose the benchmarks i wrote with a poorly timed `git checkout -- .` 😭

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4541
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-05 17:53:47 +01:00
kimandkim 8fb03afed5 [chore] update dependencies (#4539)
- github.com/KimMachineGun/automemlimit: v0.7.4 -> v0.7.5
- github.com/tdewolff/minify/v2: v2.24.4 -> v2.24.5
- modernc.org/sqlite: v1.39.1 -> v1.40.0 w/ concurrency workaround
- github.com/go-swagger/go-swagger: v0.32.3 -> v0.33.1 (and drops use of our custom fork now the fix is available upstream)

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4539
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-11-03 13:55:04 +01:00
kimandkim bf3ee3bbe2 [chore] update dependencies (#4507)
- codeberg.org/gruf/go-runners: v1.6.3 -> v1.7.0
- codeberg.org/gruf/go-sched: v1.2.4 -> v1.3.0
- github.com/tdewolff/minify/v2: v2.24.3 -> v2.24.4

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4507
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-10-17 17:36:24 +02:00
kimandtobi 433619fd67 [performance] pull in latest httpsig with performance enhancements and bugfixes (#4500)
code.supseriousbusiness.org/httpsig: v1.4.0 -> v1.5.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4500
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-10-14 15:34:01 +02:00
kimandkim d3a5d3b924 [chore] update dependencies (#4495)
- github.com/coreos/go-oidc/v3: v3.15.0 -> v3.16.0
- github.com/go-playground/form/v4: v4.2.1 -> v4.3.0
- github.com/go-swagger/go-swagger: v0.32.3 -> v0.33.1
- golang.org/x/crypto: v0.42.0 -> v0.43.0
- golang.org/x/image: v0.31.0 -> v0.32.0
- golang.org/x/net: v0.45.0 -> v0.46.0
- golang.org/x/oauth2: v0.31.0 -> v0.32.0
- golang.org/x/sys: v0.36.0 -> v0.37.0
- golang.org/x/text: v0.29.0 -> v0.30.0
- modernc.org/sqlite: v1.39.0 -> v1.39.1 (w/ concurrency workaround)

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4495
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-10-13 16:49:53 +02:00
kimandkim 566a0bc912 [bugfix] repeated posts on timeline endpoints (#4494)
- updates the go-structr library to add support for getting the current HEAD and TAIL primary key values, which allows us to not insert statuses if they're older than the current oldest timeline item
- ensures the nextPg parameters get updated after loading from the cache before then performing a database query

closes: https://codeberg.org/superseriousbusiness/gotosocial/issues/4491
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4494
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-10-13 14:03:17 +02:00
kimandkim ff950e94bb [chore] update dependencies (#4468)
- github.com/ncruces/go-sqlite3
- codeberg.org/gruf/go-mempool
- codeberg.org/gruf/go-structr (changes related on the above) *
- codeberg.org/gruf/go-mutexes (changes related on the above) *

* this is largely just fiddling around with package internals in structr and mutexes to rely on changes in mempool, which added a new concurrency-safe pool

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4468
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-10-03 15:29:41 +02:00
kimandkim dfdf06e4ad [chore] update dependencies (#4458)
- codeberg.org/gruf/go-ffmpreg: v0.6.11 -> v0.6.12

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4458
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-09-25 16:38:19 +02:00
82216281ce [chore/docs] Fix Prometheus metric names for Gin, include example Grafana dash, update docs (#4443)
# Description

> If this is a code change, please include a summary of what you've coded, and link to the issue(s) it closes/implements.
>
> If this is a documentation change, please briefly describe what you've changed and why.

This pull request updates some of our inconsistent metric naming, and adds an example Grafana dashboard using all the most up-to-date metrics names, and updates our docs to describe the latest way of setting up metrics.

Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4362
Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4055

## 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).
- [x] 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.
- [x] 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.
- [x] 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: kim <grufwub@gmail.com>
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4443
Reviewed-by: kim <gruf@noreply.codeberg.org>
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2025-09-18 16:48:45 +02:00
kimandkim e81bcb5171 [chore] update dependencies (#4441)
- modernc.org/sqlite v1.38.2 -> v1.39.0 (w/ concurrency workaround)
- golang.org/x/net v0.43.0 -> v0.44.0

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4441
Reviewed-by: tobi <kipvandenbos@noreply.codeberg.org>
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-09-17 14:48:09 +02:00