misskey broke just gonna go with manual update for now

This commit is contained in:
Chaos 2023-01-14 18:31:53 +00:00
parent b61acd731c
commit 59ac372f7e
No known key found for this signature in database
15 changed files with 684 additions and 968 deletions

View file

@ -138,11 +138,11 @@
"utils": "utils_4"
},
"locked": {
"lastModified": 1672980560,
"narHash": "sha256-Pzx7az57SiUS1xhvKesTb1rhO9w9lWy9mecIqVjcKzo=",
"lastModified": 1673343300,
"narHash": "sha256-5Xdj6kpXYMie0MlnGwqK5FaMdsedxvyuakWtyKB3zaQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1786883425208d3bf726ab6a1889beddeb46cdbc",
"rev": "176e455371a8371586e8a3ff0d56ee9f3ca2324e",
"type": "github"
},
"original": {
@ -160,11 +160,11 @@
"utils": "utils_5"
},
"locked": {
"lastModified": 1671026926,
"narHash": "sha256-iGtfDkMdRY6Yn1mzM4eps6vk3/74pgyQCGTOV8gPMC4=",
"lastModified": 1673715233,
"narHash": "sha256-Gnv8F1zdEjbwwUF1erOQE2d1DN8iS13quQsrVk0hoDA=",
"owner": "ChaotiCryptidz",
"repo": "musicutil",
"rev": "e57ea88b2225cb5a7ac5af474578de0b04985783",
"rev": "aadb338d75c035ec597492aefd83dd82949cd7e4",
"type": "gitlab"
},
"original": {
@ -191,11 +191,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1672791794,
"narHash": "sha256-mqGPpGmwap0Wfsf3o2b6qHJW1w2kk/I6cGCGIU+3t6o=",
"lastModified": 1673540789,
"narHash": "sha256-xqnxBOK3qctIeUVxecydrEDbEXjsvHCPGPbvsl63M/U=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9813adc7f7c0edd738c6bdd8431439688bb0cb3d",
"rev": "0f213d0fee84280d8c3a97f7469b988d6fe5fcdf",
"type": "github"
},
"original": {
@ -207,11 +207,11 @@
},
"nur": {
"locked": {
"lastModified": 1672994937,
"narHash": "sha256-GX6ckwdZ7LYLnfWnAMQ96mfPD4cNzoZsoYMnm/aL6t0=",
"lastModified": 1673711115,
"narHash": "sha256-RY2xKMbs+GDbH3mszx5NsJ9HbVVSa9w6qUItE6UDcGQ=",
"owner": "nix-community",
"repo": "NUR",
"rev": "2e00830769413534be969673c7ef618d73e22f04",
"rev": "39f8d3cbd719478c3505de5f31a7000404ee6c42",
"type": "github"
},
"original": {

View file

@ -23,8 +23,6 @@
stdenv
];
misskeyPackage = pkgs.misskey-static;
misskeyConfig = {
url = "https://${misskeyDomain}/";
port = ports.misskey;
@ -49,10 +47,9 @@
outgoingAddressFamily = "dual";
};
misskeyConfigFile =
builtins.toFile "default.yml"
(pkgs.lib.generators.toYAML {} misskeyConfig);
in {
environment.etc."misskey.yml".text = (pkgs.lib.generators.toYAML {} misskeyConfig);
users.users."misskey" = {
isNormalUser = true;
createHome = true;
@ -65,37 +62,6 @@ in {
imports = with tree; [home.base home.dev.small];
};
systemd.services.misskey-files = {
serviceConfig.Type = "oneshot";
wantedBy = ["misskey.service"];
partOf = ["misskey.service"];
after = ["home-manager-misskey.service" "network.target"];
path = with pkgs; [bash sudo git rsync] ++ misskeyPackages;
script = let
asMisskey = "sudo -u misskey";
in ''
set -e
(mkdir -p /home/misskey/misskey && chown misskey:users /home/misskey/misskey) || true
${asMisskey} rsync -arvh --delete --exclude node_modules ya${misskeyPackage}/ /home/misskey/misskey/
chown -R misskey:users /home/misskey/misskey
rm -rf /home/misskey/misskey/.config
${asMisskey} mkdir /home/misskey/misskey/.config
cat ${misskeyConfigFile} | ${asMisskey} tee /home/misskey/misskey/.config/default.yml
${asMisskey} ln -s /home/misskey/misskey-files /home/misskey/misskey/files
cd /home/misskey/misskey
${asMisskey} yarn install
${asMisskey} env NODE_ENV=production yarn build
chown -R misskey:users /home/misskey/misskey
'';
};
systemd.services.misskey-password = {
serviceConfig.Type = "oneshot";
wantedBy = ["misskey.service"];
@ -109,7 +75,7 @@ in {
systemd.services.misskey = {
wantedBy = ["multi-user.target"];
after = ["misskey-password.service" "misskey-files.service"];
after = ["misskey-password.service"];
wants = ["postgresql.service" "redis-misskey.service"];
path = with pkgs; [bash git] ++ misskeyPackages;
environment.NODE_ENV = "production";

View file

@ -41,6 +41,7 @@ in {
"/var/lib/redis-rspamd"
# misskey
"/home/misskey/misskey"
"/var/lib/redis-misskey"
];

View file

@ -3,7 +3,6 @@ final: _prev: {
comic-code = final.callPackage ./comic-code {};
roc-toolkit-patched = final.callPackage ./roc-toolkit-patched {};
roc-send-pcm = final.callPackage ./roc-send-pcm {};
misskey-static = final.callPackage ./misskey {};
piped-backend = final.callPackage ./piped/backend {
jre = final.openjdk17_headless;
jdk = final.openjdk17;

View file

@ -1,49 +0,0 @@
diff --git a/packages/backend/src/server/web/index.ts b/packages/backend/src/server/web/index.ts
index 727bbc9..2b3f0ce 100644
--- a/packages/backend/src/server/web/index.ts
+++ b/packages/backend/src/server/web/index.ts
@@ -304,6 +304,24 @@ export class ClientServerService {
return await reply.sendFile('/robots.txt', staticAssets);
});
+ // OpenSearch XML
+ fastify.get('/opensearch.xml', async (request, reply) => {
+ const meta = await this.metaService.fetch();
+
+ const name = meta.name || "Misskey";
+ let content = "";
+ content += `<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">`;
+ content += `<ShortName>${name} Search</ShortName>`;
+ content += `<Description>${name} Search</Description>`;
+ content += `<InputEncoding>UTF-8</InputEncoding>`;
+ content += `<Image width="16" height="16" type="image/x-icon">${this.config.url}/favicon.ico</Image>`;
+ content += `<Url type="text/html" template="${this.config.url}/search?q={searchTerms}"/>`;
+ content += `</OpenSearchDescription>`;
+
+ reply.header('Content-Type', 'application/opensearchdescription+xml');
+ return await reply.send(content);
+ });
+
//#endregion
const renderBase = async (reply: FastifyReply) => {
@@ -313,6 +331,7 @@ export class ClientServerService {
img: meta.bannerUrl,
title: meta.name ?? 'Misskey',
instanceName: meta.name ?? 'Misskey',
+ url: this.config.url,
desc: meta.description,
icon: meta.iconUrl,
themeColor: meta.themeColor,
diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug
index 0c3c5c9..b472cff 100644
--- a/packages/backend/src/server/web/views/base.pug
+++ b/packages/backend/src/server/web/views/base.pug
@@ -31,6 +31,7 @@ html
link(rel='icon' href= icon || '/favicon.ico')
link(rel='apple-touch-icon' href= icon || '/apple-touch-icon.png')
link(rel='manifest' href='/manifest.json')
+ link(rel='search' type='application/opensearchdescription+xml' title=((title || "Misskey") + " Search") href=`${url}/opensearch.xml`)
link(rel='prefetch' href='https://xn--931a.moe/assets/info.jpg')
link(rel='prefetch' href='https://xn--931a.moe/assets/not-found.jpg')
link(rel='prefetch' href='https://xn--931a.moe/assets/error.jpg')

View file

@ -1,59 +0,0 @@
diff --git a/packages/frontend/src/scripts/copy-to-clipboard.ts b/packages/frontend/src/scripts/copy-to-clipboard.ts
index ab13cab..6dc5b74 100644
--- a/packages/frontend/src/scripts/copy-to-clipboard.ts
+++ b/packages/frontend/src/scripts/copy-to-clipboard.ts
@@ -2,32 +2,27 @@
* Clipboardに値をコピー(TODO: 文字列以外も対応)
*/
export default val => {
- // 空div 生成
- const tmp = document.createElement('div');
- // 選択用のタグ生成
- const pre = document.createElement('pre');
+ if (navigator.clipboard) {
+ navigator.clipboard.writeText(String(val)).then(() => {
+ console.log('clipboard: success');
+ }, (err) => {
+ console.error('clipboard_failure: ', err);
+ });
+ } else {
+ var textArea = document.createElement("input");
+ textArea.value = val;
+ textArea.style.top = "0";
+ textArea.style.left = "0";
+ textArea.style.position = "fixed";
- // 親要素のCSSで user-select: none だとコピーできないので書き換える
- pre.style.webkitUserSelect = 'auto';
- pre.style.userSelect = 'auto';
-
- tmp.appendChild(pre).textContent = val;
-
- // 要素を画面外へ
- const s = tmp.style;
- s.position = 'fixed';
- s.right = '200%';
-
- // body に追加
- document.body.appendChild(tmp);
- // 要素を選択
- document.getSelection().selectAllChildren(tmp);
-
- // クリップボードにコピー
- const result = document.execCommand('copy');
-
- // 要素削除
- document.body.removeChild(tmp);
-
- return result;
+ document.body.appendChild(textArea);
+ textArea.focus();
+ textArea.select();
+ try {
+ const success = document.execCommand('copy') ? "success" : "failure";
+ console.log('clipboard: ', success);
+ } catch (err) {
+ console.error('clipboard_failure: ', err);
+ }
+ }
};

View file

@ -1,39 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
}: let
meta = builtins.fromJSON (builtins.readFile ./meta.json);
version = meta.rev;
src = fetchFromGitHub {
owner = "misskey-dev";
repo = "misskey";
rev = meta.rev;
sha256 = meta.sha256;
};
in
stdenv.mkDerivation {
pname = "misskey";
inherit version src;
# some of my own personal patches
patches = [
# Nya!
# ./browser-search-support.patch | Already Merged
# ./remote-search-support.patch
# ./copy-link-non-monospace.patch
# ./reorder-note-menu.patch | Broken
];
installPhase = ''
cp -r . $out
'';
meta = with lib; {
description = "Interplanetary microblogging platform. 🚀";
homepage = "https://misskey-hub.net/";
platforms = platforms.unix;
};
}

View file

@ -1,4 +0,0 @@
{
"rev": "12.119.2",
"sha256": "sha256-+cO9WJJTQlMySXC+nOxmjxYBS66Ba3chfThm0Eb6nmo="
}

View file

@ -1,39 +0,0 @@
diff --git a/packages/frontend/src/pages/search.vue b/packages/frontend/src/pages/search.vue
index c080b76..f9aac2d 100644
--- a/packages/frontend/src/pages/search.vue
+++ b/packages/frontend/src/pages/search.vue
@@ -12,12 +12,34 @@ import { computed } from 'vue';
import XNotes from '@/components/MkNotes.vue';
import { i18n } from '@/i18n';
import { definePageMetadata } from '@/scripts/page-metadata';
+import * as os from '@/os';
+import { mainRouter } from '@/router';
const props = defineProps<{
query: string;
channel?: string;
}>();
+const query = props.query;
+
+if (localStorage.getItem('account') != null) {
+ if (query.startsWith('https://') || (query.startsWith('@') && !query.includes(' '))) {
+ const promise = os.api('ap/show', {
+ uri: props.query,
+ });
+
+ os.promiseDialog(promise, null, null, i18n.ts.fetchingAsApObject);
+
+ const res = await promise;
+
+ if (res.type === 'User') {
+ mainRouter.replace(`/@${res.object.username}@${res.object.host}`);
+ } else if (res.type === 'Note') {
+ mainRouter.replace(`/notes/${res.object.id}`);
+ }
+ }
+}
+
const pagination = {
endpoint: 'notes/search' as const,
limit: 10,

View file

@ -1,36 +0,0 @@
diff --git a/packages/frontend/src/scripts/get-note-menu.ts b/packages/frontend/src/scripts/get-note-menu.ts
index 4826cd7..0d928a4 100644
--- a/packages/frontend/src/scripts/get-note-menu.ts
+++ b/packages/frontend/src/scripts/get-note-menu.ts
@@ -169,7 +169,7 @@ export function getNoteMenu(props: {
function share(): void {
navigator.share({
title: i18n.t('noteOf', { user: appearNote.user.name }),
- text: appearNote.text,
+ //text: appearNote.text,
url: `${url}/notes/${appearNote.id}`,
});
}
@@ -209,6 +209,10 @@ export function getNoteMenu(props: {
icon: 'fas fa-copy',
text: i18n.ts.copyContent,
action: copyContent,
+ }, {
+ icon: 'fas fa-share-alt',
+ text: i18n.ts.share,
+ action: share,
}, {
icon: 'fas fa-link',
text: i18n.ts.copyLink,
@@ -220,11 +224,6 @@ export function getNoteMenu(props: {
window.open(appearNote.url || appearNote.uri, '_blank');
},
} : undefined,
- {
- icon: 'fas fa-share-alt',
- text: i18n.ts.share,
- action: share,
- },
instance.translatorAvailable ? {
icon: 'fas fa-language',
text: i18n.ts.translate,

View file

@ -1,26 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq git moreutils nix nix-prefetch
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
json_get() {
jq -r "$1" < 'meta.json'
}
json_set() {
jq --arg x "$2" "$1 = \$x" < 'meta.json' | sponge 'meta.json'
}
old_rev=$(json_get '.rev')
new_rev=$(curl -L "https://api.github.com/repos/misskey-dev/misskey/releases" 2>/dev/null | jq ".[0].tag_name" -r)
if [ "$new_rev" = "$old_rev" ]; then
echo "misskey is up-to-date."
exit
fi
json_set '.rev' "$new_rev"
new_sha256=$(nix-prefetch fetchFromGitHub --owner misskey-dev --repo misskey --rev "$new_rev")
json_set '.sha256' "$new_sha256"

View file

@ -36,5 +36,5 @@ in
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "sha256-tWqnFIb+SvnG7ZH7BNRXCR6RaTGRG/1pXBM1UVr/TOA=";
outputHash = "sha256-ywwYIXmLWUSdLJpNpLew7nGTXMHPie+adPGvVouHv8s=";
}

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,14 @@
{
"frontend": {
"rev": "0e308014546f81d07b5915e4cadd8a7b60764483",
"sha256": "sha256-MAUl5/jPxEbH6pQxNpcL7h//oB7LQyCUeacqP7fpYrc="
"rev": "2436b735c8efb598b537f4be16f863937c1c9276",
"sha256": "sha256-xZ3Kp0YW/z+ndq3Nl76OmxfKANdq7WVo9C7lSHThiUo="
},
"backend": {
"rev": "09d538d355139da3619893d879b481b241e057b2",
"sha256": "sha256-4gCcYDagc0qPrZH8YDj5l3Okhtzm4rhF1w4jCJu47YE="
"rev": "939b0bbaa8f9a3529e1ebaedfdf0b9e7546fdeff",
"sha256": "sha256-hd2inw0WpdDeJATLLQNlp9/PXkrSRXjBh5RgKo1UIGc="
},
"proxy": {
"rev": "55ee78f88e50664c67f9809dbbce778381792623",
"sha256": "sha256-z7dIQ+GPbhrvE4Luxo+h9DVyns6w2wQE4UfvqlzLxHg="
"rev": "7419f8a453cb6cb3836c25925b68288f343a8301",
"sha256": "sha256-wJJ/lQQLA8roK+S7jBYnUVHbXdQf1GlS3CDKDp0LrP8="
}
}

View file

@ -4,6 +4,6 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
REPO_ROOT="${SCRIPT_DIR}/.."
cd $REPO_ROOT
./overlay/misskey/update.sh
#./overlay/misskey/update.sh
./overlay/piped/update.sh
nix flake update