Release is default docker-compose version now, fix more dead links and missing texts....

This commit is contained in:
Crimekillz 2024-06-30 11:34:59 +02:00
parent f1ab8211c9
commit aa273ccf21
14 changed files with 70 additions and 26 deletions

View File

@ -7,8 +7,8 @@
5. # corepack enable && corepack prepare --activate && yarn --immutable
6. Log into your docker registry (for ex. iceshrimp.dev)
7. # docker login iceshrimp.dev
8. Replace v2023.12.5-trash with however you want the docker tag to be named
9. # docker build . -t iceshrimp.dev/crimekillz/trashposs:v2023.12.5-poss
10. # docker push iceshrimp.dev/crimekillz/trashposs:v2023.12.5-poss
8. Replace v2024.04.1 with however you want the docker tag to be named
9. # docker build . -t iceshrimp.dev/crimekillz/trashposs:v2024.04.1
10. # docker push iceshrimp.dev/crimekillz/trashposs:v2024.04.1
11. Congratulations! You can now refer to that image in your docker-compose.yml

View File

@ -2,11 +2,11 @@ version: "3"
services:
web:
image: iceshrimp.dev/crimekillz/trashposs:dev
image: iceshrimp.dev/crimekillz/trashposs:release
### If you want to build the image locally
# build: .
### If you want to build the image locally AND use Docker 20.10
# build:
# build:
# context: .
# args:
# DOCKER_BUILDKIT: 1
@ -19,7 +19,6 @@ services:
- "3000:3000"
networks:
- trashnet
# - web
environment:
NODE_ENV: production
volumes:
@ -78,6 +77,3 @@ services:
networks:
trashnet:
# web:
# external:
# name: web

View File

@ -1364,8 +1364,8 @@ _tutorial:
step5_2: "Dein Server hat {timelines} verschiedene Timelines aktiviert."
step5_3: "Die {icon} Home-Timeline ist die Timeline, in der du die Beiträge der
Nutzerkonten sehen kannst, denen du folgst."
step5_4: "In der {Icon} Local-Timeline kannst du die Beiträge von jedem/jeder sehen
der/die auf diesem Server registriert ist."
step5_4: "In der {icon} Local-Timeline kannst du die Beiträge von allen sehen
die auf diesem Server registriert sind."
step5_5: "Die Social-Timeline {icon} ist eine Kombination aus der Home-Timeline
und der Local-Timeline."
step5_6: "In der Empfohlen-Timeline {icon} kannst du Posts sehen, die von den Admins

View File

