64ebe0f437
- Load up to 5 previews per message (to avoid abuse) - Do not load multiple times the same URL - Prepare preview containers per message instead of appending (to maintain correct order) - Store an array of previews instead of a single preview in `Msg` objects - Consolidate preview rendering for new messages and upon refresh/load history (when rendering entire channels) - Update `parse` tests to reflect previous point - Add test for multiple URLs - Switch preview tests from `assert` API to `expect` API
14 lines
359 B
JavaScript
14 lines
359 B
JavaScript
"use strict";
|
|
|
|
const $ = require("jquery");
|
|
const Handlebars = require("handlebars/runtime");
|
|
const renderPreview = require("../renderPreview");
|
|
const socket = require("../socket");
|
|
|
|
socket.on("msg:preview", function(data) {
|
|
const msg = $("#msg-" + data.id);
|
|
|
|
data.link = Handlebars.Utils.escapeExpression(data.link);
|
|
renderPreview(data.preview, msg);
|
|
});
|