From 8f0bb0d381dc94ad2e1b0f6671a5f2c56ded6142 Mon Sep 17 00:00:00 2001
From: Crimekillz
Date: Tue, 16 Apr 2024 23:21:29 +0200
Subject: [PATCH] Release v2024.04.1
---
CHANGELOG.md | 21 ++++++-
README.md | 23 +++++---
docs/migrate.md | 20 ++++++-
docs/sharkey.sql | 57 ++++++++++---------
package.json | 2 +-
.../migration/1689965609061-iceshrimp-repo.ts | 22 +++++++
...epo.ts => 1689965609062-trashposs-repo.ts} | 8 +--
.../api/endpoints/users/achievements.ts | 16 +++++-
.../client/src/components/MkNotification.vue | 3 +-
9 files changed, 127 insertions(+), 45 deletions(-)
create mode 100644 packages/backend/src/migration/1689965609061-iceshrimp-repo.ts
rename packages/backend/src/migration/{1689965609061-trashposs-repo.ts => 1689965609062-trashposs-repo.ts} (63%)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index da7d7746c..6dc146821 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,23 @@
+## v2024.04.1
+First release of TrashPoss. Please read the migration notes if you are coming from Iceshrimp.
+
+### Backend
+- Allow proxying of videos and audio content (Thanks to ShittyKopper)
+- Allow federation via Tor / i2p
+- Fixes that allow proper federation of likes with instances using the UA "misskey" (Sharkey)
+
+### Frontend
+- Post language selection and translate functionality by Namekuji
+- Suppress the "You haven't configured mail" message (Patch adopted [from mia](https://iceshrimp.dev/mia/withdrawal))
+- Fast๐ Scream๐ Mod๐ Tracker/SID playback support (Thanks to [Jeder](https://iceshrimp.dev/iceshrimp/iceshrimp/pulls/490))
+
+### Miscellaneous
+- Achievements adopting code from Sharkey/Misskey (Syuilo)
+- Chomp! Activity Support (Patch adopted [from mia](https://iceshrimp.dev/mia/withdrawal))
+
+### Attribution
+This release was made poss-ible by ShittyKopper, mia, Namekuji, Jeder, Syuilo and Crimekillz
+
## v2023.12.6
This is a security release. Upgrading is therefore strongly recommended.
@@ -22,7 +42,6 @@ This is a security release. Upgrading is therefore strongly recommended.
- The installation requirements now mention postgresql-contrib
- Various translation updates
-### Attribution
### Attribution
This release was made possible by project contributors: CookiLover311, Crimekillz, Jegler, Laura Hausmann, Lilian, Norm, Salif Mehmed, jeder, konkonkon, naskya & ่ๅจ้จ่ฝ
diff --git a/README.md b/README.md
index 96e13f4de..9138cf711 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,13 @@
TrashPoss is a decentralized and federated social networking service, implementing the ActivityPub standard.
It was forked from Iceshrimp, itself a fork of Calckey Firefish (itself a fork of Misskey) in 2024, to focus on silly features instead of stability, performance and usability.
-It is made in honor of the grind that went into upstream projects and is not meant to be derogatory.
+Thanks a lot for the grind that went into upstream projects, which made this fork possible.
+
+Direct migrations from Iceshrimp 2023.12.6 are possible, please read [this](docs/migrate.md)
+
+** We are happy to announce our first release **
+
+__2024.04.1 is out!__
---
@@ -12,22 +18,23 @@ It is made in honor of the grind that went into upstream projects and is not mea
---
- Highlighted changes:
- - Achievements using patches from Sharkey/Misskey
- - Unified Lists and News UI
- - New central Messenger UI unifying Chats, Groups, Channels and Announcements
+ - Achievements adopting code from Sharkey/Misskey
- Chomp! Activity Support (Patch adopted [from mia](https://iceshrimp.dev/mia/withdrawal))
- Fast๐ Scream๐ Mod๐ Tracker/SID playback support (Thanks to [Jeder](https://iceshrimp.dev/iceshrimp/iceshrimp/pulls/490))
- Suppress the "You haven't configured mail" message (Patch adopted [from mia](https://iceshrimp.dev/mia/withdrawal))
- Fixes that allow proper federation of likes with instances using the UA "misskey" (Sharkey)
- - Posts Health/XP Bar to indicate how many ppl have reported a post vs. interaction rate
- - Train Table Delay Captcha
- Allow federation via Tor / i2p
- - Improvements for single-user instances, anonymous and pseudonymous federation via Tor / i2p
- Allow proxying of videos and audio content (Thanks to ShittyKopper)
- Post language selection and translate functionality by Namekuji
+ - So much more - Read the [changelog](CHANGELOG.md) to get an overview of all changes
+- Planned changes:
+ - Unified Lists and News UI
+ - New central Messenger UI unifying Chats, Groups, Channels and Announcements
+ - Improvements for single-user instances, anonymous and pseudonymous federation via Tor / i2p
+ - Posts Health/XP Bar to indicate how many ppl have reported a post vs. interaction rate
+ - Train Table Delay Captcha
- Individual session revocation and One Time Access Tokens
- Accessibility settings in the unauthenticated web viewer
- - So much more - Read the [changelog](CHANGELOG.md) to get an overview of all changes
- Don't like the Web UI? Good luck, the Mastodon-compatible API might work with the following clients:
- [Elk](https://elk.zone), [Phanpy](https://phanpy.social/), [Enafore](https://enafore.social/), [Masto-FE-standalone](https://iceshrimp.dev/iceshrimp/masto-fe-standalone) (Web)
- [Mona](https://apps.apple.com/us/app/mona-for-mastodon/id1659154653), [Toot!](https://apps.apple.com/us/app/toot-for-mastodon/id1229021451), [Ice Cubes](https://apps.apple.com/us/app/ice-cubes-for-mastodon/id6444915884), [Tusker](https://apps.apple.com/us/app/tusker/id1498334597), [Feditext](https://github.com/feditext/feditext), [Mastodon](https://apps.apple.com/us/app/mastodon-for-iphone-and-ipad/id1571998974) (iOS)
diff --git a/docs/migrate.md b/docs/migrate.md
index 36206073e..5231ff3a8 100644
--- a/docs/migrate.md
+++ b/docs/migrate.md
@@ -1,4 +1,22 @@
-# ๐ Migrating from Misskey/FoundKey/Firefish/Iceshrimp to TrashPoss
+# ๐ Migrating from Iceshrimp to TrashPoss
+All the guides below assume you're starting in the root of the repo directory.
+
+### Before proceeding
+
+- **Ensure you have stopped all master and worker processes of TrashPoss.**
+- **Ensure you have backups of the database before performing any commands.**
+
+```sh
+git remote set-url origin https://iceshrimp.dev/Crimekillz/trashposs.git
+git fetch
+git checkout v2024.04.1 # or any other tag or dev
+
+# Migrations will be run automatically on next start
+```
+
+If you are using docker, make sure to adopt /docs/examples/docker-compose.yml from scratch and adapt it to suit your needs, make sure you refer the correct image
+
+# ๐ Migrating from Misskey/FoundKey/Firefish to TrashPoss
All the guides below assume you're starting in the root of the repo directory.
diff --git a/docs/sharkey.sql b/docs/sharkey.sql
index 477462b6c..fd669cb70 100644
--- a/docs/sharkey.sql
+++ b/docs/sharkey.sql
@@ -1,4 +1,4 @@
--- Sharkey 2024.3.1 to TrashPoss 2023.12.5 migration script
+-- Sharkey 2024.3.1 to TrashPoss 2024.04.1 migration script
-- by @kopper@brain.d.on-t.work
-- only tested with aidx, theoretical support for aid and meid. other id schemes are NOT supported.
-- servers which have migrated from firefish and trashposs to sharkey may encounter undefined behavior, as
@@ -1021,33 +1021,34 @@ COPY migrations (id, "timestamp", name) FROM stdin;
188 1688845537045 AnnouncementPopup1688845537045
189 1689136347561 DonationLink1689136347561
190 1689739513827 FirefishRepo1689739513827
-191 1689965609061 TrashpossRepo1689965609061
-192 1695747439252 DropReversi1695747439252
-193 1695748502971 IndexNoteUrl1695748502971
-194 1695748874491 DropAds1695748874491
-195 1695749386779 InstanceAccountDomainCleanup1695749386779
-196 1695749948350 MoveAntennaToCache1695749948350
-197 1695861526125 IndexNoteUserId1695861526125
-198 1697216726757 AutoGenerateVapidKeys1697216726757
-199 1697226201723 AddOAuthTables1697226201723
-200 1697246035867 IncreaseOAuthRedirecturisLength1697246035867
-201 1697286869039 IncreaseOauthTokenRedirecturisLength1697286869039
-202 1697289658422 ResyncWithOrm1697289658422
-203 1697302438587 AddUserProfileMentions1697302438587
-204 1697649475796 SecureModeDefaults1697649475796
-205 1697663824168 RemoveNsfwDetection1697663824168
-206 1697665612162 RemoveProxyAccount1697665612162
-207 1697733603329 UserListOptions1697733603329
-208 1700331070890 NoteTextFtsIdx1700331070890
-209 1700517975122 UserAvatarBannerRefactor1700517975122
-210 1700623165718 AddNoteIdUserhostIdx1700623165718
-211 1700686908916 AddAutofollowedAccount1700686908916
-212 1700962939886 AddHtmlCache1700962939886
-213 1701069578019 RemoveTwitterIntegration1701069578019
-214 1701108527387 ReworkHardMutes1701108527387
-215 1701118152149 IncreaseHostCharLimit1701118152149
-216 1702680809638 AddNoteCreatedatUseridIdx1702680809638
-217 1702744857694 UserIssuspendedIdx1702744857694
+191 1689965609061 IceshrimpRepo1689965609061
+192 1689965609062 TrashpossRepo1689965609062
+193 1695747439252 DropReversi1695747439252
+194 1695748502971 IndexNoteUrl1695748502971
+195 1695748874491 DropAds1695748874491
+196 1695749386779 InstanceAccountDomainCleanup1695749386779
+197 1695749948350 MoveAntennaToCache1695749948350
+198 1695861526125 IndexNoteUserId1695861526125
+199 1697216726757 AutoGenerateVapidKeys1697216726757
+200 1697226201723 AddOAuthTables1697226201723
+201 1697246035867 IncreaseOAuthRedirecturisLength1697246035867
+202 1697286869039 IncreaseOauthTokenRedirecturisLength1697286869039
+203 1697289658422 ResyncWithOrm1697289658422
+204 1697302438587 AddUserProfileMentions1697302438587
+205 1697649475796 SecureModeDefaults1697649475796
+206 1697663824168 RemoveNsfwDetection1697663824168
+207 1697665612162 RemoveProxyAccount1697665612162
+208 1697733603329 UserListOptions1697733603329
+209 1700331070890 NoteTextFtsIdx1700331070890
+210 1700517975122 UserAvatarBannerRefactor1700517975122
+211 1700623165718 AddNoteIdUserhostIdx1700623165718
+212 1700686908916 AddAutofollowedAccount1700686908916
+213 1700962939886 AddHtmlCache1700962939886
+214 1701069578019 RemoveTwitterIntegration1701069578019
+215 1701108527387 ReworkHardMutes1701108527387
+216 1701118152149 IncreaseHostCharLimit1701118152149
+217 1702680809638 AddNoteCreatedatUseridIdx1702680809638
+218 1702744857694 UserIssuspendedIdx1702744857694
\.
SELECT pg_catalog.setval('public.migrations_id_seq', 217, true);
diff --git a/package.json b/package.json
index 6554ee39f..82c7c32a8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "trashposs",
- "version": "2023.12.6",
+ "version": "2024.04.1",
"repository": {
"type": "git",
"url": "https://iceshrimp.dev/Crimekillz/trashposs.git"
diff --git a/packages/backend/src/migration/1689965609061-iceshrimp-repo.ts b/packages/backend/src/migration/1689965609061-iceshrimp-repo.ts
new file mode 100644
index 000000000..c81998133
--- /dev/null
+++ b/packages/backend/src/migration/1689965609061-iceshrimp-repo.ts
@@ -0,0 +1,22 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+export class IceshrimpRepo1689965609061 implements MigrationInterface {
+ name = "IceshrimpRepo1689965609061";
+
+ async up(queryRunner: QueryRunner): Promise {
+ await queryRunner.query(
+ `UPDATE meta SET "repositoryUrl" = 'https://iceshrimp.dev/iceshrimp/iceshrimp'`,
+ );
+ await queryRunner.query(
+ `UPDATE meta SET "feedbackUrl" = 'https://iceshrimp.dev/iceshrimp/iceshrimp/issues'`,
+ );
+ }
+
+ async down(queryRunner: QueryRunner): Promise {
+ await queryRunner.query(
+ `UPDATE meta SET "repositoryUrl" = 'https://codeberg.org/firefish/firefish'`,
+ );
+ await queryRunner.query(
+ `UPDATE meta SET "feedbackUrl" = 'https://codeberg.org/firefish/firefish/issues'`,
+ );
+ }
+}
diff --git a/packages/backend/src/migration/1689965609061-trashposs-repo.ts b/packages/backend/src/migration/1689965609062-trashposs-repo.ts
similarity index 63%
rename from packages/backend/src/migration/1689965609061-trashposs-repo.ts
rename to packages/backend/src/migration/1689965609062-trashposs-repo.ts
index fbb8804cc..1db19bac5 100644
--- a/packages/backend/src/migration/1689965609061-trashposs-repo.ts
+++ b/packages/backend/src/migration/1689965609062-trashposs-repo.ts
@@ -1,6 +1,6 @@
import { MigrationInterface, QueryRunner } from "typeorm";
-export class TrashpossRepo1689965609061 implements MigrationInterface {
- name = "TrashpossRepo1689965609061";
+export class TrashpossRepo1689965609062 implements MigrationInterface {
+ name = "TrashpossRepo1689965609062";
async up(queryRunner: QueryRunner): Promise {
await queryRunner.query(
@@ -13,10 +13,10 @@ export class TrashpossRepo1689965609061 implements MigrationInterface {
async down(queryRunner: QueryRunner): Promise {
await queryRunner.query(
- `UPDATE meta SET "repositoryUrl" = 'https://codeberg.org/firefish/firefish'`,
+ `UPDATE meta SET "repositoryUrl" = 'https://iceshrimp.dev/iceshrimp/iceshrimp'`,
);
await queryRunner.query(
- `UPDATE meta SET "feedbackUrl" = 'https://codeberg.org/firefish/firefish/issues'`,
+ `UPDATE meta SET "feedbackUrl" = 'https://iceshrimp.dev/iceshrimp/iceshrimp/issues'`,
);
}
}
diff --git a/packages/backend/src/server/api/endpoints/users/achievements.ts b/packages/backend/src/server/api/endpoints/users/achievements.ts
index 3b4c07602..49ebda897 100644
--- a/packages/backend/src/server/api/endpoints/users/achievements.ts
+++ b/packages/backend/src/server/api/endpoints/users/achievements.ts
@@ -3,8 +3,22 @@ import define from "../../define.js";
export const meta = {
tags: ["users", "achievements"],
- requireCredential: true,
+ requireCredential: false,
description: "Show all achievements this user made.",
+ res: {
+ type: 'array',
+ items: {
+ type: 'object',
+ properties: {
+ name: {
+ type: 'string',
+ },
+ unlockedAt: {
+ type: 'number',
+ },
+ },
+ },
+ },
} as const;
export const paramDef = {
diff --git a/packages/client/src/components/MkNotification.vue b/packages/client/src/components/MkNotification.vue
index 113a1cf0f..553a41722 100644
--- a/packages/client/src/components/MkNotification.vue
+++ b/packages/client/src/components/MkNotification.vue
@@ -14,7 +14,7 @@