Merge branch 'develop' into feat/scylladb
This commit is contained in:
commit
c39f14254b
34 changed files with 29 additions and 27 deletions
Binary file not shown.
BIN
custom/assets/badges/error.webp
Normal file
BIN
custom/assets/badges/error.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
Binary file not shown.
BIN
custom/assets/badges/info.webp
Normal file
BIN
custom/assets/badges/info.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
BIN
custom/assets/badges/not-found.webp
Normal file
BIN
custom/assets/badges/not-found.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
|
@ -4,6 +4,8 @@ Breaking changes are indecated by the :warning: icon.
|
||||||
|
|
||||||
## v1.0.5 (unreleased)
|
## v1.0.5 (unreleased)
|
||||||
|
|
||||||
|
### dev17
|
||||||
|
|
||||||
- Added `lang` parameter to `notes/create` and `notes/edit`.
|
- Added `lang` parameter to `notes/create` and `notes/edit`.
|
||||||
|
|
||||||
### dev11
|
### dev11
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
There is a `docker-compose.yml` in the root of the project that you can use to build the container from source
|
There is a `docker-compose.yml` in the root of the project that you can use to build the container from source
|
||||||
|
|
||||||
- .config/docker.env (**db config settings**)
|
- .config/docker_example.env (**db config settings**)
|
||||||
- .config/default.yml (**firefish server settings**)
|
- .config/default.yml (**firefish server settings**)
|
||||||
|
|
||||||
## Configuring
|
## Configuring
|
||||||
|
@ -16,7 +16,7 @@ Rename the files:
|
||||||
|
|
||||||
`cp .config/example.yml .config/default.yml`
|
`cp .config/example.yml .config/default.yml`
|
||||||
|
|
||||||
`cp .config/example.env .config/docker.env`
|
`cp .config/docker_example.env .config/docker.env`
|
||||||
|
|
||||||
then edit them according to your environment.
|
then edit them according to your environment.
|
||||||
You can configure `docker.env` with anything you like, but you will have to pay attention to the `default.yml` file:
|
You can configure `docker.env` with anything you like, but you will have to pay attention to the `default.yml` file:
|
||||||
|
|
Binary file not shown.
BIN
packages/backend/assets/badges/error.webp
Normal file
BIN
packages/backend/assets/badges/error.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
Binary file not shown.
BIN
packages/backend/assets/badges/info.webp
Normal file
BIN
packages/backend/assets/badges/info.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
BIN
packages/backend/assets/badges/not-found.webp
Normal file
BIN
packages/backend/assets/badges/not-found.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
|
@ -220,7 +220,7 @@ export class Init1000000000000 {
|
||||||
`CREATE INDEX "IDX_3c601b70a1066d2c8b517094cb" ON "notification" ("notifieeId") `,
|
`CREATE INDEX "IDX_3c601b70a1066d2c8b517094cb" ON "notification" ("notifieeId") `,
|
||||||
);
|
);
|
||||||
await queryRunner.query(
|
await queryRunner.query(
|
||||||
`CREATE TABLE "meta" ("id" character varying(32) NOT NULL, "name" character varying(128), "description" character varying(1024), "maintainerName" character varying(128), "maintainerEmail" character varying(128), "announcements" jsonb NOT NULL DEFAULT '[]', "disableRegistration" boolean NOT NULL DEFAULT false, "disableLocalTimeline" boolean NOT NULL DEFAULT false, "disableGlobalTimeline" boolean NOT NULL DEFAULT false, "enableEmojiReaction" boolean NOT NULL DEFAULT true, "useStarForReactionFallback" boolean NOT NULL DEFAULT false, "langs" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "hiddenTags" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "blockedHosts" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mascotImageUrl" character varying(512) DEFAULT '/static-assets/badges/info.avif', "bannerUrl" character varying(512), "errorImageUrl" character varying(512) DEFAULT '/static-assets/badges/error.avif', "iconUrl" character varying(512), "cacheRemoteFiles" boolean NOT NULL DEFAULT false, "proxyAccount" character varying(128), "enableRecaptcha" boolean NOT NULL DEFAULT false, "recaptchaSiteKey" character varying(64), "recaptchaSecretKey" character varying(64), "localDriveCapacityMb" integer NOT NULL DEFAULT 1024, "remoteDriveCapacityMb" integer NOT NULL DEFAULT 32, "maxNoteTextLength" integer NOT NULL DEFAULT 500, "summalyProxy" character varying(128), "enableEmail" boolean NOT NULL DEFAULT false, "email" character varying(128), "smtpSecure" boolean NOT NULL DEFAULT false, "smtpHost" character varying(128), "smtpPort" integer, "smtpUser" character varying(128), "smtpPass" character varying(128), "enableServiceWorker" boolean NOT NULL DEFAULT false, "swPublicKey" character varying(128), "swPrivateKey" character varying(128), "enableTwitterIntegration" boolean NOT NULL DEFAULT false, "twitterConsumerKey" character varying(128), "twitterConsumerSecret" character varying(128), "enableGithubIntegration" boolean NOT NULL DEFAULT false, "githubClientId" character varying(128), "githubClientSecret" character varying(128), "enableDiscordIntegration" boolean NOT NULL DEFAULT false, "discordClientId" character varying(128), "discordClientSecret" character varying(128), CONSTRAINT "PK_c4c17a6c2bd7651338b60fc590b" PRIMARY KEY ("id"))`,
|
`CREATE TABLE "meta" ("id" character varying(32) NOT NULL, "name" character varying(128), "description" character varying(1024), "maintainerName" character varying(128), "maintainerEmail" character varying(128), "announcements" jsonb NOT NULL DEFAULT '[]', "disableRegistration" boolean NOT NULL DEFAULT false, "disableLocalTimeline" boolean NOT NULL DEFAULT false, "disableGlobalTimeline" boolean NOT NULL DEFAULT false, "enableEmojiReaction" boolean NOT NULL DEFAULT true, "useStarForReactionFallback" boolean NOT NULL DEFAULT false, "langs" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "hiddenTags" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "blockedHosts" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mascotImageUrl" character varying(512) DEFAULT '/static-assets/badges/info.webp', "bannerUrl" character varying(512), "errorImageUrl" character varying(512) DEFAULT '/static-assets/badges/error.webp', "iconUrl" character varying(512), "cacheRemoteFiles" boolean NOT NULL DEFAULT false, "proxyAccount" character varying(128), "enableRecaptcha" boolean NOT NULL DEFAULT false, "recaptchaSiteKey" character varying(64), "recaptchaSecretKey" character varying(64), "localDriveCapacityMb" integer NOT NULL DEFAULT 1024, "remoteDriveCapacityMb" integer NOT NULL DEFAULT 32, "maxNoteTextLength" integer NOT NULL DEFAULT 500, "summalyProxy" character varying(128), "enableEmail" boolean NOT NULL DEFAULT false, "email" character varying(128), "smtpSecure" boolean NOT NULL DEFAULT false, "smtpHost" character varying(128), "smtpPort" integer, "smtpUser" character varying(128), "smtpPass" character varying(128), "enableServiceWorker" boolean NOT NULL DEFAULT false, "swPublicKey" character varying(128), "swPrivateKey" character varying(128), "enableTwitterIntegration" boolean NOT NULL DEFAULT false, "twitterConsumerKey" character varying(128), "twitterConsumerSecret" character varying(128), "enableGithubIntegration" boolean NOT NULL DEFAULT false, "githubClientId" character varying(128), "githubClientSecret" character varying(128), "enableDiscordIntegration" boolean NOT NULL DEFAULT false, "discordClientId" character varying(128), "discordClientSecret" character varying(128), CONSTRAINT "PK_c4c17a6c2bd7651338b60fc590b" PRIMARY KEY ("id"))`,
|
||||||
);
|
);
|
||||||
await queryRunner.query(
|
await queryRunner.query(
|
||||||
`CREATE TABLE "following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_c76c6e044bdf76ecf8bfb82a645" PRIMARY KEY ("id"))`,
|
`CREATE TABLE "following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_c76c6e044bdf76ecf8bfb82a645" PRIMARY KEY ("id"))`,
|
||||||
|
|
|
@ -162,7 +162,7 @@ export class Meta {
|
||||||
@Column("varchar", {
|
@Column("varchar", {
|
||||||
length: 512,
|
length: 512,
|
||||||
nullable: true,
|
nullable: true,
|
||||||
default: "/static-assets/badges/info.avif",
|
default: "/static-assets/badges/info.webp",
|
||||||
})
|
})
|
||||||
public mascotImageUrl: string | null;
|
public mascotImageUrl: string | null;
|
||||||
|
|
||||||
|
@ -187,7 +187,7 @@ export class Meta {
|
||||||
@Column("varchar", {
|
@Column("varchar", {
|
||||||
length: 512,
|
length: 512,
|
||||||
nullable: true,
|
nullable: true,
|
||||||
default: "/static-assets/badges/error.avif",
|
default: "/static-assets/badges/error.webp",
|
||||||
})
|
})
|
||||||
public errorImageUrl: string | null;
|
public errorImageUrl: string | null;
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ export const meta = {
|
||||||
type: "string",
|
type: "string",
|
||||||
optional: false,
|
optional: false,
|
||||||
nullable: false,
|
nullable: false,
|
||||||
default: "/static-assets/badges/info.avif",
|
default: "/static-assets/badges/info.webp",
|
||||||
},
|
},
|
||||||
bannerUrl: {
|
bannerUrl: {
|
||||||
type: "string",
|
type: "string",
|
||||||
|
@ -75,7 +75,7 @@ export const meta = {
|
||||||
type: "string",
|
type: "string",
|
||||||
optional: false,
|
optional: false,
|
||||||
nullable: false,
|
nullable: false,
|
||||||
default: "/static-assets/badges/error.avif",
|
default: "/static-assets/badges/error.webp",
|
||||||
},
|
},
|
||||||
iconUrl: {
|
iconUrl: {
|
||||||
type: "string",
|
type: "string",
|
||||||
|
|
|
@ -49,7 +49,7 @@ export default define(meta, paramDef, async (ps) => {
|
||||||
createNotification(user.id, "app", {
|
createNotification(user.id, "app", {
|
||||||
customBody: ps.comment,
|
customBody: ps.comment,
|
||||||
customHeader: "Moderation Notice",
|
customHeader: "Moderation Notice",
|
||||||
customIcon: "/static-assets/badges/info.avif",
|
customIcon: "/static-assets/badges/info.webp",
|
||||||
});
|
});
|
||||||
|
|
||||||
setImmediate(async () => {
|
setImmediate(async () => {
|
||||||
|
|
|
@ -155,7 +155,7 @@ export const meta = {
|
||||||
type: "string",
|
type: "string",
|
||||||
optional: false,
|
optional: false,
|
||||||
nullable: false,
|
nullable: false,
|
||||||
default: "/static-assets/badges/info.avif",
|
default: "/static-assets/badges/info.webp",
|
||||||
},
|
},
|
||||||
bannerUrl: {
|
bannerUrl: {
|
||||||
type: "string",
|
type: "string",
|
||||||
|
@ -166,7 +166,7 @@ export const meta = {
|
||||||
type: "string",
|
type: "string",
|
||||||
optional: false,
|
optional: false,
|
||||||
nullable: false,
|
nullable: false,
|
||||||
default: "/static-assets/badges/error.avif",
|
default: "/static-assets/badges/error.webp",
|
||||||
},
|
},
|
||||||
iconUrl: {
|
iconUrl: {
|
||||||
type: "string",
|
type: "string",
|
||||||
|
|
|
@ -36,9 +36,9 @@ html
|
||||||
link(rel='icon' href= icon || `/favicon.ico?${ timestamp }`)
|
link(rel='icon' href= icon || `/favicon.ico?${ timestamp }`)
|
||||||
link(rel='apple-touch-icon' href= icon || `/apple-touch-icon.png?${ timestamp }`)
|
link(rel='apple-touch-icon' href= icon || `/apple-touch-icon.png?${ timestamp }`)
|
||||||
link(rel='manifest' href='/manifest.json')
|
link(rel='manifest' href='/manifest.json')
|
||||||
link(rel='prefetch' href=`/static-assets/badges/info.avif?${ timestamp }`)
|
link(rel='prefetch' href=`/static-assets/badges/info.webp?${ timestamp }`)
|
||||||
link(rel='prefetch' href=`/static-assets/badges/not-found.avif?${ timestamp }`)
|
link(rel='prefetch' href=`/static-assets/badges/not-found.webp?${ timestamp }`)
|
||||||
link(rel='prefetch' href=`/static-assets/badges/error.avif?${ timestamp }`)
|
link(rel='prefetch' href=`/static-assets/badges/error.webp?${ timestamp }`)
|
||||||
link(rel='stylesheet' href=`/static-assets/instance.css?${ timestamp }`)
|
link(rel='stylesheet' href=`/static-assets/instance.css?${ timestamp }`)
|
||||||
link(rel='modulepreload' href=`/assets/${clientEntry.file}`)
|
link(rel='modulepreload' href=`/assets/${clientEntry.file}`)
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ async function save(
|
||||||
if (type === "image/png") ext = ".png";
|
if (type === "image/png") ext = ".png";
|
||||||
if (type === "image/webp") ext = ".webp";
|
if (type === "image/webp") ext = ".webp";
|
||||||
if (type === "image/apng") ext = ".apng";
|
if (type === "image/apng") ext = ".apng";
|
||||||
if (type === "image/avif") ext = ".avif";
|
if (type === "image/avif") ext = ".webp";
|
||||||
if (type === "image/vnd.mozilla.apng") ext = ".apng";
|
if (type === "image/vnd.mozilla.apng") ext = ".apng";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/not-found.avif"
|
src="/static-assets/badges/not-found.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
:alt="i18n.ts.notFound"
|
:alt="i18n.ts.notFound"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Info"
|
alt="Info"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Info"
|
alt="Info"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<slot name="empty">
|
<slot name="empty">
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Error"
|
alt="Error"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Info"
|
alt="Info"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
||||||
<div class="mjndxjcg">
|
<div class="mjndxjcg">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/error.avif"
|
src="/static-assets/badges/error.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Error"
|
alt="Error"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
||||||
<div v-show="loaded" class="mjndxjch">
|
<div v-show="loaded" class="mjndxjch">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/error.avif"
|
src="/static-assets/badges/error.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Error"
|
alt="Error"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Info"
|
alt="Info"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
aria-label="none"
|
aria-label="none"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Info"
|
alt="Info"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
||||||
<div :class="$style.root">
|
<div :class="$style.root">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Error"
|
alt="Error"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="ipledcug">
|
<div class="ipledcug">
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/not-found.avif"
|
src="/static-assets/badges/not-found.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Not found"
|
alt="Not found"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img
|
<img
|
||||||
src="/static-assets/badges/info.avif"
|
src="/static-assets/badges/info.webp"
|
||||||
class="_ghost"
|
class="_ghost"
|
||||||
alt="Info"
|
alt="Info"
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Reference in a new issue