Firefish v1.0.3
3
.gitignore
vendored
|
@ -72,3 +72,6 @@ yarn*
|
|||
# Cargo cache for Docker
|
||||
/.cargo-cache
|
||||
/.cargo-target
|
||||
|
||||
issue_template
|
||||
pull_request_template.yml
|
||||
|
|
|
@ -61,7 +61,7 @@ representative at an online or offline event.
|
|||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
@t1c on Prometheus Gitlab,
|
||||
@thatonecalculator on Codeberg,
|
||||
`@kainoa@firefish.social` on the Fediverse,
|
||||
or kainoa@t1c.dev via email.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# All the changes to Firefish from stock Misskey
|
||||
|
||||
> **Warning**
|
||||
> This list is incomplete. Please check the [Releases](https://gitlab.prometheus.systems/firefish/firefish/releases) and [Changelog](https://gitlab.prometheus.systems/firefish/firefish/src/branch/develop/CHANGELOG.md) for a more complete list of changes. There have been [>4000 commits (laggy link)](https://gitlab.prometheus.systems/firefish/firefish/compare/700a7110f7e34f314b070987aa761c451ec34efc...develop) since we forked Misskey!
|
||||
> This list is incomplete. Please check the [Releases](https://git.joinfirefish.org/firefish/firefish/releases) and [Changelog](https://git.joinfirefish.org/firefish/firefish/src/branch/develop/CHANGELOG.md) for a more complete list of changes. There have been [>4000 commits (laggy link)](https://git.joinfirefish.org/firefish/firefish/compare/700a7110f7e34f314b070987aa761c451ec34efc...develop) since we forked Misskey!
|
||||
|
||||
## Planned
|
||||
|
||||
|
@ -85,7 +85,7 @@
|
|||
- Undo renote button inside original note
|
||||
- Custom locales
|
||||
- Obliteration of Ai-chan
|
||||
- Switch to [Firefish.js](https://gitlab.prometheus.systems/firefish/firefish.js)
|
||||
- Switch to [Firefish.js](https://git.joinfirefish.org/firefish/firefish.js)
|
||||
- Woozy mode 🥴
|
||||
- Improve blocking servers
|
||||
- Release notes
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
# ️:warning: Repo has moved!
|
||||
|
||||
https://gitlab.prometheus.systems/firefish/firefish/
|
||||
|
||||
<div align="center">
|
||||
<a href="https://joinfirefish.org/">
|
||||
<img src="./title.svg" alt="Firefish logo" style="border-radius:50%" width="400"/>
|
||||
|
@ -95,8 +91,8 @@ If you have access to a server that supports one of the sources below, I recomme
|
|||
|
||||
## 🛳️ Containerization
|
||||
|
||||
- [🐳 How to run Firefish with Docker](https://gitlab.prometheus.systems/firefish/firefish/src/branch/develop/docs/docker.md)
|
||||
- [🛞 How to run Firefish with Kubernetes/Helm](https://gitlab.prometheus.systems/firefish/firefish/src/branch/develop/docs/kubernetes.md)
|
||||
- [🐳 How to run Firefish with Docker](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/docs/docker.md)
|
||||
- [🛞 How to run Firefish with Kubernetes/Helm](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/docs/kubernetes.md)
|
||||
|
||||
## 🧑💻 Dependencies
|
||||
|
||||
|
@ -132,7 +128,7 @@ If you have access to a server that supports one of the sources below, I recomme
|
|||
## 👀 Get folder ready
|
||||
|
||||
```sh
|
||||
git clone https://gitlab.prometheus.systems/firefish/firefish.git
|
||||
git clone https://git.joinfirefish.org/firefish/firefish.git
|
||||
cd firefish/
|
||||
```
|
||||
|
||||
|
@ -223,7 +219,7 @@ Please don't use ElasticSearch unless you already have an ElasticSearch setup an
|
|||
|
||||
## 🚚 Migrating from Misskey/FoundKey to Firefish
|
||||
|
||||
For migrating from Misskey v13, Misskey v12, and FoundKey, read [this document](https://gitlab.prometheus.systems/firefish/firefish/src/branch/develop/docs/migrate.md).
|
||||
For migrating from Misskey v13, Misskey v12, and FoundKey, read [this document](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/docs/migrate.md).
|
||||
|
||||
## 🌐 Web proxy
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
Welcome to the new era of FIREFISH!
|
||||
|
||||
<img src="https://gitlab.prometheus.systems/firefish/firefish/-/raw/develop/animated.svg" height="320px"/>
|
||||
<img src="https://git.joinfirefish.org/firefish/firefish/-/raw/develop/animated.svg" height="320px"/>
|
||||
|
||||
# Changelog
|
||||
|
||||
## Major changes from last release candidate
|
||||
|
||||
- Firefish branding and [new repo](https://gitlab.prometheus.systems/firefish/firefish)!
|
||||
- Firefish branding and [new repo](https://git.joinfirefish.org/firefish/firefish)!
|
||||
- Far better Mastodon API support
|
||||
- Edits are now non-experimental
|
||||
- Support for secondary cache server
|
||||
|
@ -64,7 +64,7 @@ All of the above, plus:
|
|||
## Set new repo and pull
|
||||
|
||||
```sh
|
||||
git remote set-url origin https://gitlab.prometheus.systems/firefish/firefish.git
|
||||
git remote set-url origin https://git.joinfirefish.org/firefish/firefish.git
|
||||
git pull --ff
|
||||
```
|
||||
|
||||
|
@ -79,6 +79,7 @@ Aborting
|
|||
Run:
|
||||
```sh
|
||||
rm ./packages/backend/assets/LICENSE
|
||||
git reset --hard origin/develop
|
||||
git pull --ff
|
||||
```
|
||||
|
||||
|
|
|
@ -11,6 +11,6 @@ If you discover a security issue, which is so high risk, that too much is affect
|
|||
|
||||
|
||||
This will allow us to assess the risk, and make a fix available before we add a
|
||||
bug report to the Gitlab repository.
|
||||
bug report to the Codeberg repository.
|
||||
|
||||
Thanks for helping make Firefish safe for everyone.
|
||||
|
|
|
@ -60,5 +60,5 @@ describe("After user signed in", () => {
|
|||
buildWidgetTest("jobQueue");
|
||||
buildWidgetTest("button");
|
||||
buildWidgetTest("aiscript");
|
||||
buildWidgetTest('aichan');
|
||||
buildWidgetTest("aichan");
|
||||
});
|
||||
|
|
|
@ -14,8 +14,8 @@ Tested with Misskey v13.11.3.
|
|||
If your Misskey v13 is older, we recommend updating your Misskey to v13.11.3.
|
||||
|
||||
```sh
|
||||
wget -O mkv13.patch https://gitlab.prometheus.systems/firefish/firefish/-/raw/develop/docs/mkv13.patch
|
||||
wget -O mkv13_restore.patch https://gitlab.prometheus.systems/firefish/firefish/-/raw/develop/docs/mkv13_restore.patch
|
||||
wget -O mkv13.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/mkv13.patch
|
||||
wget -O mkv13_restore.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/mkv13_restore.patch
|
||||
git apply mkv13.patch mkv13_restore.patch
|
||||
|
||||
cd packages/backend
|
||||
|
@ -27,13 +27,13 @@ for i in $(seq 1 $NUM_MIGRATIONS); do pnpm typeorm migration:revert -d ormconfig
|
|||
|
||||
cd ../../
|
||||
|
||||
git remote set-url origin https://gitlab.prometheus.systems/firefish/firefish.git
|
||||
git remote set-url origin https://git.joinfirefish.org/firefish/firefish.git
|
||||
git fetch origin
|
||||
git stash push
|
||||
rm -rf fluent-emojis misskey-assets
|
||||
git switch main # or beta or develop
|
||||
git pull --ff
|
||||
wget -O renote_muting.patch https://gitlab.prometheus.systems/firefish/firefish/-/raw/develop/docs/renote_muting.patch
|
||||
wget -O renote_muting.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/renote_muting.patch
|
||||
git apply renote_muting.patch
|
||||
|
||||
pnpm install
|
||||
|
@ -69,7 +69,7 @@ If no other errors happened, your Firefish is ready to launch!
|
|||
## Misskey v12.119 and before
|
||||
|
||||
```sh
|
||||
git remote set-url origin https://gitlab.prometheus.systems/firefish/firefish.git
|
||||
git remote set-url origin https://git.joinfirefish.org/firefish/firefish.git
|
||||
git fetch
|
||||
git checkout main # or beta or develop
|
||||
git pull --ff
|
||||
|
@ -81,7 +81,7 @@ NODE_ENV=production pnpm run migrate
|
|||
## FoundKey
|
||||
|
||||
```sh
|
||||
wget -O fk.patch https://gitlab.prometheus.systems/firefish/firefish/-/raw/develop/docs/fk.patch
|
||||
wget -O fk.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/fk.patch
|
||||
git apply fk.patch
|
||||
cd packages/backend
|
||||
|
||||
|
@ -92,7 +92,7 @@ for i in $(seq 1 $NUM_MIGRATIONS); do
|
|||
npx typeorm migration:revert -d ormconfig.js
|
||||
done
|
||||
|
||||
git remote set-url origin https://gitlab.prometheus.systems/firefish/firefish.git
|
||||
git remote set-url origin https://git.joinfirefish.org/firefish/firefish.git
|
||||
git fetch
|
||||
git checkout main # or beta or develop
|
||||
git pull --ff
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"name": "firefish",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.3",
|
||||
"codename": "aqua",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://gitlab.prometheus.systems/firefish/firefish.git"
|
||||
"url": "https://git.joinfirefish.org/firefish/firefish.git"
|
||||
},
|
||||
"packageManager": "pnpm@8.6.9",
|
||||
"private": true,
|
||||
|
|
Before Width: | Height: | Size: 473 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 84 KiB |
|
@ -143,10 +143,10 @@
|
|||
fill="url(#firefish-logo-linear-gradient-5)" />
|
||||
</g>
|
||||
<g id="firefish-logo-eye-l">
|
||||
<circle cx="256" cy="1408.11" r="128" fill="#fff" />
|
||||
<circle cx="256" cy="1408.11" r="128" fill="var(--bg)" />
|
||||
</g>
|
||||
<g id="firefish-logo-eye-r">
|
||||
<circle cx="576" cy="1408.11" r="128" fill="#fff" />
|
||||
<circle cx="576" cy="1408.11" r="128" fill="var(--bg)" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 5 KiB |
|
@ -2,9 +2,6 @@ export class calckey1658203170545 {
|
|||
name = "calckey1658203170545";
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "useStarForReactionFallback" = TRUE;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "repositoryUrl" = 'https://codeberg/firefish/firefish'`,
|
||||
);
|
||||
|
@ -14,9 +11,6 @@ export class calckey1658203170545 {
|
|||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "useStarForReactionFallback" = FALSE;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "repositoryUrl" = 'https://codeberg/firefish/firefish'`,
|
||||
);
|
||||
|
|
|
@ -3,10 +3,10 @@ export class FirefishRepo1689739513827 {
|
|||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "repositoryUrl" = 'https://gitlab.prometheus.systems/firefish/firefish'`,
|
||||
`UPDATE meta SET "repositoryUrl" = 'https://codeberg.org/firefish/firefish'`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "feedbackUrl" = 'https://gitlab.prometheus.systems/firefish/firefish/issues'`,
|
||||
`UPDATE meta SET "feedbackUrl" = 'https://codeberg.org/firefish/firefish/issues'`,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
21
packages/backend/migration/1689957674000-firefish-repo.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
export class FirefishRepo1689957674000 {
|
||||
name = "FirefishRepo1689957674000";
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "repositoryUrl" = 'https://git.joinfirefish.org/firefish/firefish'`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`UPDATE meta SET "feedbackUrl" = 'https://git.joinfirefish.org/firefish/firefish/issues'`,
|
||||
);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
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'`,
|
||||
);
|
||||
}
|
||||
}
|
|
@ -31,13 +31,41 @@ function greet() {
|
|||
if (!envOption.quiet) {
|
||||
//#region Firefish logo
|
||||
const v = `v${meta.version}`;
|
||||
console.log(themeColor(" ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ◯ "));
|
||||
console.log(themeColor("█ █ █ ▄ █ █ █ █ █ █ █ █ █ ○ ▄ ▄"));
|
||||
console.log(themeColor("█ ▄▄▄█ █ █ █ █ █ ▄▄▄█ ▄▄▄█ █ ▄▄▄▄▄█ █▄█ █ ⚬ █▄▄ █▄▄ "));
|
||||
console.log(themeColor("█ █▄▄▄█ █ █▄▄█▄█ █▄▄▄█ █▄▄▄█ █ █▄▄▄▄▄█ █ ▄▄▄▄▄▄ ▄"));
|
||||
console.log(themeColor("█ ▄▄▄█ █ ▄▄ █ ▄▄▄█ ▄▄▄█ █▄▄▄▄▄ █ ▄ █ █ █ █▄▄"));
|
||||
console.log(themeColor("█ █ █ █ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █ █ █ █ █ ● ● █"));
|
||||
console.log(themeColor("█▄▄▄█ █▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄█▄▄▄▄▄▄▄█▄▄█ █▄▄█ ▀▄▄▄▄▄▄▀"));
|
||||
console.log(
|
||||
themeColor(
|
||||
" ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ◯ ",
|
||||
),
|
||||
);
|
||||
console.log(
|
||||
themeColor(
|
||||
"█ █ █ ▄ █ █ █ █ █ █ █ █ █ ○ ▄ ▄",
|
||||
),
|
||||
);
|
||||
console.log(
|
||||
themeColor(
|
||||
"█ ▄▄▄█ █ █ █ █ █ ▄▄▄█ ▄▄▄█ █ ▄▄▄▄▄█ █▄█ █ ⚬ █▄▄ █▄▄ ",
|
||||
),
|
||||
);
|
||||
console.log(
|
||||
themeColor(
|
||||
"█ █▄▄▄█ █ █▄▄█▄█ █▄▄▄█ █▄▄▄█ █ █▄▄▄▄▄█ █ ▄▄▄▄▄▄ ▄",
|
||||
),
|
||||
);
|
||||
console.log(
|
||||
themeColor(
|
||||
"█ ▄▄▄█ █ ▄▄ █ ▄▄▄█ ▄▄▄█ █▄▄▄▄▄ █ ▄ █ █ █ █▄▄",
|
||||
),
|
||||
);
|
||||
console.log(
|
||||
themeColor(
|
||||
"█ █ █ █ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █ █ █ █ █ ● ● █",
|
||||
),
|
||||
);
|
||||
console.log(
|
||||
themeColor(
|
||||
"█▄▄▄█ █▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄█▄▄▄▄▄▄▄█▄▄█ █▄▄█ ▀▄▄▄▄▄▄▀",
|
||||
),
|
||||
);
|
||||
//#endregion
|
||||
|
||||
console.log(
|
||||
|
@ -49,7 +77,7 @@ function greet() {
|
|||
136,
|
||||
0,
|
||||
)(
|
||||
" If you like Firefish, please consider starring or contributing to the repo. https://gitlab.prometheus.systems/firefish/firefish",
|
||||
" If you like Firefish, please consider starring or contributing to the repo. https://git.joinfirefish.org/firefish/firefish",
|
||||
),
|
||||
);
|
||||
|
||||
|
|
|
@ -436,14 +436,14 @@ export class Meta {
|
|||
|
||||
@Column("varchar", {
|
||||
length: 512,
|
||||
default: "https://gitlab.prometheus.systems/firefish/firefish",
|
||||
default: "https://git.joinfirefish.org/firefish/firefish",
|
||||
nullable: false,
|
||||
})
|
||||
public repositoryUrl: string;
|
||||
|
||||
@Column("varchar", {
|
||||
length: 512,
|
||||
default: "https://gitlab.prometheus.systems/firefish/firefish/issues/new",
|
||||
default: "https://git.joinfirefish.org/firefish/firefish/issues/new",
|
||||
nullable: true,
|
||||
})
|
||||
public feedbackUrl: string | null;
|
||||
|
|
|
@ -3,7 +3,7 @@ import { DriveFiles } from "@/models/index.js";
|
|||
import { DB_MAX_IMAGE_COMMENT_LENGTH } from "@/misc/hard-limits.js";
|
||||
import { IdentifiableError } from "@/misc/identifiable-error.js";
|
||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
||||
import { HOUR } from "@/const.js";
|
||||
import { MINUTE } from "@/const.js";
|
||||
import define from "../../../define.js";
|
||||
import { apiLogger } from "../../../logger.js";
|
||||
import { ApiError } from "../../../error.js";
|
||||
|
@ -14,8 +14,8 @@ export const meta = {
|
|||
requireCredential: true,
|
||||
|
||||
limit: {
|
||||
duration: HOUR,
|
||||
max: 120,
|
||||
duration: MINUTE * 10,
|
||||
max: 250,
|
||||
},
|
||||
|
||||
requireFile: true,
|
||||
|
@ -40,7 +40,7 @@ export const meta = {
|
|||
|
||||
inappropriate: {
|
||||
message:
|
||||
"Cannot upload the file because it has been determined that it possibly contains inappropriate content.",
|
||||
"Cannot upload due to the file possibly containing inappropriate content.",
|
||||
code: "INAPPROPRIATE",
|
||||
id: "bec5bd69-fba3-43c9-b4fb-2894b66ad5d2",
|
||||
},
|
||||
|
@ -95,7 +95,7 @@ export default define(
|
|||
name = null;
|
||||
}
|
||||
|
||||
const meta = await fetchMeta();
|
||||
const instanceMeta = await fetchMeta();
|
||||
|
||||
try {
|
||||
// Create file
|
||||
|
@ -107,8 +107,8 @@ export default define(
|
|||
folderId: ps.folderId,
|
||||
force: ps.force,
|
||||
sensitive: ps.isSensitive,
|
||||
requestIp: meta.enableIpLogging ? ip : null,
|
||||
requestHeaders: meta.enableIpLogging ? headers : null,
|
||||
requestIp: instanceMeta.enableIpLogging ? ip : null,
|
||||
requestHeaders: instanceMeta.enableIpLogging ? headers : null,
|
||||
});
|
||||
return await DriveFiles.pack(driveFile, { self: true });
|
||||
} catch (e) {
|
||||
|
@ -123,7 +123,9 @@ export default define(
|
|||
}
|
||||
throw new ApiError();
|
||||
} finally {
|
||||
cleanup!();
|
||||
if (cleanup !== undefined) {
|
||||
cleanup();
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
|
|
|
@ -16,7 +16,7 @@ export const paramDef = {
|
|||
export default define(meta, paramDef, async () => {
|
||||
let tag_name;
|
||||
await fetch(
|
||||
"https://codeberg.org/api/v1/repos/calckey/calckey/releases?draft=false&pre-release=false&page=1&limit=1",
|
||||
"https://codeberg.org/api/v1/repos/firefish/firefish/releases?draft=false&pre-release=false&page=1&limit=1",
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((data) => {
|
||||
|
|
|
@ -68,13 +68,13 @@ export const meta = {
|
|||
type: "string",
|
||||
optional: false,
|
||||
nullable: false,
|
||||
default: "https://gitlab.prometheus.systems/firefish/firefish",
|
||||
default: "https://git.joinfirefish.org/firefish/firefish",
|
||||
},
|
||||
feedbackUrl: {
|
||||
type: "string",
|
||||
optional: false,
|
||||
nullable: false,
|
||||
default: "https://gitlab.prometheus.systems/firefish/firefish/issues",
|
||||
default: "https://git.joinfirefish.org/firefish/firefish/issues",
|
||||
},
|
||||
defaultDarkTheme: {
|
||||
type: "string",
|
||||
|
|
|
@ -18,7 +18,7 @@ export default define(meta, paramDef, async () => {
|
|||
let release;
|
||||
|
||||
await fetch(
|
||||
"https://gitlab.prometheus.systems/firefish/firefish/-/raw/develop/release.json",
|
||||
"https://git.joinfirefish.org/firefish/firefish/-/raw/develop/release.json",
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((data) => {
|
||||
|
|
|
@ -15,7 +15,7 @@ export function genOpenapiSpec() {
|
|||
|
||||
externalDocs: {
|
||||
description: "Repository",
|
||||
url: "https://gitlab.prometheus.systems/firefish/firefish",
|
||||
url: "https://git.joinfirefish.org/firefish/firefish",
|
||||
},
|
||||
|
||||
servers: [
|
||||
|
@ -106,7 +106,7 @@ export function genOpenapiSpec() {
|
|||
description: desc,
|
||||
externalDocs: {
|
||||
description: "Source code",
|
||||
url: `https://gitlab.prometheus.systems/firefish/firefish/src/branch/develop/packages/backend/src/server/api/endpoints/${endpoint.name}.ts`,
|
||||
url: `https://git.joinfirefish.org/firefish/firefish/src/branch/develop/packages/backend/src/server/api/endpoints/${endpoint.name}.ts`,
|
||||
},
|
||||
tags: endpoint.meta.tags || undefined,
|
||||
security,
|
||||
|
|
|
@ -44,14 +44,14 @@
|
|||
"screenshots": [
|
||||
{
|
||||
"src": "/static-assets/screenshots/1.webp",
|
||||
"sizes": "1195x579",
|
||||
"sizes": "1080x2340",
|
||||
"type": "image/webp",
|
||||
"platform": "narrow",
|
||||
"label": "Profile page"
|
||||
},
|
||||
{
|
||||
"src": "/static-assets/screenshots/2.webp",
|
||||
"sizes": "1195x579",
|
||||
"sizes": "1080x2340",
|
||||
"type": "image/webp",
|
||||
"platform": "narrow",
|
||||
"label": "Posts"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import type Koa from "koa";
|
||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
||||
import config from "@/config/index.js";
|
||||
import manifest from "./manifest.json" assert { type: "json" };
|
||||
|
||||
export const manifestHandler = async (ctx: Koa.Context) => {
|
||||
|
@ -12,7 +13,15 @@ export const manifestHandler = async (ctx: Koa.Context) => {
|
|||
res.short_name = instance.name || "Firefish";
|
||||
res.name = instance.name || "Firefish";
|
||||
if (instance.themeColor) res.theme_color = instance.themeColor;
|
||||
|
||||
for (const icon of res.icons) {
|
||||
icon.src = `${icon.src}?v=${config.version.replace(/[^0-9]/g, "")}`;
|
||||
}
|
||||
for (const screenshot of res.screenshots) {
|
||||
screenshot.src = `${screenshot.src}?v=${config.version.replace(
|
||||
/[^0-9]/g,
|
||||
"",
|
||||
)}`;
|
||||
}
|
||||
ctx.set("Cache-Control", "max-age=300");
|
||||
ctx.body = res;
|
||||
};
|
||||
|
|
|
@ -17,7 +17,7 @@ doctype html
|
|||
|
||||
Thank you for using Firefish!
|
||||
If you are reading this message... how about joining the development?
|
||||
https://gitlab.prometheus.systems/firefish/firefish
|
||||
https://git.joinfirefish.org/firefish/firefish
|
||||
|
||||
html
|
||||
|
||||
|
|
|
@ -3,7 +3,10 @@
|
|||
v-if="disableLink"
|
||||
v-user-preview="disablePreview ? undefined : user.id"
|
||||
class="eiwwqkts _noSelect"
|
||||
:class="{ cat: user.isCat, square: user.isCat ? false : $store.state.squareAvatars }"
|
||||
:class="{
|
||||
cat: user.isCat,
|
||||
square: user.isCat ? false : $store.state.squareAvatars,
|
||||
}"
|
||||
:style="{ color }"
|
||||
:title="acct(user)"
|
||||
@click="onClick"
|
||||
|
@ -19,7 +22,10 @@
|
|||
v-else
|
||||
v-user-preview="disablePreview ? undefined : user.id"
|
||||
class="eiwwqkts _noSelect"
|
||||
:class="{ cat: user.isCat, square: user.isCat ? false : $store.state.squareAvatars }"
|
||||
:class="{
|
||||
cat: user.isCat,
|
||||
square: user.isCat ? false : $store.state.squareAvatars,
|
||||
}"
|
||||
:style="{ color }"
|
||||
:to="userPage(user)"
|
||||
:title="acct(user)"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div ref="rootEl">
|
||||
<div class="sticky-container">
|
||||
<div ref="headerEl">
|
||||
<slot name="header"></slot>
|
||||
</div>
|
||||
|
@ -19,7 +19,6 @@ const CURRENT_STICKY_TOP = "CURRENT_STICKY_TOP";
|
|||
import type { Ref } from "vue";
|
||||
import { inject, onMounted, onUnmounted, provide, ref, watch } from "vue";
|
||||
|
||||
const rootEl = $ref<HTMLElement>();
|
||||
const headerEl = $ref<HTMLElement>();
|
||||
const bodyEl = $ref<HTMLElement>();
|
||||
|
||||
|
@ -54,10 +53,6 @@ onMounted(() => {
|
|||
},
|
||||
);
|
||||
|
||||
headerEl.style.position = "sticky";
|
||||
headerEl.style.top = "var(--stickyTop, 0)";
|
||||
headerEl.style.zIndex = "1000";
|
||||
|
||||
observer.observe(headerEl);
|
||||
});
|
||||
|
||||
|
@ -66,4 +61,19 @@ onUnmounted(() => {
|
|||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" module></style>
|
||||
<style lang="scss">
|
||||
.sticky-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
> div:first-child {
|
||||
position: sticky;
|
||||
top: var(--stickyTop, 0);
|
||||
z-index: 1000;
|
||||
}
|
||||
> div:last-child {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -57,14 +57,14 @@
|
|||
<FormSection>
|
||||
<div class="_formLinks">
|
||||
<FormLink
|
||||
to="https://gitlab.prometheus.systems/firefish/firefish"
|
||||
to="https://git.joinfirefish.org/firefish/firefish"
|
||||
external
|
||||
>
|
||||
<template #icon
|
||||
><i class="ph-code ph-bold ph-lg"></i
|
||||
></template>
|
||||
{{ i18n.ts._aboutFirefish.source }}
|
||||
<template #suffix>Prometheus Gitlab</template>
|
||||
<template #suffix>GitLab</template>
|
||||
</FormLink>
|
||||
<FormLink
|
||||
to="https://opencollective.com/firefish"
|
||||
|
@ -120,7 +120,7 @@
|
|||
</div>
|
||||
<template #caption
|
||||
><MkLink
|
||||
url="https://gitlab.prometheus.systems/firefish/firefish/activity"
|
||||
url="https://git.joinfirefish.org/firefish/firefish/activity"
|
||||
>{{
|
||||
i18n.ts._aboutFirefish.allContributors
|
||||
}}</MkLink
|
||||
|
@ -300,7 +300,7 @@ definePageMetadata({
|
|||
display: block;
|
||||
width: 100px;
|
||||
margin: 0 auto;
|
||||
border-radius: 16px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
> .misskey {
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<MkInfo v-if="updateAvailable" warn class="info"
|
||||
>{{ i18n.ts.updateAvailable }}
|
||||
<a
|
||||
href="https://gitlab.prometheus.systems/firefish/firefish/releases"
|
||||
href="https://git.joinfirefish.org/firefish/firefish/releases"
|
||||
target="_bank"
|
||||
class="_link"
|
||||
>{{ i18n.ts.check }}</a
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://gitlab.prometheus.systems/firefish/firefish.git"
|
||||
"url": "https://git.joinfirefish.org/firefish/firefish.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@microsoft/api-extractor": "^7.36.0",
|
||||
|
|