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 @@