mirror of
https://github.com/hotomoe/hotomoe
synced 2024-12-04 17:58:10 +09:00
Merge branch 'develop' of https://github.com/syuilo/misskey into develop
This commit is contained in:
commit
7e803ff9a9
@ -143,7 +143,7 @@
|
||||
"json5": "2.1.0",
|
||||
"json5-loader": "1.0.1",
|
||||
"katex": "0.10.0",
|
||||
"koa": "2.6.1",
|
||||
"koa": "2.6.2",
|
||||
"koa-bodyparser": "4.2.1",
|
||||
"koa-compress": "3.0.0",
|
||||
"koa-favicon": "2.0.1",
|
||||
@ -237,7 +237,7 @@
|
||||
"webpack": "4.26.0",
|
||||
"webpack-cli": "3.1.2",
|
||||
"websocket": "1.0.28",
|
||||
"ws": "6.1.0",
|
||||
"ws": "6.1.2",
|
||||
"xev": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
@ -96,6 +96,13 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
|
||||
// リプライ
|
||||
const reply = note.inReplyTo ? await resolveNote(note.inReplyTo, resolver) : null;
|
||||
|
||||
// 引用
|
||||
let quote: INote;
|
||||
|
||||
if (note._misskey_quote && typeof note._misskey_quote == 'string') {
|
||||
quote = await resolveNote(note._misskey_quote).catch(() => null);
|
||||
}
|
||||
|
||||
// テキストのパース
|
||||
const text = note._misskey_content ? note._misskey_content : htmlToMFM(note.content);
|
||||
|
||||
@ -112,7 +119,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
|
||||
createdAt: new Date(note.published),
|
||||
files: files,
|
||||
reply,
|
||||
renote: undefined,
|
||||
renote: quote,
|
||||
cw: note.summary,
|
||||
text: text,
|
||||
viaMobile: false,
|
||||
|
@ -42,6 +42,18 @@ export default async function renderNote(note: INote, dive = true): Promise<any>
|
||||
inReplyTo = null;
|
||||
}
|
||||
|
||||
let quote;
|
||||
|
||||
if (note.renoteId) {
|
||||
const renote = await Note.findOne({
|
||||
_id: note.renoteId,
|
||||
});
|
||||
|
||||
if (renote) {
|
||||
quote = renote.uri ? renote.uri : `${config.url}/notes/${renote._id}`;
|
||||
}
|
||||
}
|
||||
|
||||
const user = await User.findOne({
|
||||
_id: note.userId
|
||||
});
|
||||
@ -112,6 +124,7 @@ export default async function renderNote(note: INote, dive = true): Promise<any>
|
||||
summary: note.cw,
|
||||
content,
|
||||
_misskey_content: text,
|
||||
_misskey_quote: quote,
|
||||
published: note.createdAt.toISOString(),
|
||||
to,
|
||||
cc,
|
||||
|
@ -41,6 +41,7 @@ export interface IOrderedCollection extends IObject {
|
||||
export interface INote extends IObject {
|
||||
type: 'Note';
|
||||
_misskey_content: string;
|
||||
_misskey_quote: string;
|
||||
}
|
||||
|
||||
export interface IPerson extends IObject {
|
||||
|
@ -76,7 +76,7 @@ router.get('/notes/:note', async (ctx, next) => {
|
||||
}
|
||||
|
||||
ctx.body = pack(await renderNote(note, false));
|
||||
ctx.set('Cache-Control', 'public, max-age=180');
|
||||
ctx.set('Cache-Control', 'private, max-age=0, must-revalidate');
|
||||
setResponseType(ctx);
|
||||
});
|
||||
|
||||
|
@ -9,8 +9,8 @@ export default function(ctx: Koa.Context, user: ILocalUser, redirect = false) {
|
||||
path: '/',
|
||||
domain: config.hostname,
|
||||
// SEE: https://github.com/koajs/koa/issues/974
|
||||
//secure: config.url.startsWith('https'),
|
||||
secure: false,
|
||||
// When using a SSL proxy it should be configured to add the "X-Forwarded-Proto: https" header
|
||||
secure: config.url.startsWith('https'),
|
||||
httpOnly: false,
|
||||
expires: new Date(Date.now() + expires),
|
||||
maxAge: expires
|
||||
|
@ -111,7 +111,7 @@ router.get('/notes/:note', async ctx => {
|
||||
note: _note,
|
||||
summary: getNoteSummary(_note)
|
||||
});
|
||||
ctx.set('Cache-Control', 'public, max-age=180');
|
||||
ctx.set('Cache-Control', 'private, max-age=0, must-revalidate');
|
||||
} else {
|
||||
ctx.status = 404;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user