develop (#9120)
This commit is contained in:
commit
7292f29bb7
8 changed files with 16 additions and 18 deletions
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
# ✨ About Calckey
|
# ✨ About Calckey
|
||||||
|
|
||||||
- Calckey is based off of Misskey, a powerful microblogging server on ActivityPub with features such as emoji reactions, a customizable web ui, rich chatting, and much more!
|
- Calckey is based off of Misskey, a powerful microblogging server on ActivityPub with features such as emoji reactions, a customizable web UI, rich chatting, and much more!
|
||||||
- Calckey adds many quality of life changes and bug fixes for users and instance admins alike.
|
- Calckey adds many quality of life changes and bug fixes for users and instance admins alike.
|
||||||
- Read **[this document](./CALCKEY.md)** all for current and future differences.
|
- Read **[this document](./CALCKEY.md)** all for current and future differences.
|
||||||
- Notable differences:
|
- Notable differences:
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
- 💁 Matrix support room: <https://matrix.to/#/#calckey:matrix.fedibird.com>
|
- 💁 Matrix support room: <https://matrix.to/#/#calckey:matrix.fedibird.com>
|
||||||
- 📜 Instance list: <https://calckey.fediverse.observer/list>
|
- 📜 Instance list: <https://calckey.fediverse.observer/list>
|
||||||
- 📖 JoinFediverse Wiki: <https://joinfediverse.wiki/What_is_Calckey%3F>
|
- 📖 JoinFediverse Wiki: <https://joinfediverse.wiki/What_is_Calckey%3F>
|
||||||
|
- 🐋 Docker Hub: <https://hub.docker.com/r/thatonecalculator/calckey>
|
||||||
|
|
||||||
# 🌠 Getting started
|
# 🌠 Getting started
|
||||||
|
|
||||||
|
@ -73,6 +74,7 @@ corepack enable
|
||||||
|
|
||||||
- To add custom CSS for all users, edit `./custom/instance.css`.
|
- To add custom CSS for all users, edit `./custom/instance.css`.
|
||||||
- To add static assets (such as images for the splash screen), place them in the `./custom/` directory. They'll then be avaliable on `https://yourinstance.tld/static-assets/filename.ext`.
|
- To add static assets (such as images for the splash screen), place them in the `./custom/` directory. They'll then be avaliable on `https://yourinstance.tld/static-assets/filename.ext`.
|
||||||
|
- To update custom assets without rebuilding, just run `yarn run gulp`.
|
||||||
|
|
||||||
## 🧑🔬 Configuring a new instance
|
## 🧑🔬 Configuring a new instance
|
||||||
|
|
||||||
|
@ -203,7 +205,6 @@ sudo docker compose up -d
|
||||||
- I'd ***strongly*** recommend against using CloudFlare, but if you do, make sure to turn code minification off.
|
- I'd ***strongly*** recommend against using CloudFlare, but if you do, make sure to turn code minification off.
|
||||||
- For push notifications, run `npx web-push generate-vapid-keys`, the put the public and private keys into Control Panel > General > ServiceWorker.
|
- For push notifications, run `npx web-push generate-vapid-keys`, the put the public and private keys into Control Panel > General > ServiceWorker.
|
||||||
- For translations, make a [DeepL](https://deepl.com) account and generate an API key, then put it into Control Panel > General > DeepL Translation.
|
- For translations, make a [DeepL](https://deepl.com) account and generate an API key, then put it into Control Panel > General > DeepL Translation.
|
||||||
- For link previews, go to Control Panel > Security > Summaly Proxy and put in `https://summaly.arkjp.net`.
|
|
||||||
- To add another admin account:
|
- To add another admin account:
|
||||||
- Go to the user's page > 3 Dots > About > Moderation > turn on "Moderator"
|
- Go to the user's page > 3 Dots > About > Moderation > turn on "Moderator"
|
||||||
- Go back to Overview > click the clipboard icon next to the ID
|
- Go back to Overview > click the clipboard icon next to the ID
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "calckey",
|
"name": "calckey",
|
||||||
"version": "12.119.0-calc.13.3",
|
"version": "12.119.0-calc.14",
|
||||||
"codename": "aqua",
|
"codename": "aqua",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { } from '@/services/chart/index.js';
|
||||||
import { IsNull } from 'typeorm';
|
import { IsNull } from 'typeorm';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
requireCredential: true,
|
requireCredential: false,
|
||||||
requireCredentialPrivateMode: true,
|
requireCredentialPrivateMode: true,
|
||||||
|
|
||||||
tags: ['meta'],
|
tags: ['meta'],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
:class="{
|
:class="{
|
||||||
isMe: isMe(message),
|
isMe: isMe(message),
|
||||||
isRead: message.groupId ? message.reads.includes($i.id) : message.isRead,
|
isRead: message.groupId ? message.reads.includes($i?.id) : message.isRead,
|
||||||
}"
|
}"
|
||||||
:to="
|
:to="
|
||||||
message.groupId
|
message.groupId
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="hoawjimk">
|
<div class="hoawjimk">
|
||||||
<XBanner v-for="media in mediaList.filter(media => !previewable(media))" :key="media.id" :media="media"/>
|
<XBanner v-for="media in mediaList.filter(media => !previewable(media))" :key="media.id" :media="media"/>
|
||||||
<div v-if="mediaList.filter(media => previewable(media)).length > 0" class="gird-container" :class="{ width400: inDm }">
|
<div v-if="mediaList.filter(media => previewable(media)).length > 0" class="gird-container" :class="{ dmWidth: inDm }">
|
||||||
<div ref="gallery" :data-count="mediaList.filter(media => previewable(media)).length">
|
<div ref="gallery" :data-count="mediaList.filter(media => previewable(media)).length">
|
||||||
<template v-for="media in mediaList.filter(media => previewable(media))">
|
<template v-for="media in mediaList.filter(media => previewable(media))">
|
||||||
<XVideo v-if="media.type.startsWith('video')" :key="media.id" :video="media"/>
|
<XVideo v-if="media.type.startsWith('video')" :key="media.id" :video="media"/>
|
||||||
|
@ -105,8 +105,9 @@ const previewable = (file: misskey.entities.DriveFile): boolean => {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.hoawjimk {
|
.hoawjimk {
|
||||||
|
|
||||||
> .width400 {
|
> .dmWidth {
|
||||||
width: 400px !important;
|
min-width: 20rem;
|
||||||
|
max-width: 40rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
> .gird-container {
|
> .gird-container {
|
||||||
|
|
|
@ -275,6 +275,10 @@ function onVisibilitychange() {
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
fetch();
|
fetch();
|
||||||
|
definePageMetadata(computed(() => ({
|
||||||
|
title: group != null ? group.name : user?.name,
|
||||||
|
icon: 'ph-chats-teardrop-bold ph-lg',
|
||||||
|
})));
|
||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
|
@ -282,14 +286,6 @@ onBeforeUnmount(() => {
|
||||||
document.removeEventListener('visibilitychange', onVisibilitychange);
|
document.removeEventListener('visibilitychange', onVisibilitychange);
|
||||||
if (scrollRemove) scrollRemove();
|
if (scrollRemove) scrollRemove();
|
||||||
});
|
});
|
||||||
|
|
||||||
definePageMetadata(computed(() => !fetching ? user ? {
|
|
||||||
userName: user,
|
|
||||||
avatar: user,
|
|
||||||
} : {
|
|
||||||
title: group?.name,
|
|
||||||
icon: 'ph-users-three-bold ph-lg',
|
|
||||||
} : null));
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
@ -23,7 +23,7 @@ class SwLang {
|
||||||
public i18n: Promise<I18n<any>> | null = null;
|
public i18n: Promise<I18n<any>> | null = null;
|
||||||
|
|
||||||
public fetchLocale() {
|
public fetchLocale() {
|
||||||
return i18n = this._fetch();
|
return this.i18n = this._fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async _fetch() {
|
private async _fetch() {
|
||||||
|
|
Loading…
Reference in a new issue