mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	add copyright text to all our files
This commit is contained in:
		
							parent
							
								
									d27965d8b3
								
							
						
					
					
						commit
						b525c5887f
					
				
					 59 changed files with 293 additions and 33 deletions
				
			
		| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: dakkar and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class largerImageComment1680969937000 {
 | 
					export class largerImageComment1680969937000 {
 | 
				
			||||||
    name = 'largerImageComment1680969937000';
 | 
					    name = 'largerImageComment1680969937000';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class NoteEdit1682753227899 {
 | 
					export class NoteEdit1682753227899 {
 | 
				
			||||||
	name = "NoteEdit1682753227899";
 | 
						name = "NoteEdit1682753227899";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: amelia and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class AddLbToUser1691264431000 {
 | 
					export class AddLbToUser1691264431000 {
 | 
				
			||||||
	name = "AddLbToUser1691264431000";
 | 
						name = "AddLbToUser1691264431000";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,4 +22,4 @@ export class AddLbToUser1691264431000 {
 | 
				
			||||||
            ALTER TABLE "user_profile" DROP COLUMN "listenbrainz"
 | 
					            ALTER TABLE "user_profile" DROP COLUMN "listenbrainz"
 | 
				
			||||||
        `);
 | 
					        `);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class EnableAchievements1695937489995 {
 | 
					export class EnableAchievements1695937489995 {
 | 
				
			||||||
    name = 'EnableAchievements1695937489995'
 | 
					    name = 'EnableAchievements1695937489995'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,4 +13,4 @@ export class EnableAchievements1695937489995 {
 | 
				
			||||||
    async down(queryRunner) {
 | 
					    async down(queryRunner) {
 | 
				
			||||||
        await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableAchievements"`);
 | 
					        await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableAchievements"`);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class SpeakAsCat1696386694000 {
 | 
					export class SpeakAsCat1696386694000 {
 | 
				
			||||||
	name = "SpeakAsCat1696386694000";
 | 
						name = "SpeakAsCat1696386694000";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class Background1696548899000 {
 | 
					export class Background1696548899000 {
 | 
				
			||||||
    name = 'Background1696548899000'
 | 
					    name = 'Background1696548899000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,4 +21,4 @@ export class Background1696548899000 {
 | 
				
			||||||
        await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "backgroundUrl"`);
 | 
					        await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "backgroundUrl"`);
 | 
				
			||||||
        await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "backgroundBlurhash"`);
 | 
					        await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "backgroundBlurhash"`);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class AlterNoteEdit1697970083000 {
 | 
					export class AlterNoteEdit1697970083000 {
 | 
				
			||||||
	name = "AlterNoteEdit1697970083000";
 | 
						name = "AlterNoteEdit1697970083000";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class OldDateNoteEdit1697970083001 {
 | 
					export class OldDateNoteEdit1697970083001 {
 | 
				
			||||||
	name = "OldDateNoteEdit1697970083001";
 | 
						name = "OldDateNoteEdit1697970083001";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class IsIndexable1699376974000 {
 | 
					export class IsIndexable1699376974000 {
 | 
				
			||||||
    name = 'IsIndexable1699376974000'
 | 
					    name = 'IsIndexable1699376974000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class instanceDefaultLike1699819257000 {
 | 
					export class instanceDefaultLike1699819257000 {
 | 
				
			||||||
    name = 'instanceDefaultLike1699819257000'
 | 
					    name = 'instanceDefaultLike1699819257000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class UpdateIndexable1700228972000 {
 | 
					export class UpdateIndexable1700228972000 {
 | 
				
			||||||
    name = 'UpdateIndexable1700228972000'
 | 
					    name = 'UpdateIndexable1700228972000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class BubbleInstances1701647674000 {
 | 
					export class BubbleInstances1701647674000 {
 | 
				
			||||||
    name = 'BubbleInstances1701647674000'
 | 
					    name = 'BubbleInstances1701647674000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class NSFWInstance1701809447000 {
 | 
					export class NSFWInstance1701809447000 {
 | 
				
			||||||
    name = 'NSFWInstance1701809447000'
 | 
					    name = 'NSFWInstance1701809447000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: nila and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class AddDonationUrl1704744370000 {
 | 
					export class AddDonationUrl1704744370000 {
 | 
				
			||||||
    name = 'AddDonationUrl1704744370000'
 | 
					    name = 'AddDonationUrl1704744370000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Entity, JoinColumn, Column, ManyToOne, PrimaryColumn, Index } from "typeorm";
 | 
					import { Entity, JoinColumn, Column, ManyToOne, PrimaryColumn, Index } from "typeorm";
 | 
				
			||||||
import { id } from './util/id.js';
 | 
					import { id } from './util/id.js';
 | 
				
			||||||
import { MiNote } from './Note.js';
 | 
					import { MiNote } from './Note.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const packedNoteEdit = {
 | 
					export const packedNoteEdit = {
 | 
				
			||||||
	type: "object",
 | 
						type: "object",
 | 
				
			||||||
	properties: {
 | 
						properties: {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import * as fs from 'node:fs';
 | 
					import * as fs from 'node:fs';
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import { In, IsNull, MoreThan, Not } from 'typeorm';
 | 
					import { In, IsNull, MoreThan, Not } from 'typeorm';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import * as fs from 'node:fs';
 | 
					import * as fs from 'node:fs';
 | 
				
			||||||
import * as fsp from 'node:fs/promises';
 | 
					import * as fsp from 'node:fs/promises';
 | 
				
			||||||
import * as crypto from 'node:crypto';
 | 
					import * as crypto from 'node:crypto';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
					import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
				
			||||||
import type { UsersRepository, UserProfilesRepository } from '@/models/_.js';
 | 
					import type { UsersRepository, UserProfilesRepository } from '@/models/_.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
					import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
				
			||||||
import type { UsersRepository } from '@/models/_.js';
 | 
					import type { UsersRepository } from '@/models/_.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
					import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
				
			||||||
import type { UsersRepository, UserProfilesRepository } from '@/models/_.js';
 | 
					import type { UsersRepository, UserProfilesRepository } from '@/models/_.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
					import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
				
			||||||
import type { UsersRepository } from '@/models/_.js';
 | 
					import type { UsersRepository } from '@/models/_.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import ms from 'ms';
 | 
					import ms from 'ms';
 | 
				
			||||||
import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
					import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
				
			||||||
| 
						 | 
					@ -59,7 +64,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 | 
				
			||||||
			const file = await this.driveFilesRepository.findOneBy({ id: ps.fileId });
 | 
								const file = await this.driveFilesRepository.findOneBy({ id: ps.fileId });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (file == null) throw new ApiError(meta.errors.noSuchFile);
 | 
								if (file == null) throw new ApiError(meta.errors.noSuchFile);
 | 
				
			||||||
			
 | 
					
 | 
				
			||||||
			if (file.size === 0) throw new ApiError(meta.errors.emptyFile);
 | 
								if (file.size === 0) throw new ApiError(meta.errors.emptyFile);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if ((await this.roleService.getUserPolicies(me.id)).canImportNotes === false) {
 | 
								if ((await this.roleService.getUserPolicies(me.id)).canImportNotes === false) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
					import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
				
			||||||
import type { RegistryItemsRepository } from '@/models/_.js';
 | 
					import type { RegistryItemsRepository } from '@/models/_.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import * as Redis from 'ioredis';
 | 
					import * as Redis from 'ioredis';
 | 
				
			||||||
import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
					import { Endpoint } from '@/server/api/endpoint-base.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import megalodon, { Entity, MegalodonInterface } from 'megalodon';
 | 
					import megalodon, { Entity, MegalodonInterface } from 'megalodon';
 | 
				
			||||||
import querystring from 'querystring';
 | 
					import querystring from 'querystring';
 | 
				
			||||||
| 
						 | 
					@ -89,7 +94,7 @@ export class MastodonApiServerService {
 | 
				
			||||||
				reply.code(401).send(e.response.data);
 | 
									reply.code(401).send(e.response.data);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
		fastify.get('/v1/instance', async (_request, reply) => {
 | 
							fastify.get('/v1/instance', async (_request, reply) => {
 | 
				
			||||||
			const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
								const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
				
			||||||
			const accessTokens = _request.headers.authorization;
 | 
								const accessTokens = _request.headers.authorization;
 | 
				
			||||||
| 
						 | 
					@ -113,7 +118,7 @@ export class MastodonApiServerService {
 | 
				
			||||||
				reply.code(401).send(e.response.data);
 | 
									reply.code(401).send(e.response.data);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
		fastify.get('/v1/announcements', async (_request, reply) => {
 | 
							fastify.get('/v1/announcements', async (_request, reply) => {
 | 
				
			||||||
			const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
								const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
				
			||||||
			const accessTokens = _request.headers.authorization;
 | 
								const accessTokens = _request.headers.authorization;
 | 
				
			||||||
| 
						 | 
					@ -126,7 +131,7 @@ export class MastodonApiServerService {
 | 
				
			||||||
				reply.code(401).send(e.response.data);
 | 
									reply.code(401).send(e.response.data);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
		fastify.post<{ Body: { id: string } }>('/v1/announcements/:id/dismiss', async (_request, reply) => {
 | 
							fastify.post<{ Body: { id: string } }>('/v1/announcements/:id/dismiss', async (_request, reply) => {
 | 
				
			||||||
			const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
								const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
				
			||||||
			const accessTokens = _request.headers.authorization;
 | 
								const accessTokens = _request.headers.authorization;
 | 
				
			||||||
| 
						 | 
					@ -177,8 +182,8 @@ export class MastodonApiServerService {
 | 
				
			||||||
				/* console.error(e); */
 | 
									/* console.error(e); */
 | 
				
			||||||
				reply.code(401).send(e.response.data);
 | 
									reply.code(401).send(e.response.data);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});        
 | 
							});
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
		fastify.get('/v1/filters', async (_request, reply) => {
 | 
							fastify.get('/v1/filters', async (_request, reply) => {
 | 
				
			||||||
			const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
								const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
				
			||||||
			const accessTokens = _request.headers.authorization;
 | 
								const accessTokens = _request.headers.authorization;
 | 
				
			||||||
| 
						 | 
					@ -192,7 +197,7 @@ export class MastodonApiServerService {
 | 
				
			||||||
				reply.code(401).send(e.response.data);
 | 
									reply.code(401).send(e.response.data);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
		fastify.get('/v1/trends', async (_request, reply) => {
 | 
							fastify.get('/v1/trends', async (_request, reply) => {
 | 
				
			||||||
			const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
								const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
				
			||||||
			const accessTokens = _request.headers.authorization;
 | 
								const accessTokens = _request.headers.authorization;
 | 
				
			||||||
| 
						 | 
					@ -238,7 +243,7 @@ export class MastodonApiServerService {
 | 
				
			||||||
				reply.code(401).send(e.response.data);
 | 
									reply.code(401).send(e.response.data);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
		fastify.get('/v1/preferences', async (_request, reply) => {
 | 
							fastify.get('/v1/preferences', async (_request, reply) => {
 | 
				
			||||||
			const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
								const BASE_URL = `${_request.protocol}://${_request.hostname}`;
 | 
				
			||||||
			const accessTokens = _request.headers.authorization;
 | 
								const accessTokens = _request.headers.authorization;
 | 
				
			||||||
| 
						 | 
					@ -291,18 +296,18 @@ export class MastodonApiServerService {
 | 
				
			||||||
							user: { id: tokeninfo.userId, host: null },
 | 
												user: { id: tokeninfo.userId, host: null },
 | 
				
			||||||
							path: avatar.path,
 | 
												path: avatar.path,
 | 
				
			||||||
							name: avatar.originalname !== null && avatar.originalname !== 'file' ? avatar.originalname : undefined,
 | 
												name: avatar.originalname !== null && avatar.originalname !== 'file' ? avatar.originalname : undefined,
 | 
				
			||||||
							sensitive: false,				
 | 
												sensitive: false,
 | 
				
			||||||
						});
 | 
											});
 | 
				
			||||||
						if (upload.type.startsWith('image/')) {
 | 
											if (upload.type.startsWith('image/')) {
 | 
				
			||||||
							// eslint-disable-next-line @typescript-eslint/no-explicit-any
 | 
												// eslint-disable-next-line @typescript-eslint/no-explicit-any
 | 
				
			||||||
							(_request.body as any).avatar = upload.id;
 | 
												(_request.body as any).avatar = upload.id;
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
					} else if (tokeninfo && header) {			
 | 
										} else if (tokeninfo && header) {
 | 
				
			||||||
						const upload = await this.driveService.addFile({
 | 
											const upload = await this.driveService.addFile({
 | 
				
			||||||
							user: { id: tokeninfo.userId, host: null },
 | 
												user: { id: tokeninfo.userId, host: null },
 | 
				
			||||||
							path: header.path,
 | 
												path: header.path,
 | 
				
			||||||
							name: header.originalname !== null && header.originalname !== 'file' ? header.originalname : undefined,
 | 
												name: header.originalname !== null && header.originalname !== 'file' ? header.originalname : undefined,
 | 
				
			||||||
							sensitive: false,				
 | 
												sensitive: false,
 | 
				
			||||||
						});
 | 
											});
 | 
				
			||||||
						if (upload.type.startsWith('image/')) {
 | 
											if (upload.type.startsWith('image/')) {
 | 
				
			||||||
							// eslint-disable-next-line @typescript-eslint/no-explicit-any
 | 
												// eslint-disable-next-line @typescript-eslint/no-explicit-any
 | 
				
			||||||
| 
						 | 
					@ -324,7 +329,7 @@ export class MastodonApiServerService {
 | 
				
			||||||
						};
 | 
											};
 | 
				
			||||||
					});
 | 
										});
 | 
				
			||||||
					// eslint-disable-next-line @typescript-eslint/no-explicit-any
 | 
										// eslint-disable-next-line @typescript-eslint/no-explicit-any
 | 
				
			||||||
					(_request.body as any).fields_attributes = fields.filter((field: any) => field.name.trim().length > 0 && field.value.length > 0);		
 | 
										(_request.body as any).fields_attributes = fields.filter((field: any) => field.name.trim().length > 0 && field.value.length > 0);
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				const data = await client.updateCredentials(_request.body!);
 | 
									const data = await client.updateCredentials(_request.body!);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Inject, Injectable } from '@nestjs/common';
 | 
					import { Inject, Injectable } from '@nestjs/common';
 | 
				
			||||||
import { Entity } from 'megalodon';
 | 
					import { Entity } from 'megalodon';
 | 
				
			||||||
import mfm from '@transfem-org/sfm-js';
 | 
					import mfm from '@transfem-org/sfm-js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { ApiAuthMastodon } from './endpoints/auth.js';
 | 
					import { ApiAuthMastodon } from './endpoints/auth.js';
 | 
				
			||||||
import { ApiAccountMastodon } from './endpoints/account.js';
 | 
					import { ApiAccountMastodon } from './endpoints/account.js';
 | 
				
			||||||
import { ApiSearchMastodon } from './endpoints/search.js';
 | 
					import { ApiSearchMastodon } from './endpoints/search.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { MastoConverters, convertRelationship } from '../converters.js';
 | 
					import { MastoConverters, convertRelationship } from '../converters.js';
 | 
				
			||||||
import { argsToBools, limitToInt } from './timeline.js';
 | 
					import { argsToBools, limitToInt } from './timeline.js';
 | 
				
			||||||
import type { MegalodonInterface } from 'megalodon';
 | 
					import type { MegalodonInterface } from 'megalodon';
 | 
				
			||||||
| 
						 | 
					@ -104,7 +109,7 @@ export class ApiAccountMastodon {
 | 
				
			||||||
	public async getFollowers() {
 | 
						public async getFollowers() {
 | 
				
			||||||
		try {
 | 
							try {
 | 
				
			||||||
			const data = await this.client.getAccountFollowers(
 | 
								const data = await this.client.getAccountFollowers(
 | 
				
			||||||
				(this.request.params as any).id, 
 | 
									(this.request.params as any).id,
 | 
				
			||||||
				limitToInt(this.request.query as any),
 | 
									limitToInt(this.request.query as any),
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
			return await Promise.all(data.data.map(async (account) => await this.mastoconverter.convertAccount(account)));
 | 
								return await Promise.all(data.data.map(async (account) => await this.mastoconverter.convertAccount(account)));
 | 
				
			||||||
| 
						 | 
					@ -118,7 +123,7 @@ export class ApiAccountMastodon {
 | 
				
			||||||
	public async getFollowing() {
 | 
						public async getFollowing() {
 | 
				
			||||||
		try {
 | 
							try {
 | 
				
			||||||
			const data = await this.client.getAccountFollowing(
 | 
								const data = await this.client.getAccountFollowing(
 | 
				
			||||||
				(this.request.params as any).id, 
 | 
									(this.request.params as any).id,
 | 
				
			||||||
				limitToInt(this.request.query as any),
 | 
									limitToInt(this.request.query as any),
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
			return await Promise.all(data.data.map(async (account) => await this.mastoconverter.convertAccount(account)));
 | 
								return await Promise.all(data.data.map(async (account) => await this.mastoconverter.convertAccount(account)));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import type { MegalodonInterface } from 'megalodon';
 | 
					import type { MegalodonInterface } from 'megalodon';
 | 
				
			||||||
import type { FastifyRequest } from 'fastify';
 | 
					import type { FastifyRequest } from 'fastify';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -65,7 +70,7 @@ export async function ApiAuthMastodon(request: FastifyRequest, client: Megalodon
 | 
				
			||||||
			client_id: Buffer.from(appData.url || '').toString('base64'),
 | 
								client_id: Buffer.from(appData.url || '').toString('base64'),
 | 
				
			||||||
			client_secret: appData.clientSecret,
 | 
								client_secret: appData.clientSecret,
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
            
 | 
					
 | 
				
			||||||
		return returns;
 | 
							return returns;
 | 
				
			||||||
	} catch (e: any) {
 | 
						} catch (e: any) {
 | 
				
			||||||
		console.error(e);
 | 
							console.error(e);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { convertFilter } from '../converters.js';
 | 
					import { convertFilter } from '../converters.js';
 | 
				
			||||||
import type { MegalodonInterface } from 'megalodon';
 | 
					import type { MegalodonInterface } from 'megalodon';
 | 
				
			||||||
import type { FastifyRequest } from 'fastify';
 | 
					import type { FastifyRequest } from 'fastify';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Entity } from 'megalodon';
 | 
					import { Entity } from 'megalodon';
 | 
				
			||||||
import { FILE_TYPE_BROWSERSAFE } from '@/const.js';
 | 
					import { FILE_TYPE_BROWSERSAFE } from '@/const.js';
 | 
				
			||||||
import type { Config } from '@/config.js';
 | 
					import type { Config } from '@/config.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { convertNotification } from '../converters.js';
 | 
					import { convertNotification } from '../converters.js';
 | 
				
			||||||
import type { MegalodonInterface, Entity } from 'megalodon';
 | 
					import type { MegalodonInterface, Entity } from 'megalodon';
 | 
				
			||||||
import type { FastifyRequest } from 'fastify';
 | 
					import type { FastifyRequest } from 'fastify';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { MastoConverters } from '../converters.js';
 | 
					import { MastoConverters } from '../converters.js';
 | 
				
			||||||
import { limitToInt } from './timeline.js';
 | 
					import { limitToInt } from './timeline.js';
 | 
				
			||||||
import type { MegalodonInterface } from 'megalodon';
 | 
					import type { MegalodonInterface } from 'megalodon';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import querystring from 'querystring';
 | 
					import querystring from 'querystring';
 | 
				
			||||||
import { emojiRegexAtStartToEnd } from '@/misc/emoji-regex.js';
 | 
					import { emojiRegexAtStartToEnd } from '@/misc/emoji-regex.js';
 | 
				
			||||||
import { convertAttachment, convertPoll, convertStatusSource, MastoConverters } from '../converters.js';
 | 
					import { convertAttachment, convertPoll, convertStatusSource, MastoConverters } from '../converters.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { ParsedUrlQuery } from 'querystring';
 | 
					import { ParsedUrlQuery } from 'querystring';
 | 
				
			||||||
import { convertConversation, convertList, MastoConverters } from '../converters.js';
 | 
					import { convertConversation, convertList, MastoConverters } from '../converters.js';
 | 
				
			||||||
import { getClient } from '../MastodonApiServerService.js';
 | 
					import { getClient } from '../MastodonApiServerService.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: leah and other Cutiekey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<span ref="container" :class="$style.root">
 | 
					<span ref="container" :class="$style.root">
 | 
				
			||||||
	<span ref="el" :class="$style.inner" style="position: absolute">
 | 
						<span ref="el" :class="$style.inner" style="position: absolute">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<MkWindow
 | 
					<MkWindow
 | 
				
			||||||
	ref="window"
 | 
						ref="window"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<div v-if="hide" class="mod-player-disabled" @click="toggleVisible()">
 | 
					<div v-if="hide" class="mod-player-disabled" @click="toggleVisible()">
 | 
				
			||||||
	<div>
 | 
						<div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<MkFolder :expanded="false">
 | 
					<MkFolder :expanded="false">
 | 
				
			||||||
	<template #icon><i class="ph-user ph-bold ph-lg"></i></template>
 | 
						<template #icon><i class="ph-user ph-bold ph-lg"></i></template>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
<!--
 | 
					<!--
 | 
				
			||||||
SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
SPDX-License-Identifier: AGPL-3.0-only
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
<!--
 | 
					<!--
 | 
				
			||||||
SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
SPDX-License-Identifier: AGPL-3.0-only
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<MkWindow ref="window" :initialWidth="500" :initialHeight="300" :canResize="true" @closed="emit('closed')">
 | 
					<MkWindow ref="window" :initialWidth="500" :initialHeight="300" :canResize="true" @closed="emit('closed')">
 | 
				
			||||||
	<template #header>
 | 
						<template #header>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: kopper and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<div ref="nekoEl" :class="$style.oneko" aria-hidden="true"></div>
 | 
					<div ref="nekoEl" :class="$style.oneko" aria-hidden="true"></div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<MkWindow ref="window" :initialWidth="600" :initialHeight="450" :canResize="true" @closed="emit('closed')">
 | 
					<MkWindow ref="window" :initialWidth="600" :initialHeight="450" :canResize="true" @closed="emit('closed')">
 | 
				
			||||||
	<template #header>
 | 
						<template #header>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<div>
 | 
					<div>
 | 
				
			||||||
	<MkStickyContainer>
 | 
						<MkStickyContainer>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					SPDX-FileCopyrightText: amelia and other Sharkey contributors
 | 
				
			||||||
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
	<MkContainer :foldable="true">
 | 
						<MkContainer :foldable="true">
 | 
				
			||||||
		<template #header
 | 
							<template #header
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import * as mfm from '@transfem-org/sfm-js';
 | 
					import * as mfm from '@transfem-org/sfm-js';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function checkAnimationFromMfm(nodes: mfm.MfmNode[]): boolean {
 | 
					export function checkAnimationFromMfm(nodes: mfm.MfmNode[]): boolean {
 | 
				
			||||||
| 
						 | 
					@ -8,9 +13,9 @@ export function checkAnimationFromMfm(nodes: mfm.MfmNode[]): boolean {
 | 
				
			||||||
			node.props.name === 'twitch' ||
 | 
								node.props.name === 'twitch' ||
 | 
				
			||||||
			node.props.name === 'shake' ||
 | 
								node.props.name === 'shake' ||
 | 
				
			||||||
			node.props.name === 'spin' ||
 | 
								node.props.name === 'spin' ||
 | 
				
			||||||
			node.props.name === 'jump' || 
 | 
								node.props.name === 'jump' ||
 | 
				
			||||||
			node.props.name === 'bounce' || 
 | 
								node.props.name === 'bounce' ||
 | 
				
			||||||
			node.props.name === 'rainbow' || 
 | 
								node.props.name === 'rainbow' ||
 | 
				
			||||||
			node.props.name === 'sparkle') {
 | 
								node.props.name === 'sparkle') {
 | 
				
			||||||
				return true;
 | 
									return true;
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
| 
						 | 
					@ -20,7 +25,7 @@ export function checkAnimationFromMfm(nodes: mfm.MfmNode[]): boolean {
 | 
				
			||||||
			return false;
 | 
								return false;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	});
 | 
						});
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	if (animatedNodes.length > 0) {
 | 
						if (animatedNodes.length > 0) {
 | 
				
			||||||
		return true;
 | 
							return true;
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* eslint-disable */
 | 
					/* eslint-disable */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ChiptuneAudioContext = window.AudioContext || window.webkitAudioContext;
 | 
					const ChiptuneAudioContext = window.AudioContext || window.webkitAudioContext;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: leah and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import tinycolor from 'tinycolor2';
 | 
					import tinycolor from 'tinycolor2';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class FavIconDot {
 | 
					class FavIconDot {
 | 
				
			||||||
| 
						 | 
					@ -17,13 +22,13 @@ class FavIconDot {
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public async setup() {
 | 
						public async setup() {
 | 
				
			||||||
		const element: HTMLLinkElement = await this.getOrMakeFaviconElement();
 | 
							const element: HTMLLinkElement = await this.getOrMakeFaviconElement();
 | 
				
			||||||
		
 | 
					
 | 
				
			||||||
		this.faviconEL = element;
 | 
							this.faviconEL = element;
 | 
				
			||||||
		this.src = this.faviconEL.getAttribute('href');
 | 
							this.src = this.faviconEL.getAttribute('href');
 | 
				
			||||||
		this.ctx = this.canvas.getContext('2d');
 | 
							this.ctx = this.canvas.getContext('2d');
 | 
				
			||||||
			
 | 
					
 | 
				
			||||||
		this.faviconImage = document.createElement('img');
 | 
							this.faviconImage = document.createElement('img');
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
		this.hasLoaded = new Promise((resolve, reject) => {
 | 
							this.hasLoaded = new Promise((resolve, reject) => {
 | 
				
			||||||
			(this.faviconImage as HTMLImageElement).addEventListener('load', () => {
 | 
								(this.faviconImage as HTMLImageElement).addEventListener('load', () => {
 | 
				
			||||||
				this.canvas.width = (this.faviconImage as HTMLImageElement).width;
 | 
									this.canvas.width = (this.faviconImage as HTMLImageElement).width;
 | 
				
			||||||
| 
						 | 
					@ -100,7 +105,7 @@ export function setFavIconDot(visible: boolean) {
 | 
				
			||||||
			icon = new FavIconDot();
 | 
								icon = new FavIconDot();
 | 
				
			||||||
			await icon.setup();
 | 
								await icon.setup();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		
 | 
					
 | 
				
			||||||
		(icon as FavIconDot).setVisible(visible);
 | 
							(icon as FavIconDot).setVisible(visible);
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Ref, defineAsyncComponent } from 'vue';
 | 
					import { Ref, defineAsyncComponent } from 'vue';
 | 
				
			||||||
import * as Misskey from 'misskey-js';
 | 
					import * as Misskey from 'misskey-js';
 | 
				
			||||||
import { i18n } from '@/i18n.js';
 | 
					import { i18n } from '@/i18n.js';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: leah and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//store the URL and if its none of these its a custom one
 | 
					//store the URL and if its none of these its a custom one
 | 
				
			||||||
export const searchEngineMap = {
 | 
					export const searchEngineMap = {
 | 
				
			||||||
	//The first one is the default search engine
 | 
						//The first one is the default search engine
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
<!--
 | 
					<!--
 | 
				
			||||||
SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
					SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
SPDX-License-Identifier: AGPL-3.0-only
 | 
					SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: dakkar and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { describe, test, assert, afterEach } from 'vitest';
 | 
					import { describe, test, assert, afterEach } from 'vitest';
 | 
				
			||||||
import { nyaize } from '@/scripts/nyaize.js';
 | 
					import { nyaize } from '@/scripts/nyaize.js';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,8 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SPDX-FileCopyrightText: marie and other Sharkey contributors
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// trims dependencies for production
 | 
					// trims dependencies for production
 | 
				
			||||||
// only run after a full build
 | 
					// only run after a full build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue