summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.goreleaser.yml18
-rw-r--r--.woodpecker/release.yaml2
-rw-r--r--.woodpecker/snapshot.yaml2
-rw-r--r--CONTRIBUTING.md20
-rw-r--r--README.md10
-rw-r--r--ROADMAP.md8
-rw-r--r--archive/design/reports.md2
-rw-r--r--archive/nlnet/2022-next-generation-internet-zero.md6
-rw-r--r--archive/nlnet/2022-user-operated-internet-fund.md6
-rw-r--r--archive/nlnet/2025-ngi-zero-commons-fund.md10
-rw-r--r--cmd/gotosocial/main.go2
-rw-r--r--docs/admin/backup_and_restore.md2
-rw-r--r--docs/admin/cli.md2
-rw-r--r--docs/advanced/security/sandboxing.md2
-rw-r--r--docs/advanced/sqlite-networked-storage.md2
-rw-r--r--docs/advanced/tracing.md2
-rw-r--r--docs/api/swagger.md6
-rw-r--r--docs/api/swagger.yaml4
-rw-r--r--docs/configuration/database.md2
-rw-r--r--docs/faq.md2
-rw-r--r--docs/federation/http_signatures.md6
-rw-r--r--docs/getting_started/index.md4
-rw-r--r--docs/getting_started/installation/container.md2
-rw-r--r--docs/getting_started/installation/metal.md4
-rw-r--r--docs/locales/zh/admin/backup_and_restore.md2
-rw-r--r--docs/locales/zh/admin/cli.md2
-rw-r--r--docs/locales/zh/advanced/security/sandboxing.md2
-rw-r--r--docs/locales/zh/advanced/sqlite-networked-storage.md2
-rw-r--r--docs/locales/zh/advanced/tracing.md2
-rw-r--r--docs/locales/zh/api/authentication.md2
-rw-r--r--docs/locales/zh/api/swagger.md6
-rw-r--r--docs/locales/zh/api/swagger.yaml4
-rw-r--r--docs/locales/zh/configuration/database.md2
-rw-r--r--docs/locales/zh/faq.md2
-rw-r--r--docs/locales/zh/federation/http_signatures.md6
-rw-r--r--docs/locales/zh/getting_started/index.md4
-rw-r--r--docs/locales/zh/getting_started/installation/container.md2
-rw-r--r--docs/locales/zh/getting_started/installation/metal.md4
-rw-r--r--docs/locales/zh/repo/CONTRIBUTING.md14
-rw-r--r--docs/locales/zh/repo/README.md10
-rw-r--r--docs/locales/zh/repo/ROADMAP.md8
-rw-r--r--docs/locales/zh/user_guide/importing_posts.md2
-rw-r--r--docs/locales/zh/user_guide/posts.md2
-rw-r--r--docs/user_guide/importing_posts.md2
-rw-r--r--docs/user_guide/posts.md2
-rw-r--r--internal/ap/ap_test.go2
-rw-r--r--internal/ap/extract.go2
-rw-r--r--internal/ap/extractvisibility_test.go2
-rw-r--r--internal/ap/resolve.go2
-rw-r--r--internal/api/auth/callback.go2
-rw-r--r--internal/api/client/filters/v1/filterpost_test.go4
-rw-r--r--internal/api/client/filters/v1/filterput_test.go4
-rw-r--r--internal/api/client/filters/v2/filterpost_test.go4
-rw-r--r--internal/api/client/filters/v2/filterput_test.go6
-rw-r--r--internal/api/model/instance.go2
-rw-r--r--internal/api/model/instancev2.go2
-rw-r--r--internal/db/bundb/migrations/20250124164400_domain_perm_sub_migration_fix.go2
-rw-r--r--internal/filter/visibility/home_timeline_test.go2
-rw-r--r--internal/middleware/cors.go2
-rw-r--r--internal/processing/fedi/user.go2
-rw-r--r--internal/text/markdown_test.go8
-rw-r--r--internal/text/plain_test.go4
-rw-r--r--internal/typeutils/astointernal_test.go2
-rw-r--r--internal/typeutils/internaltofrontend.go4
-rw-r--r--internal/typeutils/util_test.go4
-rw-r--r--internal/web/rss.go2
-rw-r--r--web/source/settings/lib/query/admin/custom-emoji/index.ts2
67 files changed, 134 insertions, 140 deletions
diff --git a/.goreleaser.yml b/.goreleaser.yml
index 30d57b296..97f8cff90 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -112,7 +112,7 @@ dockers:
- "--label=org.opencontainers.image.description=Fast, fun, small ActivityPub server."
- "--label=org.opencontainers.image.url=https://docs.gotosocial.org"
- "--label=org.opencontainers.image.documentation=https://docs.gotosocial.org/en/latest/getting_started/installation/container/"
- - "--label=org.opencontainers.image.source=https://github.com/superseriousbusiness/gotosocial"
+ - "--label=org.opencontainers.image.source=https://codeberg.org/superseriousbusiness/gotosocial"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.created={{.Date}}"
@@ -141,7 +141,7 @@ dockers:
- "--label=org.opencontainers.image.description=Fast, fun, small ActivityPub server."
- "--label=org.opencontainers.image.url=https://docs.gotosocial.org"
- "--label=org.opencontainers.image.documentation=https://docs.gotosocial.org/en/latest/getting_started/installation/container/"
- - "--label=org.opencontainers.image.source=https://github.com/superseriousbusiness/gotosocial"
+ - "--label=org.opencontainers.image.source=https://codeberg.org/superseriousbusiness/gotosocial"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.created={{.Date}}"
@@ -278,7 +278,7 @@ release:
- Changed `pee pee` to `poo poo`.
- Changed `wee wee` to `more wee wee`.
- You can see a diff of the config file here: https://github.com/superseriousbusiness/gotosocial/compare/{{ .PreviousTag }}...{{ .Tag }}#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
+ You can see a diff of the config file here: https://codeberg.org/superseriousbusiness/gotosocial/compare/{{ .PreviousTag }}...{{ .Tag }}#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
### Database Migrations
@@ -300,12 +300,12 @@ release:
| OS | Architecture | Support level | Binary archive | Docker |
| ------- | ----------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
- | Linux | x86-64/AMD64 (64-bit) | 🟢 Full | [linux_amd64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_amd64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
- | Linux | Armv8/ARM64 (64-bit) | 🟢 Full | [linux_arm64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_arm64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
- | FreeBSD | x86-64/AMD64 (64-bit) | 🟢 Full | [freebsd_amd64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_freebsd_amd64.tar.gz) | Not provided |
- | FreeBSD | Armv8/ARM64 (64-bit) | 🟢 Full | [freebsd_arm64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_freebsd_arm64.tar.gz) | Not provided |
- | NetBSD | x86-64/AMD64 (64-bit) | 🟢 Full | [netbsd_amd64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_netbsd_amd64.tar.gz) | Not provided |
- | NetBSD | Armv8/ARM64 (64-bit) | 🟢 Full | [netbsd_arm64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_netbsd_arm64.tar.gz) | Not provided |
+ | Linux | x86-64/AMD64 (64-bit) | 🟢 Full | [linux_amd64.tar.gz](https://codeberg.org/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_amd64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
+ | Linux | Armv8/ARM64 (64-bit) | 🟢 Full | [linux_arm64.tar.gz](https://codeberg.org/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_arm64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
+ | FreeBSD | x86-64/AMD64 (64-bit) | 🟢 Full | [freebsd_amd64.tar.gz](https://codeberg.org/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_freebsd_amd64.tar.gz) | Not provided |
+ | FreeBSD | Armv8/ARM64 (64-bit) | 🟢 Full | [freebsd_arm64.tar.gz](https://codeberg.org/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_freebsd_arm64.tar.gz) | Not provided |
+ | NetBSD | x86-64/AMD64 (64-bit) | 🟢 Full | [netbsd_amd64.tar.gz](https://codeberg.org/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_netbsd_amd64.tar.gz) | Not provided |
+ | NetBSD | Armv8/ARM64 (64-bit) | 🟢 Full | [netbsd_arm64.tar.gz](https://codeberg.org/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_netbsd_arm64.tar.gz) | Not provided |
#### `nowasm`
diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml
index 8a2e2c3d7..8fef22896 100644
--- a/.woodpecker/release.yaml
+++ b/.woodpecker/release.yaml
@@ -5,7 +5,7 @@ when:
steps:
release:
- # https://github.com/superseriousbusiness/gotosocial-drone-build
+ # https://codeberg.org/superseriousbusiness/gotosocial-drone-build
image: superseriousbusiness/gotosocial-drone-build:0.8.0
pull: true
diff --git a/.woodpecker/snapshot.yaml b/.woodpecker/snapshot.yaml
index b268f0ce2..1a8079c9b 100644
--- a/.woodpecker/snapshot.yaml
+++ b/.woodpecker/snapshot.yaml
@@ -4,7 +4,7 @@ when:
steps:
snapshot:
- # https://github.com/superseriousbusiness/gotosocial-drone-build
+ # https://codeberg.org/superseriousbusiness/gotosocial-drone-build
image: superseriousbusiness/gotosocial-drone-build:0.8.0
pull: true
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ee8023012..46236687f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -43,7 +43,7 @@ This document contains important information that will help you to write a succe
Currently, we use Github's issue system for tracking bug reports and feature requests.
-You can view all open issues [here](https://github.com/superseriousbusiness/gotosocial/issues "The Github Issues page for GoToSocial").
+You can view all open issues [here](https://codeberg.org/superseriousbusiness/gotosocial/issues "The Github Issues page for GoToSocial").
Before opening a new issue, whether bug or feature request, **please search carefully through both open and closed issues to make sure it hasn't been addressed already**. You can use Github's keyword issue search for this. If your issue is a duplicate of an existing issue, it will be closed.
@@ -122,26 +122,22 @@ Beware that `conda env export` will add a `prefix` entry to the environment.yml
### Golang forking quirks
-One of the quirks of Golang is that it relies on the source management path being the same as the one used within `go.mod` and in package imports within individual Go files. This makes working with forks a bit awkward.
-
-Let's say you fork GoToSocial to `github.com/yourgithubname/gotosocial`, and then clone that repository to `~/go/src/github.com/yourgithubname/gotosocial`. You will probably run into errors trying to run tests or build, so you might change your `go.mod` file so that the module is called `github.com/yourgithubname/gotosocial` instead of `github.com/superseriousbusiness/gotosocial`. But then this breaks all the imports within the project. Nightmare! So now you have to go through the source files and painstakingly replace `github.com/superseriousbusiness/gotosocial` with `github.com/yourgithubname/gotosocial`. This works OK, but when you decide to make a pull request against the original repo, all the changed paths are included! Argh!
-
-The correct solution to this is to fork, then clone the upstream repository, then set `origin` of the upstream repository to that of your fork.
+One of the quirks of Golang is that it relies on the source management path being the same as the one used within `go.mod` and in package imports within individual Go files. This makes working with forks a bit awkward. The solution to this is to fork, then clone the upstream repository, then set `origin` of the upstream repository to that of your fork.
See [this blog post](https://blog.sgmansfield.com/2016/06/working-with-forks-in-go/) for more details.
In case this post disappears, here are the steps (slightly modified):
>
-> Fork the repository on GitHub or set up whatever other remote git repo you will be using. In this case, I would go to GitHub and fork the repository.
+> Fork the repository on Codeberg or set up whatever other remote git repo you will be using. In this case, I would go to Codeberg and fork the repository.
>
> Now clone the upstream repo (not the fork):
>
-> `mkdir -p ~/go/src/github.com/superseriousbusiness && git clone git@github.com:superseriousbusiness/gotosocial ~/go/src/github.com/superseriousbusiness/gotosocial`
+> `mkdir -p ~/go/src/code.superseriousbusiness.org && git clone git@codeberg.org:superseriousbusiness/gotosocial ~/go/src/code.superseriousbusiness.org/gotosocial`
>
> Navigate to the top level of the upstream repository on your computer:
>
-> `cd ~/go/src/github.com/superseriousbusiness/gotosocial`
+> `cd ~/go/src/code.superseriousbusiness.org/gotosocial`
>
> Rename the current origin remote to upstream:
>
@@ -149,7 +145,7 @@ In case this post disappears, here are the steps (slightly modified):
>
> Add your fork as origin:
>
-> `git remote add origin git@github.com:yourgithubname/gotosocial`
+> `git remote add origin git@codeberg.org:username/gotosocial`
>
Be sure to run `git fetch` before building the project for the first time.
@@ -160,7 +156,7 @@ Be sure to run `git fetch` before building the project for the first time.
To get started, you first need to have Go installed. Check the top of the `go.mod` file to see which version of Go you need to install, and see [here](https://golang.org/doc/install) for installation instructions.
-Once you've got Go installed, clone this repository into your Go path. Normally, this should be `~/go/src/github.com/superseriousbusiness/gotosocial`.
+Once you've got Go installed, clone this repository into your Go path. Normally, this should be `~/go/src/code.superseriousbusiness.org/gotosocial`.
Once you've installed the prerequisites, you can try building the project: `./scripts/build.sh`. This will build the `gotosocial` binary.
@@ -397,7 +393,7 @@ If there's no output, great! It passed :)
### Testing
-GoToSocial provides a [testrig](https://github.com/superseriousbusiness/gotosocial/tree/main/testrig) with a number of mock packages you can use in integration tests.
+GoToSocial provides a [testrig](https://codeberg.org/superseriousbusiness/gotosocial/tree/main/testrig) with a number of mock packages you can use in integration tests.
One thing that *isn't* mocked is the Database interface because it's just easier to use an in-memory SQLite database than to mock everything out.
diff --git a/README.md b/README.md
index b44f34c12..0d1b454f4 100644
--- a/README.md
+++ b/README.md
@@ -259,15 +259,15 @@ On top of this API, web developers are encouraged to build any front-end impleme
## Known Issues
-Since GoToSocial is still in beta, there are plenty of bugs. We use [GitHub issues](https://github.com/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) to track these.
+Since GoToSocial is still in beta, there are plenty of bugs. We use [GitHub issues](https://codeberg.org/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) to track these.
-Since every ActivityPub server implementation has a slightly different interpretation of the protocol, some servers don't quite federate properly with GoToSocial yet. We're tracking these issues [in this project](https://github.com/superseriousbusiness/gotosocial/projects/4). Eventually, we want to make sure that any implementation that can federate nicely with Mastodon should also be able to federate with GoToSocial.
+Since every ActivityPub server implementation has a slightly different interpretation of the protocol, some servers don't quite federate properly with GoToSocial yet. We're tracking these issues [in this project](https://codeberg.org/superseriousbusiness/gotosocial/projects/4). Eventually, we want to make sure that any implementation that can federate nicely with Mastodon should also be able to federate with GoToSocial.
---
## Installing GoToSocial
-Check our [getting started](https://docs.gotosocial.org/en/latest/getting_started/) documentation! And have a peruse of our [releases page](https://github.com/superseriousbusiness/gotosocial/releases).
+Check our [getting started](https://docs.gotosocial.org/en/latest/getting_started/) documentation! And have a peruse of our [releases page](https://codeberg.org/superseriousbusiness/gotosocial/releases).
<!--releases-start-->
### Supported Platforms
@@ -339,7 +339,7 @@ To run from main using Docker, use the `snapshot` Docker tag. The Docker image `
To run from main using a binary release, download the appropriate .tar.gz file for your architecture from our [self-hosted Minio S3 repository](https://minio.s3.superseriousbusiness.org/browser/gotosocial-snapshots).
-Snapshot binary releases in the S3 bucket are keyed by Github commit hash. To get the latest one, sort by Last Modified, or check out the list of commits [here](https://github.com/superseriousbusiness/gotosocial/commits/main), copy the SHA of the latest one, and paste it in the Minio console filter. Snapshot binary releases are expired after 28 days, to keep our hosting costs down.
+Snapshot binary releases in the S3 bucket are keyed by Github commit hash. To get the latest one, sort by Last Modified, or check out the list of commits [here](https://codeberg.org/superseriousbusiness/gotosocial/commits/main), copy the SHA of the latest one, and paste it in the Minio console filter. Snapshot binary releases are expired after 28 days, to keep our hosting costs down.
### From Source
@@ -372,7 +372,7 @@ You would like to contribute to GtS? Great! â¤ï¸â¤ï¸â¤ï¸ Check out the iss
For questions and comments, you can [join our Matrix space](https://matrix.to/#/#gotosocial-space:superseriousbusiness.org) at `#gotosocial-space:superseriousbusiness.org`. This is the quickest way to reach the devs. You can also mail [admin@gotosocial.org](mailto:admin@gotosocial.org).
-For bugs and feature requests, please check to see if there's [already an issue](https://github.com/superseriousbusiness/gotosocial/issues), and if not, open one or use one of the above channels to make a request (if you don't have a Github account).
+For bugs and feature requests, please check to see if there's [already an issue](https://codeberg.org/superseriousbusiness/gotosocial/issues), and if not, open one or use one of the above channels to make a request (if you don't have a Github account).
---
diff --git a/ROADMAP.md b/ROADMAP.md
index 6000e3462..2d70a31ce 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -47,13 +47,13 @@ What follows is a rough timeline of features that will be implemented on the roa
### Mid 2023
-- [x] **Hashtags** -- implement federating hashtags and viewing hashtags to allow users to discover posts that they might be interested in. (Done! https://github.com/superseriousbusiness/gotosocial/pull/2032).
+- [x] **Hashtags** -- implement federating hashtags and viewing hashtags to allow users to discover posts that they might be interested in. (Done! https://codeberg.org/superseriousbusiness/gotosocial/pulls/2032).
### Mid/late 2023
-- [x] **Polls** -- implementing parsing, creating, and voting in polls. (Done! https://github.com/superseriousbusiness/gotosocial/pull/2330)
-- [x] **Mute posts/threads** -- opt-out of notifications for replies to a thread; no longer show a given post in your timeline. (Done! https://github.com/superseriousbusiness/gotosocial/pull/2278)
-- [x] **Limited peering/allowlists** -- allow instance admins to limit federation with other instances by default. (Done! https://github.com/superseriousbusiness/gotosocial/pull/2200)
+- [x] **Polls** -- implementing parsing, creating, and voting in polls. (Done! https://codeberg.org/superseriousbusiness/gotosocial/pulls/2330)
+- [x] **Mute posts/threads** -- opt-out of notifications for replies to a thread; no longer show a given post in your timeline. (Done! https://codeberg.org/superseriousbusiness/gotosocial/pulls/2278)
+- [x] **Limited peering/allowlists** -- allow instance admins to limit federation with other instances by default. (Done! https://codeberg.org/superseriousbusiness/gotosocial/pulls/2200)
### Early 2024
diff --git a/archive/design/reports.md b/archive/design/reports.md
index a0ba0623c..fbe507d4c 100644
--- a/archive/design/reports.md
+++ b/archive/design/reports.md
@@ -95,7 +95,7 @@ todo
### Friendica
-Unsure: Friendica and GoToSocial still don't federate properly with one another (https://github.com/superseriousbusiness/gotosocial/issues/169) so it's hard to test this.
+Unsure: Friendica and GoToSocial still don't federate properly with one another (https://codeberg.org/superseriousbusiness/gotosocial/issues/169) so it's hard to test this.
## What should GoToSocial do?
diff --git a/archive/nlnet/2022-next-generation-internet-zero.md b/archive/nlnet/2022-next-generation-internet-zero.md
index 7990b7ffc..245eca950 100644
--- a/archive/nlnet/2022-next-generation-internet-zero.md
+++ b/archive/nlnet/2022-next-generation-internet-zero.md
@@ -10,7 +10,7 @@ GoToSocial
> Website / wiki
-https://github.com/superseriousbusiness/gotosocial / https://docs.gotosocial.org
+https://codeberg.org/superseriousbusiness/gotosocial / https://docs.gotosocial.org
> Abstract: Can you explain the whole project and its expected outcome(s). (you have 1200 characters)
@@ -87,8 +87,8 @@ Thirdly, we want to make GtS as customizable as possible by allowing admins to e
The main technical challenges we foresee on the project are:
-1. Ensuring compatibility with other AP servers (see here: https://github.com/superseriousbusiness/gotosocial/projects/4).
-2. Ensuring compatibility with clients that use the Mastodon API (see here: https://github.com/superseriousbusiness/gotosocial/projects/5).
+1. Ensuring compatibility with other AP servers (see here: https://codeberg.org/superseriousbusiness/gotosocial/projects/4).
+2. Ensuring compatibility with clients that use the Mastodon API (see here: https://codeberg.org/superseriousbusiness/gotosocial/projects/5).
3. Designing nuanced federation safety features that allow instance admins to screen federation without totally breaking it. This will require careful design discussions and lots of testing.
4. Implementing our own open-source http signature library with a reference implementation of the latest draft of the http signature proposal: https://httpwg.org/http-extensions/draft-ietf-httpbis-message-signatures.html.
5. Writing + maintaining our own extensions to the AP protocol (see below).
diff --git a/archive/nlnet/2022-user-operated-internet-fund.md b/archive/nlnet/2022-user-operated-internet-fund.md
index 4f49cec56..55950bf19 100644
--- a/archive/nlnet/2022-user-operated-internet-fund.md
+++ b/archive/nlnet/2022-user-operated-internet-fund.md
@@ -10,7 +10,7 @@ GoToSocial
> Website / wiki
-https://github.com/superseriousbusiness/gotosocial / https://docs.gotosocial.org
+https://codeberg.org/superseriousbusiness/gotosocial / https://docs.gotosocial.org
> Abstract: Can you explain the whole project and its expected outcome(s). (you have 1200 characters)
@@ -83,8 +83,8 @@ Thirdly, we want to make GtS as customizable as possible by allowing admins to e
The main technical challenges we foresee on the project are:
-1. Ensuring compatibility with other AP servers (see here: https://github.com/superseriousbusiness/gotosocial/projects/4).
-2. Ensuring compatibility with clients that use the Mastodon API (see here: https://github.com/superseriousbusiness/gotosocial/projects/5).
+1. Ensuring compatibility with other AP servers (see here: https://codeberg.org/superseriousbusiness/gotosocial/projects/4).
+2. Ensuring compatibility with clients that use the Mastodon API (see here: https://codeberg.org/superseriousbusiness/gotosocial/projects/5).
3. Designing nuanced federation safety features that allow instance admins to screen federation without totally breaking it. This will require careful design discussions and lots of testing.
4. Implementing our own open-source http signature library with a reference implementation of the latest draft of the http signature proposal: https://httpwg.org/http-extensions/draft-ietf-httpbis-message-signatures.html.
5. Writing + maintaining our own extensions to the AP protocol (see below).
diff --git a/archive/nlnet/2025-ngi-zero-commons-fund.md b/archive/nlnet/2025-ngi-zero-commons-fund.md
index ffb788b56..3337fcf22 100644
--- a/archive/nlnet/2025-ngi-zero-commons-fund.md
+++ b/archive/nlnet/2025-ngi-zero-commons-fund.md
@@ -10,7 +10,7 @@ GoToSocial
> Website / wiki
-https://github.com/superseriousbusiness/gotosocial / https://docs.gotosocial.org
+https://codeberg.org/superseriousbusiness/gotosocial / https://docs.gotosocial.org
> Abstract: Can you explain the whole project and its expected outcome(s). (you have 1200 characters)
@@ -106,13 +106,13 @@ Other technical challenges we will (continue to) address in the near future are
Much of the work we do involves debugging and solving interoperability issues with other federated softwares, which requires keeping communication channels open with the maintainers of those, and figuring out who needs to change what in order for the issue to be resolved. We've done that a lot over the last year or so:
- Fixed interop with Bandwagon: https://github.com/EmissarySocial/bandwagon/issues/152
-- Fixed interop with Iceshrimp: https://github.com/superseriousbusiness/gotosocial/issues/1947
-- Coordinated interop with Mastodon: https://github.com/superseriousbusiness/gotosocial/pull/3703
-- Fixed federation with Gancio: https://github.com/superseriousbusiness/gotosocial/issues/3875
+- Fixed interop with Iceshrimp: https://codeberg.org/superseriousbusiness/gotosocial/issues/1947
+- Coordinated interop with Mastodon: https://codeberg.org/superseriousbusiness/gotosocial/pulls/3703
+- Fixed federation with Gancio: https://codeberg.org/superseriousbusiness/gotosocial/issues/3875
- Alerted Pixelfed of AP serialization issues: https://github.com/pixelfed/pixelfed/issues/5642
- Cajoled Bluesky into adding user-agent headers: https://github.com/bluesky-social/atproto/issues/3504
- Help out Writefreely with http signature request issues: https://github.com/writefreely/writefreely/issues/661#issuecomment-1951367449
-- Debug federation with Lemmy along with one of the Lemmy devs: https://github.com/superseriousbusiness/gotosocial/issues/2697
+- Debug federation with Lemmy along with one of the Lemmy devs: https://codeberg.org/superseriousbusiness/gotosocial/issues/2697
For GoToSocial-specific extensions to ActivityPub, we've also diligently documented what we've done so far, and exposed a GoToSocial namespace so that remote softwares can easily incorporate GtS extensions if they want to: https://docs.gotosocial.org/en/latest/federation/interaction_policy/, https://gotosocial.org/ns.
diff --git a/cmd/gotosocial/main.go b/cmd/gotosocial/main.go
index 8e17fc637..a79b6a75c 100644
--- a/cmd/gotosocial/main.go
+++ b/cmd/gotosocial/main.go
@@ -45,7 +45,7 @@ func main() {
rootCmd := &cobra.Command{
Use: "gotosocial",
Short: "GoToSocial - a fediverse social media server",
- Long: "GoToSocial - a fediverse social media server\n\nFor help, see: https://docs.gotosocial.org.\n\nCode: https://github.com/superseriousbusiness/gotosocial",
+ Long: "GoToSocial - a fediverse social media server\n\nFor help, see: https://docs.gotosocial.org.\n\nCode: https://codeberg.org/superseriousbusiness/gotosocial",
Version: version,
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
// before running any other cmd funcs, we must load config-path
diff --git a/docs/admin/backup_and_restore.md b/docs/admin/backup_and_restore.md
index 83059c9e6..8f055e920 100644
--- a/docs/admin/backup_and_restore.md
+++ b/docs/admin/backup_and_restore.md
@@ -178,7 +178,7 @@ hooks:
For PostgreSQL, you'll want to use `postgresql_databases` instead.
-The file mentioned in `patterns_from` can be created by transforming the output from the GoToSocial CLI media [`list-attachments`](cli.md#gotosocial-admin-media-list-attachments) and [`list-emojis`](cli.md#gotosocial-admin-media-list-emojis) commands. In order to generate the right patterns you can use the [`media-to-borg-patterns.py`](https://github.com/superseriousbusiness/gotosocial/tree/main/example/borgmatic/media-to-borg-patterns.py) script. How Borg patterns work is explained in [their documentation](https://man.archlinux.org/man/borg-patterns.1).
+The file mentioned in `patterns_from` can be created by transforming the output from the GoToSocial CLI media [`list-attachments`](cli.md#gotosocial-admin-media-list-attachments) and [`list-emojis`](cli.md#gotosocial-admin-media-list-emojis) commands. In order to generate the right patterns you can use the [`media-to-borg-patterns.py`](https://codeberg.org/superseriousbusiness/gotosocial/tree/main/example/borgmatic/media-to-borg-patterns.py) script. How Borg patterns work is explained in [their documentation](https://man.archlinux.org/man/borg-patterns.1).
You'll need to put that file on your GoToSocial instance and make sure the file is executable. It requires Python 3 which you will already have if you have Borg and Borgmatic installed. It only depends on the Python standard library.
diff --git a/docs/admin/cli.md b/docs/admin/cli.md
index e4fc461c9..c7d67292f 100644
--- a/docs/admin/cli.md
+++ b/docs/admin/cli.md
@@ -13,7 +13,7 @@ GoToSocial - a fediverse social media server
For help, see: https://docs.gotosocial.org.
-Code: https://github.com/superseriousbusiness/gotosocial
+Code: https://codeberg.org/superseriousbusiness/gotosocial
Usage:
gotosocial [command]
diff --git a/docs/advanced/security/sandboxing.md b/docs/advanced/security/sandboxing.md
index 41b9f2eb3..72c1d116e 100644
--- a/docs/advanced/security/sandboxing.md
+++ b/docs/advanced/security/sandboxing.md
@@ -18,7 +18,7 @@ Different distributions have different sandboxing mechanisms they prefer and sup
We ship an example AppArmor policy for GoToSocial, which you can retrieve and install as follows:
```sh
-$ curl -LO 'https://github.com/superseriousbusiness/gotosocial/raw/main/example/apparmor/gotosocial'
+$ curl -LO 'https://codeberg.org/superseriousbusiness/gotosocial/raw/main/example/apparmor/gotosocial'
$ sudo install -o root -g root gotosocial /etc/apparmor.d/gotosocial
$ sudo apparmor_parser -Kr /etc/apparmor.d/gotosocial
```
diff --git a/docs/advanced/sqlite-networked-storage.md b/docs/advanced/sqlite-networked-storage.md
index 77858752b..d880594ac 100644
--- a/docs/advanced/sqlite-networked-storage.md
+++ b/docs/advanced/sqlite-networked-storage.md
@@ -32,4 +32,4 @@ You'll need to update the following settings:
* `db-sqlite-journal-mode`
* `db-sqlite-synchronous`
-We don't provide any recommendations as this will vary based on the solution you're using. See [this issue](https://github.com/superseriousbusiness/gotosocial/issues/3360#issuecomment-2380332027) for what you could potentially set those values to.
+We don't provide any recommendations as this will vary based on the solution you're using. See [this issue](https://codeberg.org/superseriousbusiness/gotosocial/issues/3360#issuecomment-2380332027) for what you could potentially set those values to.
diff --git a/docs/advanced/tracing.md b/docs/advanced/tracing.md
index c06b449c3..4e6dea2c7 100644
--- a/docs/advanced/tracing.md
+++ b/docs/advanced/tracing.md
@@ -19,7 +19,7 @@ tracing-insecure-transport: true
[obs]: ../configuration/observability.md
[tempo]: https://grafana.com/oss/tempo/
[grafana]: https://grafana.com/oss/grafana/
-[ext]: https://github.com/superseriousbusiness/gotosocial/tree/main/example/tracing
+[ext]: https://codeberg.org/superseriousbusiness/gotosocial/tree/main/example/tracing
## Querying and visualising traces
diff --git a/docs/api/swagger.md b/docs/api/swagger.md
index ae9670b9f..b83aae198 100644
--- a/docs/api/swagger.md
+++ b/docs/api/swagger.md
@@ -14,8 +14,8 @@ Most of the GoToSocial API endpoints require a user-level OAuth token. For a gui
See the following issues for more context:
- - [#1958](https://github.com/superseriousbusiness/gotosocial/issues/1958)
- - [#1944](https://github.com/superseriousbusiness/gotosocial/issues/1944)
- - [#2641](https://github.com/superseriousbusiness/gotosocial/issues/2641)
+ - [#1958](https://codeberg.org/superseriousbusiness/gotosocial/issues/1958)
+ - [#1944](https://codeberg.org/superseriousbusiness/gotosocial/issues/1944)
+ - [#2641](https://codeberg.org/superseriousbusiness/gotosocial/issues/2641)
<swagger-ui src="swagger.yaml"/>
diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml
index 143329d7f..59e698596 100644
--- a/docs/api/swagger.yaml
+++ b/docs/api/swagger.yaml
@@ -1583,7 +1583,7 @@ definitions:
max_profile_fields:
description: |-
The maximum number of profile fields allowed for each account.
- Currently not configurable, so this is hardcoded to 6. (https://github.com/superseriousbusiness/gotosocial/issues/1876)
+ Currently not configurable, so this is hardcoded to 6. (https://codeberg.org/superseriousbusiness/gotosocial/issues/1876)
format: int64
type: integer
x-go-name: MaxProfileFields
@@ -1965,7 +1965,7 @@ definitions:
x-go-name: Rules
source_url:
description: The URL for the source code of the software running on this instance, in keeping with AGPL license requirements.
- example: https://github.com/superseriousbusiness/gotosocial
+ example: https://codeberg.org/superseriousbusiness/gotosocial
type: string
x-go-name: SourceURL
terms:
diff --git a/docs/configuration/database.md b/docs/configuration/database.md
index 4f3785b37..06b6b4f60 100644
--- a/docs/configuration/database.md
+++ b/docs/configuration/database.md
@@ -146,7 +146,7 @@ db-tls-ca-cert: ""
#
# PLEASE NOTE!!: This setting currently only applies for Postgres. SQLite will always use 1 connection regardless
# of what is set here. This behavior will change in future when we implement better SQLITE_BUSY handling.
-# See https://github.com/superseriousbusiness/gotosocial/issues/1407 for more details.
+# See https://codeberg.org/superseriousbusiness/gotosocial/issues/1407 for more details.
#
# Examples: [16, 8, 10, 2]
# Default: 8
diff --git a/docs/faq.md b/docs/faq.md
index 7c71d5c50..af25ffe25 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -38,4 +38,4 @@ We introduced a sign-up flow in v0.16.0. The server you want to sign up to must
## Why's it still in Beta?
-Take a look at the [list of open bugs](https://github.com/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) and the [roadmap](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/ROADMAP.md) for a more detailed rundown.
+Take a look at the [list of open bugs](https://codeberg.org/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) and the [roadmap](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/ROADMAP.md) for a more detailed rundown.
diff --git a/docs/federation/http_signatures.md b/docs/federation/http_signatures.md
index 2acfb53fd..d2286798b 100644
--- a/docs/federation/http_signatures.md
+++ b/docs/federation/http_signatures.md
@@ -20,7 +20,7 @@ When sending a request, GtS will attempt first *with* query parameters included.
When receiving a request, GtS will attempt to validate the signature first *with* query parameters included. If the signature fails to validate, it will reattempt validation without query parameters included.
-See [#894](https://github.com/superseriousbusiness/gotosocial/issues/894) for more details.
+See [#894](https://codeberg.org/superseriousbusiness/gotosocial/issues/894) for more details.
## Incoming Requests
@@ -38,7 +38,7 @@ ED25519
GoToSocial request signing is implemented in [internal/transport](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/internal/transport/signing.go).
-Once https://github.com/superseriousbusiness/gotosocial/issues/2991 is resolved, GoToSocial will use the `(created)` pseudo-header instead of `date`.
+Once https://codeberg.org/superseriousbusiness/gotosocial/issues/2991 is resolved, GoToSocial will use the `(created)` pseudo-header instead of `date`.
For now however, when assembling signatures:
@@ -82,4 +82,4 @@ For Mastodon, the public key of a user is served as part of that user's Actor re
Remote servers federating with GoToSocial should extract the public key from the `publicKey` field. Then, they should use the `owner` field of the public key to further dereference the full version of the Actor, using a signed `GET` request.
-This behavior was introduced as a way of avoiding having remote servers make unsigned `GET` requests to the full Actor endpoint. However, this may change in future as it is not compliant and causes issues. Tracked in [this issue](https://github.com/superseriousbusiness/gotosocial/issues/1186).
+This behavior was introduced as a way of avoiding having remote servers make unsigned `GET` requests to the full Actor endpoint. However, this may change in future as it is not compliant and causes issues. Tracked in [this issue](https://codeberg.org/superseriousbusiness/gotosocial/issues/1186).
diff --git a/docs/getting_started/index.md b/docs/getting_started/index.md
index 2ceb5eb80..286a2e4fd 100644
--- a/docs/getting_started/index.md
+++ b/docs/getting_started/index.md
@@ -68,7 +68,7 @@ If you decide to use a VPS instead, you can spin yourself up something cheap wit
!!! warning "Cloud storage volumes"
Not all cloud VPS storage offerings are equal, and just because something claims to be backed by an SSD doesn't mean that it will necessarily be suitable to run a GoToSocial instance.
- The [performance of Hetzner Cloud Volumes](https://github.com/superseriousbusiness/gotosocial/issues/2471#issuecomment-1891098323) is not guaranteed and seems to have very volatile latency. This will result in your GoToSocial instance performing poorly.
+ The [performance of Hetzner Cloud Volumes](https://codeberg.org/superseriousbusiness/gotosocial/issues/2471#issuecomment-1891098323) is not guaranteed and seems to have very volatile latency. This will result in your GoToSocial instance performing poorly.
!!! danger "Oracle Free Tier"
[Oracle Cloud Free Tier](https://www.oracle.com/cloud/free/) servers are not suitable for a GoToSocial deployment if you intend to federate with more than a handful of other instances and users.
@@ -149,7 +149,7 @@ If you can't leave `443` and `80` open on the machine, don't worry! You can conf
## Clustering / multi-node deployments
-GoToSocial does not support [clustering or any form of multi-node deployment](https://github.com/superseriousbusiness/gotosocial/issues/1749).
+GoToSocial does not support [clustering or any form of multi-node deployment](https://codeberg.org/superseriousbusiness/gotosocial/issues/1749).
Though multiple GtS instances can use the same Postgres database and either shared local storage or the same object bucket, GtS relies on a lot of internal caching to keep things fast. There is no mechanism for synchronising these caches between instances. Without it, you'll get all kinds of odd and inconsistent behaviour. Don't do this!
diff --git a/docs/getting_started/installation/container.md b/docs/getting_started/installation/container.md
index 55bc4beac..a7682b04d 100644
--- a/docs/getting_started/installation/container.md
+++ b/docs/getting_started/installation/container.md
@@ -45,7 +45,7 @@ If desired, update the GoToSocial Docker image tag to the version of GtS you wan
* `X.Y.Z`: release tag. This points to a specific, stable, release of GoToSocial.
!!! tip
- Both the `latest` and `snapshot` tags are moving tags, whereas the `X.Y.Z` tags are immutable. The result of pulling a moving tag might change from day to day. `latest` on one system might not be the same `latest` on a different system. It's recommended to use the `X.Y.Z` tags instead so you always know exactly which version of GoToSocial you're running. The list of releases can be found [right here](https://github.com/superseriousbusiness/gotosocial/releases), with the newest release at the top.
+ Both the `latest` and `snapshot` tags are moving tags, whereas the `X.Y.Z` tags are immutable. The result of pulling a moving tag might change from day to day. `latest` on one system might not be the same `latest` on a different system. It's recommended to use the `X.Y.Z` tags instead so you always know exactly which version of GoToSocial you're running. The list of releases can be found [right here](https://codeberg.org/superseriousbusiness/gotosocial/releases), with the newest release at the top.
### Host
diff --git a/docs/getting_started/installation/metal.md b/docs/getting_started/installation/metal.md
index c2fe74f14..ef33e2d0e 100644
--- a/docs/getting_started/installation/metal.md
+++ b/docs/getting_started/installation/metal.md
@@ -34,14 +34,14 @@ cd /gotosocial
Now, download the latest GoToSocial release archive corresponding to the operating system and architecture you're running on.
!!! tip
- You can find the list of releases [right here](https://github.com/superseriousbusiness/gotosocial/releases), arranged with the newest release at the top.
+ You can find the list of releases [right here](https://codeberg.org/superseriousbusiness/gotosocial/releases), arranged with the newest release at the top.
For example, to download a version for running on 64-bit Linux:
```bash
GTS_VERSION=X.Y.Z # replace this
GTS_TARGET=linux_amd64
-wget https://github.com/superseriousbusiness/gotosocial/releases/download/v${GTS_VERSION}/gotosocial_${GTS_VERSION}_${GTS_TARGET}.tar.gz
+wget https://codeberg.org/superseriousbusiness/gotosocial/releases/download/v${GTS_VERSION}/gotosocial_${GTS_VERSION}_${GTS_TARGET}.tar.gz
```
Then extract it:
diff --git a/docs/locales/zh/admin/backup_and_restore.md b/docs/locales/zh/admin/backup_and_restore.md
index 34b0d805e..676dbb3ca 100644
--- a/docs/locales/zh/admin/backup_and_restore.md
+++ b/docs/locales/zh/admin/backup_and_restore.md
@@ -178,7 +178,7 @@ hooks:
对于 PostgreSQL,你应该使用 `postgresql_databases`。
-`patterns_from` 中æåˆ°çš„æ–‡ä»¶å¯ä»¥é€šè¿‡è½¬æ¢ GoToSocial CLI 媒体命令 [`list-attachments`](cli.md#gotosocial-admin-media-list-attachments) å’Œ [`list-emojis`](cli.md#gotosocial-admin-media-list-emojis) 的输出æ¥åˆ›å»ºã€‚è¦ç”Ÿæˆæ­£ç¡®çš„æ¨¡å¼ï¼Œæ‚¨å¯ä»¥ä½¿ç”¨ [`media-to-borg-patterns.py`](https://github.com/superseriousbusiness/gotosocial/tree/main/example/borgmatic/media-to-borg-patterns.py) 脚本。有关 Borg 模å¼å¦‚何工作的详情,å‚è§ [他们的文档](https://man.archlinux.org/man/borg-patterns.1)。
+`patterns_from` 中æåˆ°çš„æ–‡ä»¶å¯ä»¥é€šè¿‡è½¬æ¢ GoToSocial CLI 媒体命令 [`list-attachments`](cli.md#gotosocial-admin-media-list-attachments) å’Œ [`list-emojis`](cli.md#gotosocial-admin-media-list-emojis) 的输出æ¥åˆ›å»ºã€‚è¦ç”Ÿæˆæ­£ç¡®çš„æ¨¡å¼ï¼Œæ‚¨å¯ä»¥ä½¿ç”¨ [`media-to-borg-patterns.py`](https://codeberg.org/superseriousbusiness/gotosocial/tree/main/example/borgmatic/media-to-borg-patterns.py) 脚本。有关 Borg 模å¼å¦‚何工作的详情,å‚è§ [他们的文档](https://man.archlinux.org/man/borg-patterns.1)。
您需è¦å°†è¯¥æ–‡ä»¶æ”¾åœ¨æ‚¨çš„ GoToSocial 实例上,并确ä¿è¯¥æ–‡ä»¶æ˜¯å¯æ‰§è¡Œçš„ã€‚å®ƒéœ€è¦ Python 3,安装 Borg å’Œ Borgmatic åŽæ‚¨åº”该已ç»å…·å¤‡ã€‚它仅ä¾èµ–于 Python 标准库。
diff --git a/docs/locales/zh/admin/cli.md b/docs/locales/zh/admin/cli.md
index 5fa279994..a666d15a2 100644
--- a/docs/locales/zh/admin/cli.md
+++ b/docs/locales/zh/admin/cli.md
@@ -13,7 +13,7 @@ GoToSocial - 一个è”邦制社交媒体æœåС噍
帮助文档å‚è§ï¼šhttps://docs.gotosocial.org。
-代ç ä»“库:https://github.com/superseriousbusiness/gotosocial
+代ç ä»“库:https://codeberg.org/superseriousbusiness/gotosocial
用法:
gotosocial [command]
diff --git a/docs/locales/zh/advanced/security/sandboxing.md b/docs/locales/zh/advanced/security/sandboxing.md
index ac4b88723..be7795e95 100644
--- a/docs/locales/zh/advanced/security/sandboxing.md
+++ b/docs/locales/zh/advanced/security/sandboxing.md
@@ -12,7 +12,7 @@
我们æä¾›äº†ä¸€ä¸ª GoToSocial çš„ AppArmor 示例策略,你å¯ä»¥æŒ‰ä»¥ä¸‹æ­¥éª¤èŽ·å–并安装:
```sh
-$ curl -LO 'https://github.com/superseriousbusiness/gotosocial/raw/main/example/apparmor/gotosocial'
+$ curl -LO 'https://codeberg.org/superseriousbusiness/gotosocial/raw/main/example/apparmor/gotosocial'
$ sudo install -o root -g root gotosocial /etc/apparmor.d/gotosocial
$ sudo apparmor_parser -Kr /etc/apparmor.d/gotosocial
```
diff --git a/docs/locales/zh/advanced/sqlite-networked-storage.md b/docs/locales/zh/advanced/sqlite-networked-storage.md
index e57352509..67b20d6ab 100644
--- a/docs/locales/zh/advanced/sqlite-networked-storage.md
+++ b/docs/locales/zh/advanced/sqlite-networked-storage.md
@@ -32,4 +32,4 @@ SQLite çš„è¿è¡Œæ¨¡å¼å‡å®šæ•°æ®åº“和使用它的进程或应用程åºä½äºŽå
* `db-sqlite-journal-mode`
* `db-sqlite-synchronous`
-æˆ‘ä»¬ä¸æä¾›ä»»ä½•å»ºè®®ï¼Œå› ä¸ºè¿™å°†æ ¹æ®ä½ ä½¿ç”¨çš„解决方案而有所ä¸åŒã€‚请å‚阅 [此问题](https://github.com/superseriousbusiness/gotosocial/issues/3360#issuecomment-2380332027)以了解你å¯èƒ½è®¾ç½®çš„值。
+æˆ‘ä»¬ä¸æä¾›ä»»ä½•å»ºè®®ï¼Œå› ä¸ºè¿™å°†æ ¹æ®ä½ ä½¿ç”¨çš„解决方案而有所ä¸åŒã€‚请å‚阅 [此问题](https://codeberg.org/superseriousbusiness/gotosocial/issues/3360#issuecomment-2380332027)以了解你å¯èƒ½è®¾ç½®çš„值。
diff --git a/docs/locales/zh/advanced/tracing.md b/docs/locales/zh/advanced/tracing.md
index dc502b9e4..10e9f42fc 100644
--- a/docs/locales/zh/advanced/tracing.md
+++ b/docs/locales/zh/advanced/tracing.md
@@ -19,7 +19,7 @@ tracing-insecure-transport: true
[obs]: ../configuration/observability.md
[tempo]: https://grafana.com/oss/tempo/
[grafana]: https://grafana.com/oss/grafana/
-[ext]: https://github.com/superseriousbusiness/gotosocial/tree/main/example/tracing
+[ext]: https://codeberg.org/superseriousbusiness/gotosocial/tree/main/example/tracing
## 查询和å¯è§†åŒ–追踪
diff --git a/docs/locales/zh/api/authentication.md b/docs/locales/zh/api/authentication.md
index 2590f4fe4..376f27cb3 100644
--- a/docs/locales/zh/api/authentication.md
+++ b/docs/locales/zh/api/authentication.md
@@ -30,7 +30,7 @@ curl \
本ç€è¿™ç§ç²¾ç¥žï¼Œä¸Šè¿°ç¤ºä¾‹ä½¿ç”¨äº†`read`,这æ„味ç€å½“æœªæ¥æ”¯æŒèŒƒå›´ä»¤ç‰Œæ—¶ï¼Œåº”用将仅é™äºŽæ‰§è¡Œ`read`æ“作。
- ä½ å¯ä»¥åœ¨[此处](https://github.com/superseriousbusiness/gotosocial/issues/2232)阅读更多关于计划中 OAuth 安全功能的信æ¯ã€‚
+ ä½ å¯ä»¥åœ¨[此处](https://codeberg.org/superseriousbusiness/gotosocial/issues/2232)阅读更多关于计划中 OAuth 安全功能的信æ¯ã€‚
æˆåŠŸè°ƒç”¨ä¼šè¿”å›žä¸€ä¸ªå¸¦æœ‰ `client_id` å’Œ `client_secret` çš„å“应,我们将在åŽç»­æµç¨‹ä¸­éœ€è¦ä½¿ç”¨è¿™äº›ä¿¡æ¯ã€‚它看起æ¥åƒè¿™æ ·ï¼š
diff --git a/docs/locales/zh/api/swagger.md b/docs/locales/zh/api/swagger.md
index 7fa3190d5..d0d4cee53 100644
--- a/docs/locales/zh/api/swagger.md
+++ b/docs/locales/zh/api/swagger.md
@@ -14,8 +14,8 @@ GoToSocial 使用 [go-swagger](https://github.com/go-swagger/go-swagger) 从代ç
有关更多背景信æ¯ï¼Œè¯·å‚è§ä»¥ä¸‹é—®é¢˜ï¼š
- - [#1958](https://github.com/superseriousbusiness/gotosocial/issues/1958)
- - [#1944](https://github.com/superseriousbusiness/gotosocial/issues/1944)
- - [#2641](https://github.com/superseriousbusiness/gotosocial/issues/2641)
+ - [#1958](https://codeberg.org/superseriousbusiness/gotosocial/issues/1958)
+ - [#1944](https://codeberg.org/superseriousbusiness/gotosocial/issues/1944)
+ - [#2641](https://codeberg.org/superseriousbusiness/gotosocial/issues/2641)
<swagger-ui src="swagger.yaml"/>
diff --git a/docs/locales/zh/api/swagger.yaml b/docs/locales/zh/api/swagger.yaml
index 209818b34..6cc15ab8a 100644
--- a/docs/locales/zh/api/swagger.yaml
+++ b/docs/locales/zh/api/swagger.yaml
@@ -1562,7 +1562,7 @@ definitions:
max_profile_fields:
description: |-
此实例å…许æ¯ä¸ªè´¦æˆ·è®¾ç½®çš„æœ€å¤§é™„加字段数。
- ç›®å‰ä¸å¯é…置,硬编ç ä¸º 6ã€‚è¯¦è§ (https://github.com/superseriousbusiness/gotosocial/issues/1876)
+ ç›®å‰ä¸å¯é…置,硬编ç ä¸º 6ã€‚è¯¦è§ (https://codeberg.org/superseriousbusiness/gotosocial/issues/1876)
format: int64
type: integer
x-go-name: MaxProfileFields
@@ -1947,7 +1947,7 @@ definitions:
x-go-name: Rules
source_url:
description: 本实例部署的软件的æºä»£ç  URL,应 AGPL 许å¯è¦æ±‚æä¾›ã€‚
- example: https://github.com/superseriousbusiness/gotosocial
+ example: https://codeberg.org/superseriousbusiness/gotosocial
type: string
x-go-name: SourceURL
terms:
diff --git a/docs/locales/zh/configuration/database.md b/docs/locales/zh/configuration/database.md
index cddd1d186..56e9ebdb6 100644
--- a/docs/locales/zh/configuration/database.md
+++ b/docs/locales/zh/configuration/database.md
@@ -131,7 +131,7 @@ db-tls-ca-cert: ""
# 乘数 8 是一个åˆç†çš„默认值,但你å¯èƒ½å¸Œæœ›ä¸ºåœ¨éžå¸¸é«˜æ€§èƒ½ç¡¬ä»¶ä¸Šè¿è¡Œçš„实例增加此值,或为使用éžå¸¸æ…¢çš„ CPU 的实例å‡å°‘此值。
#
# 请注æ„ï¼ï¼ï¼šæ­¤è®¾ç½®ç›®å‰ä»…适用于 Postgres。SQLite 将始终使用 1 个连接,无论此处设置为何。这ç§è¡Œä¸ºå°†åœ¨å®žçŽ°æ›´å¥½çš„ SQLITE_BUSY å¤„ç†æ—¶æ›´æ”¹ã€‚
-# 更多详情请å‚è§ https://github.com/superseriousbusiness/gotosocial/issues/1407。
+# 更多详情请å‚è§ https://codeberg.org/superseriousbusiness/gotosocial/issues/1407。
#
# 示例: [16, 8, 10, 2]
# 默认: 8
diff --git a/docs/locales/zh/faq.md b/docs/locales/zh/faq.md
index 0ca3c17de..3de38165f 100644
--- a/docs/locales/zh/faq.md
+++ b/docs/locales/zh/faq.md
@@ -38,4 +38,4 @@ GoToSocial 默认é…置了基于 IP çš„[陿µè§„则](./api/ratelimiting.md),ä
## 为什么还在 Beta 阶段?
-查看[å½“å‰ bug 列表](https://github.com/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug)å’Œ[路线图](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/docs/locales/zh/repo/ROADMAP.md)ä»¥èŽ·å–æ›´è¯¦ç»†çš„ä¿¡æ¯ã€‚
+查看[å½“å‰ bug 列表](https://codeberg.org/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug)å’Œ[路线图](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/docs/locales/zh/repo/ROADMAP.md)ä»¥èŽ·å–æ›´è¯¦ç»†çš„ä¿¡æ¯ã€‚
diff --git a/docs/locales/zh/federation/http_signatures.md b/docs/locales/zh/federation/http_signatures.md
index b513637da..7156986b2 100644
--- a/docs/locales/zh/federation/http_signatures.md
+++ b/docs/locales/zh/federation/http_signatures.md
@@ -20,7 +20,7 @@ GoToSocial 使用 [superseriousbusiness/httpsig](https://codeberg.org/superserio
接收请求时,GtS 将首先å°è¯•验è¯åŒ…嫿Ÿ¥è¯¢å‚数的签å。如果签å验è¯å¤±è´¥ï¼Œå®ƒå°†å°è¯•在ä¸åŒ…嫿Ÿ¥è¯¢å‚æ•°çš„æƒ…å†µä¸‹é‡æ–°éªŒè¯ç­¾å。
-详细信æ¯è¯·å‚è§ [#894](https://github.com/superseriousbusiness/gotosocial/issues/894)。
+详细信æ¯è¯·å‚è§ [#894](https://codeberg.org/superseriousbusiness/gotosocial/issues/894)。
## 传入请求
@@ -38,7 +38,7 @@ ED25519
GoToSocial 的请求签å在 [internal/transport](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/internal/transport/signing.go) 中实现。
-一旦解决了 https://github.com/superseriousbusiness/gotosocial/issues/2991 ,GoToSocial 将使用 `(created)` 伪标头代替 `date`。
+一旦解决了 https://codeberg.org/superseriousbusiness/gotosocial/issues/2991 ,GoToSocial 将使用 `(created)` 伪标头代替 `date`。
然而,目å‰åœ¨ç»„è£…ç­¾åæ—¶ï¼š
@@ -82,4 +82,4 @@ https://example.org/users/example_user#main-key
与 GoToSocial è”åˆçš„外站æœåŠ¡å™¨åº”ä»Ž `publicKey` 字段æå–公钥。然åŽï¼Œå®ƒä»¬åº”该使用公钥的 `owner` 字段签å `GET` 请求,进一步解引用 Actor 的完整版本。
-è¿™ç§è¡Œä¸ºæ˜¯ä¸ºäº†é¿å…外站æœåŠ¡å™¨å¯¹å®Œæ•´ Actor 端点进行未签åçš„ `GET` 请求引入的。然而,由于ä¸åˆè§„且引å‘问题,此行为å¯èƒ½ä¼šåœ¨æœªæ¥å‘生å˜åŒ–。在 [此问题](https://github.com/superseriousbusiness/gotosocial/issues/1186) 中进行跟踪。
+è¿™ç§è¡Œä¸ºæ˜¯ä¸ºäº†é¿å…外站æœåŠ¡å™¨å¯¹å®Œæ•´ Actor 端点进行未签åçš„ `GET` 请求引入的。然而,由于ä¸åˆè§„且引å‘问题,此行为å¯èƒ½ä¼šåœ¨æœªæ¥å‘生å˜åŒ–。在 [此问题](https://codeberg.org/superseriousbusiness/gotosocial/issues/1186) 中进行跟踪。
diff --git a/docs/locales/zh/getting_started/index.md b/docs/locales/zh/getting_started/index.md
index e053288db..a19832894 100644
--- a/docs/locales/zh/getting_started/index.md
+++ b/docs/locales/zh/getting_started/index.md
@@ -64,7 +64,7 @@ GoToSocial 的轻é‡ç³»ç»Ÿè¦æ±‚æ„味ç€å®ƒåœ¨é…ç½®è‰¯å¥½çš„å•æ¿è®¡ç®—机上
!!! warning "云存储å·"
å¹¶éžæ‰€æœ‰çš„云 VPS 存储都相åŒï¼Œå£°ç§°åŸºäºŽ SSD 的存储并ä¸ä¸€å®šé€‚åˆä½œä¸º GoToSocial 实例的è¿è¡ŒçŽ¯å¢ƒã€‚
- [Hetzner 云å·çš„æ€§èƒ½](https://github.com/superseriousbusiness/gotosocial/issues/2471#issuecomment-1891098323)没有ä¿è¯ï¼Œä¸”延迟波动较大。这会导致你的 GoToSocial 实例表现ä¸ä½³ã€‚
+ [Hetzner 云å·çš„æ€§èƒ½](https://codeberg.org/superseriousbusiness/gotosocial/issues/2471#issuecomment-1891098323)没有ä¿è¯ï¼Œä¸”延迟波动较大。这会导致你的 GoToSocial 实例表现ä¸ä½³ã€‚
!!! danger "Oracle å…费套é¤"
如果你打算与多个其他实例和用户è”åˆï¼Œ[Oracle 云å…费套é¤](https://www.oracle.com/cloud/free/) æœåС噍ä¸é€‚åˆç”¨äºŽ GoToSocial 部署。
@@ -145,7 +145,7 @@ GoToSocial 需è¦å¼€æ”¾ç«¯å£ `80` å’Œ `443`。
## 集群 / 多节点部署
-GoToSocial 䏿”¯æŒ[集群或任何形å¼çš„多节点部署](https://github.com/superseriousbusiness/gotosocial/issues/1749)。
+GoToSocial 䏿”¯æŒ[集群或任何形å¼çš„多节点部署](https://codeberg.org/superseriousbusiness/gotosocial/issues/1749)。
尽管多个 GtS 实例å¯ä»¥ä½¿ç”¨ç›¸åŒçš„ Postgres æ•°æ®åº“和共享的本地存储或相åŒçš„对象桶,但 GtS ä¾èµ–于大é‡çš„å†…éƒ¨ç¼“å­˜ä»¥ä¿æŒé«˜æ•ˆã€‚æ²¡æœ‰åŒæ­¥è¿™äº›å®žä¾‹ç¼“存的机制。没有它,你会得到å„ç§å¥‡æ€ªå’Œä¸ä¸€è‡´çš„行为。ä¸è¦è¿™æ ·åšï¼
diff --git a/docs/locales/zh/getting_started/installation/container.md b/docs/locales/zh/getting_started/installation/container.md
index 5ae26a4af..d059a8779 100644
--- a/docs/locales/zh/getting_started/installation/container.md
+++ b/docs/locales/zh/getting_started/installation/container.md
@@ -45,7 +45,7 @@ nano docker-compose.yaml
* `X.Y.Z`:å‘å¸ƒæ ‡ç­¾ã€‚è¿™æŒ‡å‘ GoToSocial 的特定ã€ç¨³å®šçš„版本。
!!! tip "æç¤º"
- `latest` å’Œ `snapshot` æ ‡ç­¾æ˜¯åŠ¨æ€æ ‡ç­¾ï¼Œè€Œ `X.Y.Z` 标签是固定的。拉å–åŠ¨æ€æ ‡ç­¾çš„结果å¯èƒ½æ¯å¤©éƒ½ä¼šå˜åŒ–。åŒä¸€ç³»ç»Ÿä¸Šçš„ `latest` å¯èƒ½ä¸Žä¸åŒç³»ç»Ÿä¸Šçš„ `latest` ä¸åŒã€‚建议使用 `X.Y.Z` 标签,以便你始终确切知é“è¿è¡Œçš„æ˜¯ GoToSocial 的哪个版本。å‘布列表å¯ä»¥åœ¨[这里](https://github.com/superseriousbusiness/gotosocial/releases)找到,最新的å‘布在顶部。
+ `latest` å’Œ `snapshot` æ ‡ç­¾æ˜¯åŠ¨æ€æ ‡ç­¾ï¼Œè€Œ `X.Y.Z` 标签是固定的。拉å–åŠ¨æ€æ ‡ç­¾çš„结果å¯èƒ½æ¯å¤©éƒ½ä¼šå˜åŒ–。åŒä¸€ç³»ç»Ÿä¸Šçš„ `latest` å¯èƒ½ä¸Žä¸åŒç³»ç»Ÿä¸Šçš„ `latest` ä¸åŒã€‚建议使用 `X.Y.Z` 标签,以便你始终确切知é“è¿è¡Œçš„æ˜¯ GoToSocial 的哪个版本。å‘布列表å¯ä»¥åœ¨[这里](https://codeberg.org/superseriousbusiness/gotosocial/releases)找到,最新的å‘布在顶部。
### 主机
diff --git a/docs/locales/zh/getting_started/installation/metal.md b/docs/locales/zh/getting_started/installation/metal.md
index 425597299..77b1e73f6 100644
--- a/docs/locales/zh/getting_started/installation/metal.md
+++ b/docs/locales/zh/getting_started/installation/metal.md
@@ -34,14 +34,14 @@ cd /gotosocial
现在,下载与你è¿è¡Œçš„æ“ä½œç³»ç»Ÿå’Œæž¶æž„ç›¸å¯¹åº”çš„æœ€æ–° GoToSocial å‘行版压缩包。
!!! tip "æç¤º"
- ä½ å¯ä»¥åœ¨[这里](https://github.com/superseriousbusiness/gotosocial/releases)找到按å‘布时间排列的å‘布列表,最新的å‘行版ä½äºŽæœ€ä¸Šé¢ã€‚
+ ä½ å¯ä»¥åœ¨[这里](https://codeberg.org/superseriousbusiness/gotosocial/releases)找到按å‘布时间排列的å‘布列表,最新的å‘行版ä½äºŽæœ€ä¸Šé¢ã€‚
例如,下载适用于 64 ä½ Linux 的版本:
```bash
GTS_VERSION=X.Y.Z # æ›¿æ¢æ­¤å¤„
GTS_TARGET=linux_amd64
-wget https://github.com/superseriousbusiness/gotosocial/releases/download/v${GTS_VERSION}/gotosocial_${GTS_VERSION}_${GTS_TARGET}.tar.gz
+wget https://codeberg.org/superseriousbusiness/gotosocial/releases/download/v${GTS_VERSION}/gotosocial_${GTS_VERSION}_${GTS_TARGET}.tar.gz
```
ç„¶åŽè§£åŽ‹ï¼š
diff --git a/docs/locales/zh/repo/CONTRIBUTING.md b/docs/locales/zh/repo/CONTRIBUTING.md
index cee9cf47c..cc42755c6 100644
--- a/docs/locales/zh/repo/CONTRIBUTING.md
+++ b/docs/locales/zh/repo/CONTRIBUTING.md
@@ -43,7 +43,7 @@
ç›®å‰ï¼Œæˆ‘们使用 Github 的问题追踪系统æ¥ç®¡ç†é”™è¯¯æŠ¥å‘Šä¸ŽåŠŸèƒ½è¯·æ±‚ã€‚
-ä½ å¯ä»¥åœ¨[此处](https://github.com/superseriousbusiness/gotosocial/issues "GoToSocial çš„ Github 问题页")查看所有开放的问题。
+ä½ å¯ä»¥åœ¨[此处](https://codeberg.org/superseriousbusiness/gotosocial/issues "GoToSocial çš„ Github 问题页")查看所有开放的问题。
在创建新问题之å‰ï¼Œä¸è®ºæ˜¯é”™è¯¯è¿˜æ˜¯åŠŸèƒ½è¯·æ±‚ï¼Œ**请现仔细æœç´¢æ‰€æœ‰ä»å¤„于打开状æ€å’Œå·²è¢«å…³é—­çš„问题,以确ä¿å®ƒå°šæœªè¢«è§£å†³è¿‡**。你å¯ä»¥ä½¿ç”¨ Github 的关键字æœç´¢æ¥è¿›è¡Œæ­¤æ“作。如果你的问题与已有问题é‡å¤ï¼Œå®ƒå°†è¢«å…³é—­ã€‚
@@ -123,8 +123,6 @@ conda env export -n gotosocial-docs --from-history --override-channels -c conda-
Golang 的一个特点是,它所ä¾èµ–çš„æºä»£ç ç®¡ç†è·¯å¾„与 `go.mod` 中使用的路径以åŠå„ Go 文件中的包导入路径相åŒã€‚这使得使用分支有些棘手。
-å‡è®¾ä½ è¦å°† GoToSocial 分支到 `github.com/yourgithubname/gotosocial`,然åŽå°†å­˜å‚¨åº“克隆到 `~/go/src/github.com/yourgithubname/gotosocial`。你å¯èƒ½ä¼šåœ¨å°è¯•è¿è¡Œæµ‹è¯•或构建时é‡åˆ°é”™è¯¯ï¼Œå› æ­¤ä½ å¯èƒ½ä¼šæ›´æ”¹ `go.mod` 文件,使模å—å称为 `github.com/yourgithubname/gotosocial` è€Œä¸æ˜¯ `github.com/superseriousbusiness/gotosocial`。但这样åšä¼šç ´å项目中的所有导入路径。这简直是噩梦ï¼äºŽæ˜¯ï¼Œä½ ä¸å¾—ä¸é€ä¸€åœ¨æºä»£ç æ–‡ä»¶ä¸­å°† `github.com/superseriousbusiness/gotosocial` 替æ¢ä¸º `github.com/yourgithubname/gotosocial`。这样确实能行得通,但一旦你决定对原始存储库å‘èµ·åˆå¹¶è¯·æ±‚ï¼Œæ‰€æœ‰è·¯å¾„å˜æ›´éƒ½ä¼šè¢«åŒ…å«åœ¨å†…ï¼å“¦ä¸ï¼
-
正确的解决方案是先派生存储库,然åŽå…‹éš†ä¸Šæ¸¸å­˜å‚¨åº“,并将上游存储库的 `origin` 设置为你分支的æºã€‚
有关更多细节,请å‚阅[这篇åšå®¢](https://blog.sgmansfield.com/2016/06/working-with-forks-in-go/)。
@@ -136,11 +134,11 @@ Golang 的一个特点是,它所ä¾èµ–çš„æºä»£ç ç®¡ç†è·¯å¾„与 `go.mod` 中
>
> çŽ°åœ¨å…‹éš†ä¸Šæ¸¸å­˜å‚¨åº“ï¼ˆè€Œéžæ´¾ç”Ÿçš„存储库):
>
-> `mkdir -p ~/go/src/github.com/superseriousbusiness && git clone git@github.com:superseriousbusiness/gotosocial ~/go/src/github.com/superseriousbusiness/gotosocial`
+> `mkdir -p ~/go/src/code.superseriousbusiness.org && git clone git@codeberg.org:superseriousbusiness/gotosocial ~/go/src/code.superseriousbusiness.org/gotosocial`
>
> 转到你的计算机上上游存储库的顶级目录:
>
-> `cd ~/go/src/github.com/superseriousbusiness/gotosocial`
+> `cd ~/go/src/code.superseriousbusiness.org/gotosocial`
>
> 将当å‰çš„ origin 远程æºé‡å‘½å为 upstream:
>
@@ -148,7 +146,7 @@ Golang 的一个特点是,它所ä¾èµ–çš„æºä»£ç ç®¡ç†è·¯å¾„与 `go.mod` 中
>
> 把你的派生分支添加为 origin:
>
-> `git remote add origin git@github.com:yourgithubname/gotosocial`
+> `git remote add origin git@codeberg.org:username/gotosocial`
>
在第一次构建项目之å‰ï¼Œä¸€å®šè¦è¿è¡Œ `git fetch`。
@@ -159,7 +157,7 @@ Golang 的一个特点是,它所ä¾èµ–çš„æºä»£ç ç®¡ç†è·¯å¾„与 `go.mod` 中
è¦å¼€å§‹æž„建,你需è¦å…ˆå®‰è£… Go。GtS ç›®å‰ä½¿ç”¨ Go 1.21,因此你也应该使用这个版本。安装指å—è§[此处](https://golang.org/doc/install)。
-安装 go åŽï¼Œå°†æ­¤å­˜å‚¨åº“克隆到你的 Go 路径中。通常,此路径为 `~/go/src/github.com/superseriousbusiness/gotosocial`。
+安装 go åŽï¼Œå°†æ­¤å­˜å‚¨åº“克隆到你的 Go 路径中。通常,此路径为 `~/go/src/code.superseriousbusiness.org/gotosocial`。
安装完上述环境与ä¾èµ–åŽï¼Œå¯ä»¥å°è¯•构建项目:`./scripts/build.sh`。此命令将构建 `gotosocial` 二进制文件。
@@ -396,7 +394,7 @@ golangci-lint run
### 测试
-GoToSocial æä¾›äº†ä¸€ä¸ª [testrig](https://github.com/superseriousbusiness/gotosocial/tree/main/testrig),包å«ä¸€äº›å¯ä»¥ç”¨äºŽé›†æˆæµ‹è¯•的模拟包。
+GoToSocial æä¾›äº†ä¸€ä¸ª [testrig](https://codeberg.org/superseriousbusiness/gotosocial/tree/main/testrig),包å«ä¸€äº›å¯ä»¥ç”¨äºŽé›†æˆæµ‹è¯•的模拟包。
没有模拟的一个东西是数æ®åº“接å£ï¼Œå› ä¸ºä½¿ç”¨å†…存中的 SQLite æ•°æ®åº“比模拟所有东西è¦ç®€å•得多。
diff --git a/docs/locales/zh/repo/README.md b/docs/locales/zh/repo/README.md
index bdaeae9f6..85510ccda 100644
--- a/docs/locales/zh/repo/README.md
+++ b/docs/locales/zh/repo/README.md
@@ -258,15 +258,15 @@ GoToSocial æ”¯æŒ [OpenID Connect (OIDC)](https://openid.net/connect/) 身份æ
## 已知问题
-由于 GoToSocial ä»å¤„于测试阶段,存在很多错误。我们使用 [GitHub issues](https://github.com/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) 跟踪这些问题。
+由于 GoToSocial ä»å¤„于测试阶段,存在很多错误。我们使用 [GitHub issues](https://codeberg.org/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) 跟踪这些问题。
-由于æ¯ä¸ª ActivityPub æœåŠ¡ç«¯å®žçŽ°å¯¹å议的解释略有ä¸åŒï¼Œæœ‰äº›æœåŠ¡ç«¯å°šæœªä¸Ž GoToSocial 正常è”åˆã€‚我们在 [这个项目](https://github.com/superseriousbusiness/gotosocial/projects/4) 中跟踪这些问题。最终,我们希望确ä¿ä»»ä½•å¯ä»¥ä¸Ž Mastodon 正确è”åˆçš„ ActivityPub 实现也能够与 GoToSocial è”åˆã€‚
+由于æ¯ä¸ª ActivityPub æœåŠ¡ç«¯å®žçŽ°å¯¹å议的解释略有ä¸åŒï¼Œæœ‰äº›æœåŠ¡ç«¯å°šæœªä¸Ž GoToSocial 正常è”åˆã€‚我们在 [这个项目](https://codeberg.org/superseriousbusiness/gotosocial/projects/4) 中跟踪这些问题。最终,我们希望确ä¿ä»»ä½•å¯ä»¥ä¸Ž Mastodon 正确è”åˆçš„ ActivityPub 实现也能够与 GoToSocial è”åˆã€‚
---
## 安装 GoToSocial
-查看我们的 [入门文档](https://docs.gotosocial.org/zh-cn/latest/getting_started/),并æµè§ˆæˆ‘们的 [å‘布页é¢](https://github.com/superseriousbusiness/gotosocial/releases)。
+查看我们的 [入门文档](https://docs.gotosocial.org/zh-cn/latest/getting_started/),并æµè§ˆæˆ‘们的 [å‘布页é¢](https://codeberg.org/superseriousbusiness/gotosocial/releases)。
<!--releases-start-->
### 支æŒçš„å¹³å°
@@ -340,7 +340,7 @@ Docker é•œåƒ `superseriousbusiness/gotosocial:latest` 始终对应于最新稳å
è¦ä½¿ç”¨äºŒè¿›åˆ¶å‘布从主分支è¿è¡Œï¼Œè¯·ä»Žæˆ‘们的 [自托管 Minio S3 仓库](https://minio.s3.superseriousbusiness.org/browser/gotosocial-snapshots)下载适åˆä½ æž¶æž„çš„ .tar.gz 文件。
-S3 存储桶中的快照版二进制å‘布由 Github æäº¤å“ˆå¸ŒæŽ§åˆ¶ã€‚è¦èŽ·å–æœ€æ–°çš„,请按上次修改时间排åºï¼Œæˆ–者查看 [这里的æäº¤åˆ—表](https://github.com/superseriousbusiness/gotosocial/commits/main),å¤åˆ¶æœ€æ–°çš„ SHA,并在 Minio 控制å°è¿‡æ»¤å™¨ä¸­ç²˜è´´ã€‚快照二进制å‘布会在 28 天åŽè¿‡æœŸï¼Œä»¥é™ä½Žæˆ‘ä»¬çš„æ‰˜ç®¡æˆæœ¬ã€‚
+S3 存储桶中的快照版二进制å‘布由 Github æäº¤å“ˆå¸ŒæŽ§åˆ¶ã€‚è¦èŽ·å–æœ€æ–°çš„,请按上次修改时间排åºï¼Œæˆ–者查看 [这里的æäº¤åˆ—表](https://codeberg.org/superseriousbusiness/gotosocial/commits/main),å¤åˆ¶æœ€æ–°çš„ SHA,并在 Minio 控制å°è¿‡æ»¤å™¨ä¸­ç²˜è´´ã€‚快照二进制å‘布会在 28 天åŽè¿‡æœŸï¼Œä»¥é™ä½Žæˆ‘ä»¬çš„æ‰˜ç®¡æˆæœ¬ã€‚
### 从æºä»£ç æž„建
@@ -373,7 +373,7 @@ S3 存储桶中的快照版二进制å‘布由 Github æäº¤å“ˆå¸ŒæŽ§åˆ¶ã€‚è¦èŽ·
如果你有问题或å馈,å¯ä»¥[加入我们的 Matrix 空间](https://matrix.to/#/#gotosocial-space:superseriousbusiness.org)ï¼Œåœ°å€æ˜¯ `#gotosocial-space:superseriousbusiness.org`。这是è”系开å‘人员的最快方å¼ã€‚你也å¯ä»¥å‘é€é‚®ä»¶è‡³ [admin@gotosocial.org](mailto:admin@gotosocial.org)。
-对于错误和功能请求,请先查看是å¦[已有相应问题](https://github.com/superseriousbusiness/gotosocial/issues),如果没有,å¯ä»¥å¼€ä¸€ä¸ªæ–°é—®é¢˜å·¥å•(issue)ï¼Œæˆ–è€…ä½¿ç”¨ä¸Šè¿°æ¸ é“æå‡ºè¯·æ±‚ï¼ˆå¦‚æžœä½ æ²¡æœ‰ Github 账户的è¯ï¼‰ã€‚
+对于错误和功能请求,请先查看是å¦[已有相应问题](https://codeberg.org/superseriousbusiness/gotosocial/issues),如果没有,å¯ä»¥å¼€ä¸€ä¸ªæ–°é—®é¢˜å·¥å•(issue)ï¼Œæˆ–è€…ä½¿ç”¨ä¸Šè¿°æ¸ é“æå‡ºè¯·æ±‚ï¼ˆå¦‚æžœä½ æ²¡æœ‰ Github 账户的è¯ï¼‰ã€‚
---
diff --git a/docs/locales/zh/repo/ROADMAP.md b/docs/locales/zh/repo/ROADMAP.md
index 52bbb815d..15500bbbb 100644
--- a/docs/locales/zh/repo/ROADMAP.md
+++ b/docs/locales/zh/repo/ROADMAP.md
@@ -47,13 +47,13 @@
### 2023 年中
-- [x] **è¯é¢˜æ ‡ç­¾** -- 实现è¯é¢˜æ ‡ç­¾çš„è”åˆä¸ŽæŸ¥çœ‹ï¼Œè®©ç”¨æˆ·å‘现他们å¯èƒ½æ„Ÿå…´è¶£çš„帖文。(完æˆï¼ https://github.com/superseriousbusiness/gotosocial/pull/2032)。
+- [x] **è¯é¢˜æ ‡ç­¾** -- 实现è¯é¢˜æ ‡ç­¾çš„è”åˆä¸ŽæŸ¥çœ‹ï¼Œè®©ç”¨æˆ·å‘现他们å¯èƒ½æ„Ÿå…´è¶£çš„帖文。(完æˆï¼ https://codeberg.org/superseriousbusiness/gotosocial/pulls/2032)。
### 2023 年中到年底
-- [x] **投票** -- 实现对投票的解æžã€åˆ›å»ºå’Œå‚与功能。(完æˆï¼ https://github.com/superseriousbusiness/gotosocial/pull/2330)
-- [x] **é™éŸ³å¸–æ–‡/贴文串** -- å–æ¶ˆè®¢é˜…贴文串的回å¤é€šçŸ¥ï¼›ä¸åœ¨æ—¶é—´çº¿ä¸Šæ˜¾ç¤ºç‰¹å®šå¸–文。(完æˆï¼ https://github.com/superseriousbusiness/gotosocial/pull/2278)
-- [x] **有é™è”åˆ/白åå•** -- å…许实例管ç†å‘˜é»˜è®¤é˜»æ­¢ä¸Žå…¶ä»–实例的è”åˆã€‚(完æˆï¼ https://github.com/superseriousbusiness/gotosocial/pull/2200)
+- [x] **投票** -- 实现对投票的解æžã€åˆ›å»ºå’Œå‚与功能。(完æˆï¼ https://codeberg.org/superseriousbusiness/gotosocial/pulls/2330)
+- [x] **é™éŸ³å¸–æ–‡/贴文串** -- å–æ¶ˆè®¢é˜…贴文串的回å¤é€šçŸ¥ï¼›ä¸åœ¨æ—¶é—´çº¿ä¸Šæ˜¾ç¤ºç‰¹å®šå¸–文。(完æˆï¼ https://codeberg.org/superseriousbusiness/gotosocial/pulls/2278)
+- [x] **有é™è”åˆ/白åå•** -- å…许实例管ç†å‘˜é»˜è®¤é˜»æ­¢ä¸Žå…¶ä»–实例的è”åˆã€‚(完æˆï¼ https://codeberg.org/superseriousbusiness/gotosocial/pulls/2200)
### 2024 å¹´åˆ
diff --git a/docs/locales/zh/user_guide/importing_posts.md b/docs/locales/zh/user_guide/importing_posts.md
index 5dd61f691..83233a651 100644
--- a/docs/locales/zh/user_guide/importing_posts.md
+++ b/docs/locales/zh/user_guide/importing_posts.md
@@ -28,7 +28,7 @@
## 如何导入你的帖文
-当å‰ï¼Œè¯¥è¿‡ç¨‹éœ€è¦å€ŸåŠ©åˆ©ç”¨ GTS API 的第三方工具。未æ¥ï¼Œæˆ‘们å¯èƒ½ä¼šå°†æ­¤åŠŸèƒ½æ•´åˆåˆ° GoToSocial 内部:请关注 [issue #2](https://github.com/superseriousbusiness/gotosocial/issues/2) ä»¥èŽ·å–æœ€æ–°åЍæ€ã€‚
+当å‰ï¼Œè¯¥è¿‡ç¨‹éœ€è¦å€ŸåŠ©åˆ©ç”¨ GTS API 的第三方工具。未æ¥ï¼Œæˆ‘们å¯èƒ½ä¼šå°†æ­¤åŠŸèƒ½æ•´åˆåˆ° GoToSocial 内部:请关注 [issue #2](https://codeberg.org/superseriousbusiness/gotosocial/issues/2) ä»¥èŽ·å–æœ€æ–°åЍæ€ã€‚
[`slurp`](https://github.com/VyrCossont/slurp)(由 GTS å¼€å‘者 Vyr Cossont å¼€å‘)å¯ä»¥å¯¼å…¥æ¥è‡ª [Mastodon å½’æ¡£](https://github.com/VyrCossont/slurp?tab=readme-ov-file#importing-a-mastodon-archive) å’Œ [Pixelfed å½’æ¡£](https://github.com/VyrCossont/slurp?tab=readme-ov-file#importing-a-pixelfed-archive) 的帖文。请查阅 `slurp` 的文档ã€[Mastodon 关于导出数æ®çš„说明](https://docs.joinmastodon.org/user/moving/#export) ä»¥åŠ Jeff Sikes 的文章 [“使用 Slurp å°† Pixelfed 帖文导入 GoToSocialâ€](https://box464.com/posts/gotosocial-slurp/) 以了解更多细节。你需è¦ç†Ÿæ‚‰å‘½ä»¤è¡ŒåŸºç¡€ï¼Œå¹¶æå‰å®‰è£… Git å’Œ Go 编译器。
diff --git a/docs/locales/zh/user_guide/posts.md b/docs/locales/zh/user_guide/posts.md
index 87ef71871..44c094896 100644
--- a/docs/locales/zh/user_guide/posts.md
+++ b/docs/locales/zh/user_guide/posts.md
@@ -136,7 +136,7 @@ GoToSocial å…许你在贴文中附加媒体文件,大多数客户端会在贴
为了é¿å…泄æ¼ä½ çš„ä½ç½®ä¿¡æ¯ï¼ŒGoToSocial 努力在上传媒体时通过清零 Exif æ•°æ®ç‚¹ç§»é™¤ Exif ä¿¡æ¯ã€‚
!!! danger "å±é™©"
- ä¸ºäº†æ–¹ä¾¿å’Œä¿æŠ¤éšç§ï¼ŒGoToSocial 在上传图片文件时会自动移除 Exif 标签。然而,**无法自动移除 mp4 视频的 Exif æ•°æ®**(å‚è§ [#2577](https://github.com/superseriousbusiness/gotosocial/issues/2577))。
+ ä¸ºäº†æ–¹ä¾¿å’Œä¿æŠ¤éšç§ï¼ŒGoToSocial 在上传图片文件时会自动移除 Exif 标签。然而,**无法自动移除 mp4 视频的 Exif æ•°æ®**(å‚è§ [#2577](https://codeberg.org/superseriousbusiness/gotosocial/issues/2577))。
在你将视频上传至 GoToSocial 之å‰ï¼Œå»ºè®®ç¡®ä¿è¯¥è§†é¢‘çš„ Exif æ•°æ®æ ‡ç­¾å·²ç»è¢«ç§»é™¤ã€‚ä½ å¯ä»¥åœ¨çº¿æ‰¾åˆ°å¤šç§å·¥å…·å’ŒæœåŠ¡æ¥åšåˆ°è¿™ä¸€ç‚¹ã€‚
diff --git a/docs/user_guide/importing_posts.md b/docs/user_guide/importing_posts.md
index f20517d8a..a3df2bf61 100644
--- a/docs/user_guide/importing_posts.md
+++ b/docs/user_guide/importing_posts.md
@@ -28,7 +28,7 @@ The limitations on interactions with other accounts are an intentional politenes
## How to import your posts
-The process currently requires third-party tools which use the GTS API. In the future, we may integrate this into GoToSocial itself: please follow [issue #2](https://github.com/superseriousbusiness/gotosocial/issues/2) for updates.
+The process currently requires third-party tools which use the GTS API. In the future, we may integrate this into GoToSocial itself: please follow [issue #2](https://codeberg.org/superseriousbusiness/gotosocial/issues/2) for updates.
[`slurp`](https://github.com/VyrCossont/slurp) (by GTS developer Vyr Cossont) can import [post archives from Mastodon](https://github.com/VyrCossont/slurp?tab=readme-ov-file#importing-a-mastodon-archive) as well as [from Pixelfed](https://github.com/VyrCossont/slurp?tab=readme-ov-file#importing-a-pixelfed-archive). Please consult `slurp`'s docs, [Mastodon's instructions for exporting your data](https://docs.joinmastodon.org/user/moving/#export), and ["Importing Pixelfed Posts to GoToSocial with Slurp" by Jeff Sikes](https://box464.com/posts/gotosocial-slurp/) for more details. You'll need to be familiar with command-line basics, and have Git and a Go compiler installed.
diff --git a/docs/user_guide/posts.md b/docs/user_guide/posts.md
index c45ad4bcb..d42d7a466 100644
--- a/docs/user_guide/posts.md
+++ b/docs/user_guide/posts.md
@@ -136,7 +136,7 @@ Traditionally, these Exif data points are used by photographers to help them cat
To avoid leaking information about your location, GoToSocial makes a best-effort attempt to remove Exif information from media when you upload it, by zeroing out Exif data points.
!!! danger
- For your convenience and privacy, GoToSocial currently removes Exif tags from image files when they are uploaded. However, **automated removal of Exif data from mp4 videos is not currently supported** (see [#2577](https://github.com/superseriousbusiness/gotosocial/issues/2577)).
+ For your convenience and privacy, GoToSocial currently removes Exif tags from image files when they are uploaded. However, **automated removal of Exif data from mp4 videos is not currently supported** (see [#2577](https://codeberg.org/superseriousbusiness/gotosocial/issues/2577)).
Before you upload a video to GoToSocial, we recommend ensuring that Exif data tags are already removed from the video. You can find various tools and services online for doing this.
diff --git a/internal/ap/ap_test.go b/internal/ap/ap_test.go
index 6d02412f2..06856812c 100644
--- a/internal/ap/ap_test.go
+++ b/internal/ap/ap_test.go
@@ -307,7 +307,7 @@ func addressable3() ap.Addressable {
}
func addressable4() vocab.ActivityStreamsAnnounce {
- // https://github.com/superseriousbusiness/gotosocial/issues/267
+ // https://codeberg.org/superseriousbusiness/gotosocial/issues/267
announceJson := []byte(`
{
"@context": "https://www.w3.org/ns/activitystreams",
diff --git a/internal/ap/extract.go b/internal/ap/extract.go
index 5fdf4962c..40578b8fc 100644
--- a/internal/ap/extract.go
+++ b/internal/ap/extract.go
@@ -903,7 +903,7 @@ func ExtractEmojis(i WithTag, host string) ([]*gtsmodel.Emoji, error) {
// dummy URI for the emoji can be constructed in case
// there's no id property or id property is null.
//
-// https://github.com/superseriousbusiness/gotosocial/issues/3384)
+// https://codeberg.org/superseriousbusiness/gotosocial/issues/3384)
func ExtractEmoji(
e Emojiable,
host string,
diff --git a/internal/ap/extractvisibility_test.go b/internal/ap/extractvisibility_test.go
index ba5718506..8fdd1e425 100644
--- a/internal/ap/extractvisibility_test.go
+++ b/internal/ap/extractvisibility_test.go
@@ -51,7 +51,7 @@ func (suite *ExtractVisibilityTestSuite) TestExtractVisibilityFollowersOnly() {
}
func (suite *ExtractVisibilityTestSuite) TestExtractVisibilityFollowersOnlyAnnounce() {
- // https://github.com/superseriousbusiness/gotosocial/issues/267
+ // https://codeberg.org/superseriousbusiness/gotosocial/issues/267
a := suite.addressable4
visibility, err := ap.ExtractVisibility(a, "https://example.org/users/someone/followers")
suite.NoError(err)
diff --git a/internal/ap/resolve.go b/internal/ap/resolve.go
index 45107df69..096d00b49 100644
--- a/internal/ap/resolve.go
+++ b/internal/ap/resolve.go
@@ -78,7 +78,7 @@ func ResolveIncomingActivity(r *http.Request) (pub.Activity, bool, gtserror.With
}
// Normalize any Statusable, Accountable, Pollable fields found.
- // (see: https://github.com/superseriousbusiness/gotosocial/issues/1661)
+ // (see: https://codeberg.org/superseriousbusiness/gotosocial/issues/1661)
NormalizeIncomingActivity(activity, raw)
return activity, true, nil
diff --git a/internal/api/auth/callback.go b/internal/api/auth/callback.go
index 608ee1bd4..d9c2a79e4 100644
--- a/internal/api/auth/callback.go
+++ b/internal/api/auth/callback.go
@@ -148,7 +148,7 @@ func (m *Module) CallbackGETHandler(c *gin.Context) {
// Since we require lowercase usernames at this point, lowercase the one
// from the claims and use this to autofill the form with a suggestion.
//
- // Pending https://github.com/superseriousbusiness/gotosocial/issues/1813
+ // Pending https://codeberg.org/superseriousbusiness/gotosocial/issues/1813
suggestedUsername := strings.ToLower(claims.PreferredUsername)
page := apiutil.WebPage{
diff --git a/internal/api/client/filters/v1/filterpost_test.go b/internal/api/client/filters/v1/filterpost_test.go
index 1731aed8f..a71651fa1 100644
--- a/internal/api/client/filters/v1/filterpost_test.go
+++ b/internal/api/client/filters/v1/filterpost_test.go
@@ -256,7 +256,7 @@ func (suite *FiltersTestSuite) postFilterWithExpiration(phrase *string, expiresI
return filter
}
-// Regression test for https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test for https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPostFilterWithEmptyStringExpiration() {
title := "Form Sins"
expiresInStr := ""
@@ -264,7 +264,7 @@ func (suite *FiltersTestSuite) TestPostFilterWithEmptyStringExpiration() {
suite.Nil(filter.ExpiresAt)
}
-// Regression test related to https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test related to https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPostFilterWithNullExpirationJSON() {
requestJson := `{
"phrase": "JSON Sins",
diff --git a/internal/api/client/filters/v1/filterput_test.go b/internal/api/client/filters/v1/filterput_test.go
index 740170a04..41804ad44 100644
--- a/internal/api/client/filters/v1/filterput_test.go
+++ b/internal/api/client/filters/v1/filterput_test.go
@@ -287,7 +287,7 @@ func (suite *FiltersTestSuite) setFilterExpiration(id string, phrase *string, ex
return filter
}
-// Regression test for https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test for https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPutFilterUnsetExpirationDateEmptyString() {
filterKeyword := suite.testFilterKeywords["local_account_1_filter_1_keyword_1"]
id := filterKeyword.ID
@@ -306,7 +306,7 @@ func (suite *FiltersTestSuite) TestPutFilterUnsetExpirationDateEmptyString() {
suite.Nil(filter.ExpiresAt)
}
-// Regression test related to https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test related to https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPutFilterUnsetExpirationDateNullJSON() {
filterKeyword := suite.testFilterKeywords["local_account_1_filter_1_keyword_1"]
id := filterKeyword.ID
diff --git a/internal/api/client/filters/v2/filterpost_test.go b/internal/api/client/filters/v2/filterpost_test.go
index 40a46a2f6..81df6487f 100644
--- a/internal/api/client/filters/v2/filterpost_test.go
+++ b/internal/api/client/filters/v2/filterpost_test.go
@@ -319,7 +319,7 @@ func (suite *FiltersTestSuite) postFilterWithExpiration(title *string, expiresIn
return filter
}
-// Regression test for https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test for https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPostFilterWithEmptyStringExpiration() {
title := "Form Crimes"
expiresInStr := ""
@@ -327,7 +327,7 @@ func (suite *FiltersTestSuite) TestPostFilterWithEmptyStringExpiration() {
suite.Nil(filter.ExpiresAt)
}
-// Regression test related to https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test related to https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPostFilterWithNullExpirationJSON() {
requestJson := `{
"title": "JSON Crimes",
diff --git a/internal/api/client/filters/v2/filterput_test.go b/internal/api/client/filters/v2/filterput_test.go
index 9ff4dbfad..4fd1d26ee 100644
--- a/internal/api/client/filters/v2/filterput_test.go
+++ b/internal/api/client/filters/v2/filterput_test.go
@@ -359,7 +359,7 @@ func (suite *FiltersTestSuite) setFilterExpiration(id string, expiresIn *int, ex
return filter
}
-// Regression test for https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test for https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPutFilterUnsetExpirationDateEmptyString() {
id := suite.testFilters["local_account_1_filter_2"].ID
@@ -376,7 +376,7 @@ func (suite *FiltersTestSuite) TestPutFilterUnsetExpirationDateEmptyString() {
suite.Nil(filter.ExpiresAt)
}
-// Regression test related to https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test related to https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPutFilterUnsetExpirationDateNullJSON() {
id := suite.testFilters["local_account_1_filter_3"].ID
@@ -395,7 +395,7 @@ func (suite *FiltersTestSuite) TestPutFilterUnsetExpirationDateNullJSON() {
suite.Nil(filter.ExpiresAt)
}
-// Regression test related to https://github.com/superseriousbusiness/gotosocial/issues/3497
+// Regression test related to https://codeberg.org/superseriousbusiness/gotosocial/issues/3497
func (suite *FiltersTestSuite) TestPutFilterUnalteredExpirationDateJSON() {
id := suite.testFilters["local_account_1_filter_4"].ID
diff --git a/internal/api/model/instance.go b/internal/api/model/instance.go
index aaa01d837..2a085c082 100644
--- a/internal/api/model/instance.go
+++ b/internal/api/model/instance.go
@@ -60,7 +60,7 @@ type InstanceConfigurationAccounts struct {
// Currently not implemented, so this is hardcoded to 10.
MaxFeaturedTags int `json:"max_featured_tags"`
// The maximum number of profile fields allowed for each account.
- // Currently not configurable, so this is hardcoded to 6. (https://github.com/superseriousbusiness/gotosocial/issues/1876)
+ // Currently not configurable, so this is hardcoded to 6. (https://codeberg.org/superseriousbusiness/gotosocial/issues/1876)
MaxProfileFields int `json:"max_profile_fields"`
}
diff --git a/internal/api/model/instancev2.go b/internal/api/model/instancev2.go
index 96399ea06..5aad6f015 100644
--- a/internal/api/model/instancev2.go
+++ b/internal/api/model/instancev2.go
@@ -43,7 +43,7 @@ type InstanceV2 struct {
// Whether or not instance is running in DEBUG mode. Omitted if false.
Debug *bool `json:"debug,omitempty"`
// The URL for the source code of the software running on this instance, in keeping with AGPL license requirements.
- // example: https://github.com/superseriousbusiness/gotosocial
+ // example: https://codeberg.org/superseriousbusiness/gotosocial
SourceURL string `json:"source_url"`
// Description of the instance.
//
diff --git a/internal/db/bundb/migrations/20250124164400_domain_perm_sub_migration_fix.go b/internal/db/bundb/migrations/20250124164400_domain_perm_sub_migration_fix.go
index 6e9756e39..50546cd42 100644
--- a/internal/db/bundb/migrations/20250124164400_domain_perm_sub_migration_fix.go
+++ b/internal/db/bundb/migrations/20250124164400_domain_perm_sub_migration_fix.go
@@ -30,7 +30,7 @@ import (
// which will be a noop in most cases, but will fix some issues for those who
// were running snapshots between GtS v0.17.0 and GtS v0.18.0.
//
-// See https://github.com/superseriousbusiness/gotosocial/pull/3679.
+// See https://codeberg.org/superseriousbusiness/gotosocial/pulls/3679.
func init() {
up := func(ctx context.Context, db *bun.DB) error {
return db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
diff --git a/internal/filter/visibility/home_timeline_test.go b/internal/filter/visibility/home_timeline_test.go
index 084da42a0..a152a64bc 100644
--- a/internal/filter/visibility/home_timeline_test.go
+++ b/internal/filter/visibility/home_timeline_test.go
@@ -183,7 +183,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyFollowersOnly(
// THEN, local_account_1 replies to their own reply. None of these statuses should appear to
// local_account_2 since they don't follow the original parent.
//
- // See: https://github.com/superseriousbusiness/gotosocial/issues/501
+ // See: https://codeberg.org/superseriousbusiness/gotosocial/issues/501
originalStatusParent := suite.testAccounts["remote_account_1"]
replyingAccount := suite.testAccounts["local_account_1"]
diff --git a/internal/middleware/cors.go b/internal/middleware/cors.go
index caa091e62..591590b5a 100644
--- a/internal/middleware/cors.go
+++ b/internal/middleware/cors.go
@@ -56,7 +56,7 @@ func CORS() gin.HandlerFunc {
// Some clients require this; see:
// - https://docs.joinmastodon.org/methods/statuses/#headers
- // - https://github.com/superseriousbusiness/gotosocial/issues/1664
+ // - https://codeberg.org/superseriousbusiness/gotosocial/issues/1664
"Idempotency-Key",
// needed for websocket upgrade requests
diff --git a/internal/processing/fedi/user.go b/internal/processing/fedi/user.go
index bf2f2a90e..53dfd6022 100644
--- a/internal/processing/fedi/user.go
+++ b/internal/processing/fedi/user.go
@@ -51,7 +51,7 @@ func (p *Processor) UserGet(ctx context.Context, requestedUsername string, reque
// authenticate this request. However, we'll only serve
// the bare minimum user profile needed for the pubkey.
//
- // TODO: https://github.com/superseriousbusiness/gotosocial/issues/1186
+ // TODO: https://codeberg.org/superseriousbusiness/gotosocial/issues/1186
minimalPerson, err := p.converter.AccountToASMinimal(ctx, receiver)
if err != nil {
err := gtserror.Newf("error converting to minimal account: %w", err)
diff --git a/internal/text/markdown_test.go b/internal/text/markdown_test.go
index 923487978..5048fab87 100644
--- a/internal/text/markdown_test.go
+++ b/internal/text/markdown_test.go
@@ -75,9 +75,9 @@ const (
mdWithAsciiHeartExpected = "<p>hello &lt;3 old friend &lt;3 i loved u &lt;/3 :(( you stole my heart</p>"
mdWithStrikethrough = "I have ~~mdae~~ made an error"
mdWithStrikethroughExpected = "<p>I have <del>mdae</del> made an error</p>"
- mdWithLink = "Check out this code, i heard it was written by a sloth https://github.com/superseriousbusiness/gotosocial"
- mdWithLinkExpected = "<p>Check out this code, i heard it was written by a sloth <a href=\"https://github.com/superseriousbusiness/gotosocial\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://github.com/superseriousbusiness/gotosocial</a></p>"
- mdWithLinkBasicExpected = "Check out this code, i heard it was written by a sloth <a href=\"https://github.com/superseriousbusiness/gotosocial\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://github.com/superseriousbusiness/gotosocial</a>"
+ mdWithLink = "Check out this code, i heard it was written by a sloth https://codeberg.org/superseriousbusiness/gotosocial"
+ mdWithLinkExpected = "<p>Check out this code, i heard it was written by a sloth <a href=\"https://codeberg.org/superseriousbusiness/gotosocial\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://codeberg.org/superseriousbusiness/gotosocial</a></p>"
+ mdWithLinkBasicExpected = "Check out this code, i heard it was written by a sloth <a href=\"https://codeberg.org/superseriousbusiness/gotosocial\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://codeberg.org/superseriousbusiness/gotosocial</a>"
mdObjectInCodeBlock = "@foss_satan@fossbros-anonymous.io this is how to mention a user\n```\n@the_mighty_zork hey bud! nice #ObjectOrientedProgramming software you've been writing lately! :rainbow:\n```\nhope that helps"
mdObjectInCodeBlockExpected = "<p><span class=\"h-card\"><a href=\"http://fossbros-anonymous.io/@foss_satan\" class=\"u-url mention\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">@<span>foss_satan</span></a></span> this is how to mention a user</p><pre><code>@the_mighty_zork hey bud! nice #ObjectOrientedProgramming software you&#39;ve been writing lately! :rainbow:\n</code></pre><p>hope that helps</p>"
// Hashtags can be italicized but only with *, not _.
@@ -125,7 +125,7 @@ func (suite *MarkdownTestSuite) TestParseWithHashtag() {
suite.Equal(withHashtagExpected, formatted.HTML)
}
-// Regressiom test for https://github.com/superseriousbusiness/gotosocial/issues/3618
+// Regressiom test for https://codeberg.org/superseriousbusiness/gotosocial/issues/3618
func (suite *MarkdownTestSuite) TestParseWithTamilHashtag() {
formatted := suite.FromMarkdown(withTamilHashtag)
suite.Equal(withTamilHashtagExpected, formatted.HTML)
diff --git a/internal/text/plain_test.go b/internal/text/plain_test.go
index 2ac7ae30b..dbc675908 100644
--- a/internal/text/plain_test.go
+++ b/internal/text/plain_test.go
@@ -216,10 +216,10 @@ i will not be ashamed!`,
},
{
// Check newlines, links, lists still more or less readable as such.
- html: "<p>Hello everyone, after a week or two down the release candidate mines, we've emerged blinking into the light carrying with us <a href=\"https://gts.superseriousbusiness.org/tags/gotosocial\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>GoToSocial</span></a> <strong>v0.18.0 Scroingly Sloth</strong>!</p><p><a href=\"https://github.com/superseriousbusiness/gotosocial/releases/tag/v0.18.0\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://github.com/superseriousbusiness/gotosocial/releases/tag/v0.18.0</a></p><p>Please read the migration notes carefully for instructions on how to upgrade to this version. <strong>This version contains several very long migrations so you will need to be patient when upgrading, and backup your database first!!</strong></p><p><strong>Release highlights</strong></p><ul><li><strong>Status edit support</strong>: one of our most-requested features! You can now edit your own statuses, and see instance edit history from other accounts too (if your instance has them stored).</li><li><strong>Push notifications</strong>: probably the second most-requested feature! GoToSocial can now send push notifications to clients via their configured push providers.<br>You may need to uninstall / reinstall client applications, or log out and back in again, for this feature to work. (And if you're using Tusky, <a href=\"https://tusky.app/faq/#why-are-notifications-less-frequent-with-tusky\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">make sure you've got ntfy installed</a>).</li><li><strong>Global instance css customization</strong>: admins can now apply custom CSS across their entire instance via the settings panel.</li><li><strong>Domain permission subscriptions</strong>: it's now possible to configure your instance to subscribe to CSV, JSON, or plaintext lists of domain permissions.<br>Each night, your instance will fetch and automatically create domain permissions (or permission drafts) based on what it finds in a subscribed list.<br>See the <a href=\"https://docs.gotosocial.org/en/latest/admin/domain_permission_subscriptions/\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">domain permission subscription documentation</a> for more information.</li><li><strong>Trusted-proxies helper</strong>: instances with improperly configured trusted-proxies settings will now show a warning on the homepage, so admins can make sure their instance is configured correctly. Check your own instance homepage after updating to see if you need to do anything.</li><li><strong>Better outbox sorting</strong>: messages from GoToSocial are now delivered more quickly to people you mention, so conversations across instances should feel a bit snappier.</li><li><strong>Log in button</strong>: there's now a login button in the top right of the instance homepage, which leads to a helpful page about clients, with a link to the settings panel. Should make things less confusing for new users!</li><li><strong>Granular stats controls</strong>: with the <code>instance-stats-mode</code> setting, admins can now choose if and how their instance serves stats via the nodeinfo endpoints. Existing behavior from v0.17.0 is the default.</li><li><strong>Post backdating</strong>: via the API you can now backdate posts (if enabled in config.yaml). This is our first step towards making it possible to import your post history from elsewhere into your GoToSocial instance. While there's no way to do this in the settings panel yet, you can already use third-party tools like Slurp to import posts from a Mastodon export (see <a href=\"https://github.com/VyrCossont/slurp\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">Slurp</a>).</li><li><strong>Configurable sign-up limits</strong>: you can now configure your sign-up backlog length and sign-up throttling (defaults remain the same).</li><li><strong>NetBSD and FreeBSD builds</strong>: yep!</li><li><strong>Respect users <code>prefers-color-scheme</code> preference</strong>: there's now a light mode default theme to complement our trusty dark mode theme, and the theme will switch based on a visitor's <code>prefers-color-scheme</code> configuration. This applies to all page and profiles, with the exception of some custom themes. Works in the settings panel too!</li></ul><p>Thanks for reading! And seriously back up your database.</p>",
+ html: "<p>Hello everyone, after a week or two down the release candidate mines, we've emerged blinking into the light carrying with us <a href=\"https://gts.superseriousbusiness.org/tags/gotosocial\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>GoToSocial</span></a> <strong>v0.18.0 Scroingly Sloth</strong>!</p><p><a href=\"https://codeberg.org/superseriousbusiness/gotosocial/releases/tag/v0.18.0\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://codeberg.org/superseriousbusiness/gotosocial/releases/tag/v0.18.0</a></p><p>Please read the migration notes carefully for instructions on how to upgrade to this version. <strong>This version contains several very long migrations so you will need to be patient when upgrading, and backup your database first!!</strong></p><p><strong>Release highlights</strong></p><ul><li><strong>Status edit support</strong>: one of our most-requested features! You can now edit your own statuses, and see instance edit history from other accounts too (if your instance has them stored).</li><li><strong>Push notifications</strong>: probably the second most-requested feature! GoToSocial can now send push notifications to clients via their configured push providers.<br>You may need to uninstall / reinstall client applications, or log out and back in again, for this feature to work. (And if you're using Tusky, <a href=\"https://tusky.app/faq/#why-are-notifications-less-frequent-with-tusky\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">make sure you've got ntfy installed</a>).</li><li><strong>Global instance css customization</strong>: admins can now apply custom CSS across their entire instance via the settings panel.</li><li><strong>Domain permission subscriptions</strong>: it's now possible to configure your instance to subscribe to CSV, JSON, or plaintext lists of domain permissions.<br>Each night, your instance will fetch and automatically create domain permissions (or permission drafts) based on what it finds in a subscribed list.<br>See the <a href=\"https://docs.gotosocial.org/en/latest/admin/domain_permission_subscriptions/\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">domain permission subscription documentation</a> for more information.</li><li><strong>Trusted-proxies helper</strong>: instances with improperly configured trusted-proxies settings will now show a warning on the homepage, so admins can make sure their instance is configured correctly. Check your own instance homepage after updating to see if you need to do anything.</li><li><strong>Better outbox sorting</strong>: messages from GoToSocial are now delivered more quickly to people you mention, so conversations across instances should feel a bit snappier.</li><li><strong>Log in button</strong>: there's now a login button in the top right of the instance homepage, which leads to a helpful page about clients, with a link to the settings panel. Should make things less confusing for new users!</li><li><strong>Granular stats controls</strong>: with the <code>instance-stats-mode</code> setting, admins can now choose if and how their instance serves stats via the nodeinfo endpoints. Existing behavior from v0.17.0 is the default.</li><li><strong>Post backdating</strong>: via the API you can now backdate posts (if enabled in config.yaml). This is our first step towards making it possible to import your post history from elsewhere into your GoToSocial instance. While there's no way to do this in the settings panel yet, you can already use third-party tools like Slurp to import posts from a Mastodon export (see <a href=\"https://github.com/VyrCossont/slurp\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">Slurp</a>).</li><li><strong>Configurable sign-up limits</strong>: you can now configure your sign-up backlog length and sign-up throttling (defaults remain the same).</li><li><strong>NetBSD and FreeBSD builds</strong>: yep!</li><li><strong>Respect users <code>prefers-color-scheme</code> preference</strong>: there's now a light mode default theme to complement our trusty dark mode theme, and the theme will switch based on a visitor's <code>prefers-color-scheme</code> configuration. This applies to all page and profiles, with the exception of some custom themes. Works in the settings panel too!</li></ul><p>Thanks for reading! And seriously back up your database.</p>",
expectedPlain: `Hello everyone, after a week or two down the release candidate mines, we've emerged blinking into the light carrying with us #GoToSocial <https://gts.superseriousbusiness.org/tags/gotosocial> v0.18.0 Scroingly Sloth!
-https://github.com/superseriousbusiness/gotosocial/releases/tag/v0.18.0 <https://github.com/superseriousbusiness/gotosocial/releases/tag/v0.18.0>
+https://codeberg.org/superseriousbusiness/gotosocial/releases/tag/v0.18.0 <https://codeberg.org/superseriousbusiness/gotosocial/releases/tag/v0.18.0>
Please read the migration notes carefully for instructions on how to upgrade to this version. This version contains several very long migrations so you will need to be patient when upgrading, and backup your database first!!
diff --git a/internal/typeutils/astointernal_test.go b/internal/typeutils/astointernal_test.go
index 80a91fac7..fb453c89e 100644
--- a/internal/typeutils/astointernal_test.go
+++ b/internal/typeutils/astointernal_test.go
@@ -570,7 +570,7 @@ func (suite *ASToInternalTestSuite) TestParseAnnounce() {
func (suite *ASToInternalTestSuite) TestParseHonkAccount() {
// Hopefully comprehensive checks for
- // https://github.com/superseriousbusiness/gotosocial/issues/2527.
+ // https://codeberg.org/superseriousbusiness/gotosocial/issues/2527.
const honk_user = `{
"@context": "https://www.w3.org/ns/activitystreams",
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index ad6dcafea..659f47ab4 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -50,7 +50,7 @@ const (
instancePollsMinExpiration = 300 // seconds
instancePollsMaxExpiration = 2629746 // seconds
instanceAccountsMaxFeaturedTags = 10
- instanceAccountsMaxProfileFields = 6 // FIXME: https://github.com/superseriousbusiness/gotosocial/issues/1876
+ instanceAccountsMaxProfileFields = 6 // FIXME: https://codeberg.org/superseriousbusiness/gotosocial/issues/1876
instanceSourceURL = "https://codeberg.org/superseriousbusiness/gotosocial"
instanceMastodonVersion = "3.5.3"
)
@@ -2155,7 +2155,7 @@ func (c *Converter) ConversationToAPIConversation(
// If no other accounts are involved in this convo,
// just include the requesting account and return.
//
- // See: https://github.com/superseriousbusiness/gotosocial/issues/3385#issuecomment-2394033477
+ // See: https://codeberg.org/superseriousbusiness/gotosocial/issues/3385#issuecomment-2394033477
otherAcctsLen := len(conversation.OtherAccounts)
if otherAcctsLen == 0 {
apiAcct, err := c.AccountToAPIAccountPublic(ctx, requester)
diff --git a/internal/typeutils/util_test.go b/internal/typeutils/util_test.go
index f8f142f45..4f0e70db0 100644
--- a/internal/typeutils/util_test.go
+++ b/internal/typeutils/util_test.go
@@ -179,10 +179,10 @@ func TestFilterableText(t *testing.T) {
},
{
status: &gtsmodel.Status{
- Content: `<p><span class="h-card"><a href="https://example.org/@zlatko" class="u-url mention" rel="nofollow noreferrer noopener" target="_blank">@<span>zlatko</span></a></span> currently we used modernc/sqlite3 for our sqlite driver, but we've been experimenting with wasm sqlite, and will likely move to that permanently in future; in the meantime, both options are available (the latter with a build tag)</p><p><a href="https://github.com/superseriousbusiness/gotosocial/pull/2863" rel="nofollow noreferrer noopener" target="_blank">https://github.com/superseriousbusiness/gotosocial/pull/2863</a></p>`,
+ Content: `<p><span class="h-card"><a href="https://example.org/@zlatko" class="u-url mention" rel="nofollow noreferrer noopener" target="_blank">@<span>zlatko</span></a></span> currently we used modernc/sqlite3 for our sqlite driver, but we've been experimenting with wasm sqlite, and will likely move to that permanently in future; in the meantime, both options are available (the latter with a build tag)</p><p><a href="https://codeberg.org/superseriousbusiness/gotosocial/pulls/2863" rel="nofollow noreferrer noopener" target="_blank">https://codeberg.org/superseriousbusiness/gotosocial/pulls/2863</a></p>`,
},
expectedFields: []string{
- "@zlatko <https://example.org/@zlatko> currently we used modernc/sqlite3 for our sqlite driver, but we've been experimenting with wasm sqlite, and will likely move to that permanently in future; in the meantime, both options are available (the latter with a build tag)\n\nhttps://github.com/superseriousbusiness/gotosocial/pull/2863 <https://github.com/superseriousbusiness/gotosocial/pull/2863>",
+ "@zlatko <https://example.org/@zlatko> currently we used modernc/sqlite3 for our sqlite driver, but we've been experimenting with wasm sqlite, and will likely move to that permanently in future; in the meantime, both options are available (the latter with a build tag)\n\nhttps://codeberg.org/superseriousbusiness/gotosocial/pulls/2863 <https://codeberg.org/superseriousbusiness/gotosocial/pulls/2863>",
},
},
{
diff --git a/internal/web/rss.go b/internal/web/rss.go
index e9fa5ca65..006ba4ec1 100644
--- a/internal/web/rss.go
+++ b/internal/web/rss.go
@@ -46,7 +46,7 @@ func (m *Module) rssFeedGETHandler(c *gin.Context) {
// Usernames on our instance will always be lowercase.
//
- // todo: https://github.com/superseriousbusiness/gotosocial/issues/1813
+ // todo: https://codeberg.org/superseriousbusiness/gotosocial/issues/1813
username = strings.ToLower(username)
// Retrieve the getRSSFeed function from the processor.
diff --git a/web/source/settings/lib/query/admin/custom-emoji/index.ts b/web/source/settings/lib/query/admin/custom-emoji/index.ts
index c5dd0a814..b4ae74610 100644
--- a/web/source/settings/lib/query/admin/custom-emoji/index.ts
+++ b/web/source/settings/lib/query/admin/custom-emoji/index.ts
@@ -64,7 +64,7 @@ function emojisFromSearchResult(searchRes): EmojisFromItem {
return {
type,
// Workaround to get host rather than account domain.
- // See https://github.com/superseriousbusiness/gotosocial/issues/1225.
+ // See https://codeberg.org/superseriousbusiness/gotosocial/issues/1225.
domain: (new URL(data.url)).host,
list: data.emojis,
};