Release v2024.04.1

This commit is contained in:
Crimekillz 2024-04-16 23:21:29 +02:00
parent 3a312d9267
commit 8f0bb0d381
9 changed files with 127 additions and 45 deletions

View File

@ -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 ## v2023.12.6
This is a security release. Upgrading is therefore strongly recommended. 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 - The installation requirements now mention postgresql-contrib
- Various translation updates - Various translation updates
### Attribution
### Attribution ### Attribution
This release was made possible by project contributors: CookiLover311, Crimekillz, Jegler, Laura Hausmann, Lilian, Norm, Salif Mehmed, jeder, konkonkon, naskya & 老周部落 This release was made possible by project contributors: CookiLover311, Crimekillz, Jegler, Laura Hausmann, Lilian, Norm, Salif Mehmed, jeder, konkonkon, naskya & 老周部落

View File

@ -2,7 +2,13 @@
<p><strong>TrashPoss</strong> is a decentralized and federated social networking service, implementing the <strong>ActivityPub</strong> standard.<br> <p><strong>TrashPoss</strong> is a decentralized and federated social networking service, implementing the <strong>ActivityPub</strong> standard.<br>
It was forked from Iceshrimp, itself a fork of <del>Calckey</del> Firefish (itself a fork of Misskey) in 2024, to focus on silly features instead of stability, performance and usability. It was forked from Iceshrimp, itself a fork of <del>Calckey</del> Firefish (itself a fork of Misskey) in 2024, to focus on silly features instead of stability, performance and usability.
<br> <br>
It is made in honor of the grind that went into upstream projects and is not meant to be derogatory.</p> 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)</p>
** 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: - Highlighted changes:
- Achievements using patches from Sharkey/Misskey - Achievements adopting code from Sharkey/Misskey
- Unified Lists and News UI
- New central Messenger UI unifying Chats, Groups, Channels and Announcements
- Chomp! Activity Support (Patch adopted [from mia](https://iceshrimp.dev/mia/withdrawal)) - 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)) - 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)) - 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) - 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 - 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) - Allow proxying of videos and audio content (Thanks to ShittyKopper)
- Post language selection and translate functionality by Namekuji - 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 - Individual session revocation and One Time Access Tokens
- Accessibility settings in the unauthenticated web viewer - 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: - 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) - [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) - [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)

View File

@ -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. All the guides below assume you're starting in the root of the repo directory.

View File

@ -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 -- by @kopper@brain.d.on-t.work
-- only tested with aidx, theoretical support for aid and meid. other id schemes are NOT supported. -- 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 -- 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 188 1688845537045 AnnouncementPopup1688845537045
189 1689136347561 DonationLink1689136347561 189 1689136347561 DonationLink1689136347561
190 1689739513827 FirefishRepo1689739513827 190 1689739513827 FirefishRepo1689739513827
191 1689965609061 TrashpossRepo1689965609061 191 1689965609061 IceshrimpRepo1689965609061
192 1695747439252 DropReversi1695747439252 192 1689965609062 TrashpossRepo1689965609062
193 1695748502971 IndexNoteUrl1695748502971 193 1695747439252 DropReversi1695747439252
194 1695748874491 DropAds1695748874491 194 1695748502971 IndexNoteUrl1695748502971
195 1695749386779 InstanceAccountDomainCleanup1695749386779 195 1695748874491 DropAds1695748874491
196 1695749948350 MoveAntennaToCache1695749948350 196 1695749386779 InstanceAccountDomainCleanup1695749386779
197 1695861526125 IndexNoteUserId1695861526125 197 1695749948350 MoveAntennaToCache1695749948350
198 1697216726757 AutoGenerateVapidKeys1697216726757 198 1695861526125 IndexNoteUserId1695861526125
199 1697226201723 AddOAuthTables1697226201723 199 1697216726757 AutoGenerateVapidKeys1697216726757
200 1697246035867 IncreaseOAuthRedirecturisLength1697246035867 200 1697226201723 AddOAuthTables1697226201723
201 1697286869039 IncreaseOauthTokenRedirecturisLength1697286869039 201 1697246035867 IncreaseOAuthRedirecturisLength1697246035867
202 1697289658422 ResyncWithOrm1697289658422 202 1697286869039 IncreaseOauthTokenRedirecturisLength1697286869039
203 1697302438587 AddUserProfileMentions1697302438587 203 1697289658422 ResyncWithOrm1697289658422
204 1697649475796 SecureModeDefaults1697649475796 204 1697302438587 AddUserProfileMentions1697302438587
205 1697663824168 RemoveNsfwDetection1697663824168 205 1697649475796 SecureModeDefaults1697649475796
206 1697665612162 RemoveProxyAccount1697665612162 206 1697663824168 RemoveNsfwDetection1697663824168
207 1697733603329 UserListOptions1697733603329 207 1697665612162 RemoveProxyAccount1697665612162
208 1700331070890 NoteTextFtsIdx1700331070890 208 1697733603329 UserListOptions1697733603329
209 1700517975122 UserAvatarBannerRefactor1700517975122 209 1700331070890 NoteTextFtsIdx1700331070890
210 1700623165718 AddNoteIdUserhostIdx1700623165718 210 1700517975122 UserAvatarBannerRefactor1700517975122
211 1700686908916 AddAutofollowedAccount1700686908916 211 1700623165718 AddNoteIdUserhostIdx1700623165718
212 1700962939886 AddHtmlCache1700962939886 212 1700686908916 AddAutofollowedAccount1700686908916
213 1701069578019 RemoveTwitterIntegration1701069578019 213 1700962939886 AddHtmlCache1700962939886
214 1701108527387 ReworkHardMutes1701108527387 214 1701069578019 RemoveTwitterIntegration1701069578019
215 1701118152149 IncreaseHostCharLimit1701118152149 215 1701108527387 ReworkHardMutes1701108527387
216 1702680809638 AddNoteCreatedatUseridIdx1702680809638 216 1701118152149 IncreaseHostCharLimit1701118152149
217 1702744857694 UserIssuspendedIdx1702744857694 217 1702680809638 AddNoteCreatedatUseridIdx1702680809638
218 1702744857694 UserIssuspendedIdx1702744857694
\. \.
SELECT pg_catalog.setval('public.migrations_id_seq', 217, true); SELECT pg_catalog.setval('public.migrations_id_seq', 217, true);

View File

@ -1,6 +1,6 @@
{ {
"name": "trashposs", "name": "trashposs",
"version": "2023.12.6", "version": "2024.04.1",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://iceshrimp.dev/Crimekillz/trashposs.git" "url": "https://iceshrimp.dev/Crimekillz/trashposs.git"

View File

@ -0,0 +1,22 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class IceshrimpRepo1689965609061 implements MigrationInterface {
name = "IceshrimpRepo1689965609061";
async up(queryRunner: QueryRunner): Promise<void> {
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<void> {
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'`,
);
}
}

View File

@ -1,6 +1,6 @@
import { MigrationInterface, QueryRunner } from "typeorm"; import { MigrationInterface, QueryRunner } from "typeorm";
export class TrashpossRepo1689965609061 implements MigrationInterface { export class TrashpossRepo1689965609062 implements MigrationInterface {
name = "TrashpossRepo1689965609061"; name = "TrashpossRepo1689965609062";
async up(queryRunner: QueryRunner): Promise<void> { async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query( await queryRunner.query(
@ -13,10 +13,10 @@ export class TrashpossRepo1689965609061 implements MigrationInterface {
async down(queryRunner: QueryRunner): Promise<void> { async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query( await queryRunner.query(
`UPDATE meta SET "repositoryUrl" = 'https://codeberg.org/firefish/firefish'`, `UPDATE meta SET "repositoryUrl" = 'https://iceshrimp.dev/iceshrimp/iceshrimp'`,
); );
await queryRunner.query( await queryRunner.query(
`UPDATE meta SET "feedbackUrl" = 'https://codeberg.org/firefish/firefish/issues'`, `UPDATE meta SET "feedbackUrl" = 'https://iceshrimp.dev/iceshrimp/iceshrimp/issues'`,
); );
} }
} }

View File

@ -3,8 +3,22 @@ import define from "../../define.js";
export const meta = { export const meta = {
tags: ["users", "achievements"], tags: ["users", "achievements"],
requireCredential: true, requireCredential: false,
description: "Show all achievements this user made.", description: "Show all achievements this user made.",
res: {
type: 'array',
items: {
type: 'object',
properties: {
name: {
type: 'string',
},
unlockedAt: {
type: 'number',
},
},
},
},
} as const; } as const;
export const paramDef = { export const paramDef = {

View File

@ -14,7 +14,7 @@
<MkAvatar <MkAvatar
v-else-if="notification.type === 'achievementEarned'" v-else-if="notification.type === 'achievementEarned'"
class="icon" class="icon"
:user="notification.user" :user="$i"
/> />
<MkAvatar <MkAvatar
v-else-if="notification.user" v-else-if="notification.user"
@ -319,6 +319,7 @@ import { i18n } from "@/i18n";
import * as os from "@/os"; import * as os from "@/os";
import { stream } from "@/stream"; import { stream } from "@/stream";
import { useTooltip } from "@/scripts/use-tooltip"; import { useTooltip } from "@/scripts/use-tooltip";
import { $i } from '@/account';
import { defaultStore } from "@/store"; import { defaultStore } from "@/store";
import { instance } from "@/instance"; import { instance } from "@/instance";