@ -5,7 +5,7 @@ export class instancePinnedPages1605585339718 implements MigrationInterface {
}
async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{"/featured", "/channels", "/discover", "/pages", "/about-misskey"}'::varchar[]`,
`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{"/featured", "/discover", "/about-trashposs"}'::varchar[]`,
);
}
async down(queryRunner: QueryRunner): Promise<void> {

View File

@ -15,7 +15,7 @@ export class ResyncWithOrm1697289658422 implements MigrationInterface {
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "secureMode" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "privateMode" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "allowedHosts" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "pinnedPages" SET DEFAULT '{/featured,/channels,/discover,/pages,/about-trashposs}'`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "pinnedPages" SET DEFAULT '{/featured,/discover,/about-trashposs}'`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "repositoryUrl" SET DEFAULT 'https://iceshrimp.dev/Crimekillz/trashposs'`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "feedbackUrl" SET DEFAULT 'https://iceshrimp.dev/Crimekillz/trashposs/issues/new'`);
await queryRunner.query(`COMMENT ON COLUMN "renote_muting"."createdAt" IS 'The created date of the Muting.'`);

View File

@ -23,7 +23,7 @@ export const navbarItemDef = reactive({
icon: "ph-tornado ph-bold ph-lg",
show: computed(() => $i != null),
indicated: computed(() => $i?.hasUnreadMessagingMessage || $i?.hasUnreadAnnouncement),
to: "/my/messaging",
to: "/my/messenger",
},
drive: {
title: "drive",

View File

@ -144,6 +144,10 @@ import "swiper/scss";
import "swiper/scss/virtual";
import { useRouter } from "@/router.js";
const props = defineProps<{
tab?: string;
}>();
const router = useRouter();
const tabs = ["users", "featured", "channels", "pages", "reel"];
@ -248,6 +252,7 @@ function setSwiperRef(swiper) {
function onSlideChange() {
tab = tabs[swiperRef.activeIndex];
window.history.pushState(null, null, '/discover/' + tab);
}
function syncSlide(index) {
@ -255,7 +260,8 @@ function syncSlide(index) {
}
onMounted(() => {
syncSlide(tabs.indexOf(swiperRef.activeIndex));
tab = tabs[tabs.indexOf(props.tab ?? swiperRef.activeIndex)] ?? tab;
syncSlide(tabs.indexOf(tab));
});
onActivated(() => {

View File

@ -121,7 +121,7 @@
</template>
<script lang="ts" setup>
import { ref, markRaw, onMounted, onUnmounted, watch } from "vue";
import { ref, markRaw, onMounted, onActivated, onUnmounted, watch } from "vue";
import * as Acct from "trashposs-js/built/acct";
import { Virtual } from "swiper/modules";
import { Swiper, SwiperSlide } from "swiper/vue";
@ -141,6 +141,10 @@ import { defaultStore } from "@/store";
import "swiper/scss";
import "swiper/scss/virtual";
const props = defineProps<{
tab?: string;
}>();
const router = useRouter();
let messages = $ref([]);
@ -294,6 +298,7 @@ function setSwiperRef(swiper) {
function onSlideChange() {
tab = tabs[swiperRef.activeIndex];
window.history.pushState(null, null, '/my/messenger/' + tab);
}
function syncSlide(index) {
@ -301,7 +306,8 @@ function syncSlide(index) {
}
onMounted(() => {
syncSlide(tabs.indexOf(swiperRef.activeIndex));
tab = tabs[tabs.indexOf(props.tab ?? swiperRef.activeIndex)] ?? tab;
syncSlide(tabs.indexOf(tab));
connection = markRaw(stream.useChannel("messagingIndex"));
@ -325,6 +331,10 @@ onMounted(() => {
);
});
onActivated(() => {
syncSlide(tabs.indexOf(tab));
});
onUnmounted(() => {
if (connection) connection.dispose();
});

View File

@ -102,7 +102,7 @@
</template>
<script lang="ts" setup>
import { ref, onMounted, watch, defineAsyncComponent } from "vue";
import { ref, onMounted, onActivated, watch, defineAsyncComponent } from "vue";
import { Virtual } from "swiper/modules";
import { Swiper, SwiperSlide } from "swiper/vue";
import MkPagination from "@/components/MkPagination.vue";
@ -123,6 +123,10 @@ import { deviceKind } from "@/scripts/device-kind";
import "swiper/scss";
import "swiper/scss/virtual";
const props = defineProps<{
tab?: string;
}>();
const tabs = ["favorites", "clips", "reactions"];
let tab = $ref(tabs[0]);
watch($$(tab), () => syncSlide(tabs.indexOf(tab)));
@ -212,6 +216,7 @@ function setSwiperRef(swiper) {
function onSlideChange() {
tab = tabs[swiperRef.activeIndex];
window.history.pushState(null, null, '/my/snippets/' + tab);
}
function syncSlide(index) {
@ -219,7 +224,12 @@ function syncSlide(index) {
}
onMounted(() => {
syncSlide(tabs.indexOf(swiperRef.activeIndex));
tab = tabs[tabs.indexOf(props.tab ?? swiperRef.activeIndex)] ?? tab;
syncSlide(tabs.indexOf(tab));
});
onActivated(() => {
syncSlide(tabs.indexOf(tab));
});
definePageMetadata({

View File

@ -137,7 +137,8 @@
}
onMounted(() => {
syncSlide(tabs.indexOf(props.tab ?? swiperRef.activeIndex));
tab = tabs[tabs.indexOf(props.tab ?? swiperRef.activeIndex)] ?? tab;
syncSlide(tabs.indexOf(tab));
});
onActivated(() => {

View File

@ -128,6 +128,10 @@ import { defaultStore } from "@/store";
import "swiper/scss";
import "swiper/scss/virtual";
const props = defineProps<{
tab?: string;
}>();
const paginationAntenna = {
endpoint: "antennas/list" as const,
limit: 250,
@ -209,6 +213,7 @@ function setSwiperRef(swiper) {
function onSlideChange() {
tab = tabs[swiperRef.activeIndex];
window.history.pushState(null, null, '/news/' + tab);
}
function syncSlide(index) {
@ -216,10 +221,12 @@ function syncSlide(index) {
}
onMounted(() => {
syncSlide(tabs.indexOf(swiperRef.activeIndex));
tab = tabs[tabs.indexOf(props.tab ?? swiperRef.activeIndex)] ?? tab;
syncSlide(tabs.indexOf(tab));
});
onActivated(() => {
syncSlide(tabs.indexOf(tab));
refresh();
});

View File

@ -51,7 +51,7 @@
</template>
<script lang="ts" setup>
import { computed, ref, watch } from "vue";
import { computed, ref, watch, onMounted, onActivated } from "vue";
import { Virtual } from "swiper/modules";
import { Swiper, SwiperSlide } from "swiper/vue";
import { notificationTypes } from "trashposs-js";
@ -65,6 +65,10 @@ import { defaultStore } from "@/store";
import "swiper/scss";
import "swiper/scss/virtual";
const props = defineProps<{
tab?: string;
}>();
const tabs = ["all", "unread", "mentions", "directNotes"];
let tab = $ref(tabs[0]);
watch($$(tab), () => syncSlide(tabs.indexOf(tab)));
@ -181,9 +185,19 @@ function setSwiperRef(swiper) {
function onSlideChange() {
tab = tabs[swiperRef.activeIndex];
window.history.pushState(null, null, '/my/notifications/' + tab);
}
function syncSlide(index) {
swiperRef.slideTo(index);
}
onMounted(() => {
tab = tabs[tabs.indexOf(props.tab ?? swiperRef.activeIndex)] ?? tab;
syncSlide(tabs.indexOf(tab));
});
onActivated(() => {
syncSlide(tabs.indexOf(tab));
});
</script>

View File

@ -577,7 +577,7 @@ export const routes = [
],
},
{
path: "/my/notifications",
path: "/my/notifications/:tab?",
component: page(() => import("./pages/notifications.vue")),
loginRequired: true,
},
@ -588,7 +588,7 @@ export const routes = [
},
{
name: "messaging",
path: "/my/messaging",
path: "/my/messenger/:tab?",
component: page(() => import("./pages/messaging/index.vue")),
loginRequired: true,
},

View File

@ -86,7 +86,7 @@
:aria-label="i18n.t('messaging')"
class="button messaging _button"
@click="
mainRouter.push('/my/messaging');
mainRouter.push('/my/messenger');
updateButtonState();
"
>
@ -238,7 +238,7 @@ function updateButtonState(): void {
buttonAnimIndex.value = 1;
return;
}
if (routerState.includes("/my/messaging")) {
if (routerState.includes("/my/messaging") || routerState.includes("/my/messenger")) {
buttonAnimIndex.value = 2;
return;
}