diff --git a/database/backends/PostgresSmartBackend.php b/database/backends/PostgresSmartBackend.php index 852ad5651cc0157b7dbd0469b9c2415b749e0c95..0c32d2c18ae5cb788675834ea7511ed5692898a3 100644 --- a/database/backends/PostgresSmartBackend.php +++ b/database/backends/PostgresSmartBackend.php @@ -33,8 +33,7 @@ class PostgresSmartBackend implements Backend tmp.messageid, sender.sender, tmp.time, - replace(replace(tmp.message, '<', '<'), '>', '>') AS message, - ts_headline(replace(replace(tmp.message, '<', '<'), '>', '>'), query) AS preview + ts_headline(replace(replace(tmp.message, '<', '<'), '>', '>'), query, 'HighlightAll=TRUE') AS message FROM (SELECT backlog.messageid, @@ -44,7 +43,16 @@ class PostgresSmartBackend implements Backend backlog.senderid, backlog.time, backlog.message, - query, + ( + (ts_rank(tsv, query, :config_normalization) ^ :weight_content) * + ((CASE + WHEN type IN (1, 4) THEN 1.0 + WHEN type IN (2, 1024, 2048, 4096, 16384) THEN 0.75 + WHEN type IN (32, 64, 128, 256, 512, 32768, 65536) THEN 0.5 + WHEN type IN (8, 16, 8192, 131072) THEN 0.25 + ELSE 0.1 END) ^ :weight_type) * + ((EXTRACT(EPOCH FROM time) / EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)) ^ :weight_time) + ) AS rank_value, rank() OVER ( PARTITION BY backlog.bufferid ORDER BY ( @@ -57,7 +65,8 @@ class PostgresSmartBackend implements Backend ELSE 0.1 END) ^ :weight_type) * ((EXTRACT(EPOCH FROM time) / EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)) ^ :weight_time) ) DESC - ) AS rank + ) AS rank, + query FROM backlog JOIN buffer ON backlog.bufferid = buffer.bufferid, phraseto_tsquery_multilang(:query) query @@ -71,7 +80,8 @@ class PostgresSmartBackend implements Backend JOIN network ON tmp.networkid = network.networkid WHERE tmp.rank <= :limit AND (:ignore_network::BOOLEAN OR network.networkname ~* :network) - AND (:ignore_sender::BOOLEAN OR sender.sender ~* :sender); + AND (:ignore_sender::BOOLEAN OR sender.sender ~* :sender) + ORDER BY tmp.rank_value DESC; "); } @@ -105,8 +115,7 @@ class PostgresSmartBackend implements Backend tmp.messageid, sender.sender, tmp.time, - replace(replace(tmp.message, '<', '<'), '>', '>') AS message, - ts_headline(replace(replace(tmp.message, '<', '<'), '>', '>'), query) AS preview + ts_headline(replace(replace(tmp.message, '<', '<'), '>', '>'), query, 'HighlightAll=TRUE') AS message FROM (SELECT backlog.messageid, @@ -114,6 +123,16 @@ class PostgresSmartBackend implements Backend backlog.senderid, backlog.time, backlog.message, + ( + (ts_rank(tsv, query, :config_normalization) ^ :weight_content) * + ((CASE + WHEN type IN (1, 4) THEN 1.0 + WHEN type IN (2, 1024, 2048, 4096, 16384) THEN 0.75 + WHEN type IN (32, 64, 128, 256, 512, 32768, 65536) THEN 0.5 + WHEN type IN (8, 16, 8192, 131072) THEN 0.25 + ELSE 0.1 END) ^ :weight_type) * + ((EXTRACT(EPOCH FROM time) / EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)) ^ :weight_time) + ) AS rank_value, query FROM backlog JOIN buffer ON backlog.bufferid = buffer.bufferid, @@ -123,19 +142,10 @@ class PostgresSmartBackend implements Backend AND (:ignore_since::BOOLEAN OR backlog.time > :since::TIMESTAMP) AND (:ignore_before::BOOLEAN OR backlog.time < :before::TIMESTAMP) AND backlog.tsv @@ query AND backlog.type & 23559 > 0 - ORDER BY ( - (ts_rank(tsv, query, :config_normalization) ^ :weight_content) * - ((CASE - WHEN type IN (1, 4) THEN 1.0 - WHEN type IN (2, 1024, 2048, 4096, 16384) THEN 0.75 - WHEN type IN (32, 64, 128, 256, 512, 32768, 65536) THEN 0.5 - WHEN type IN (8, 16, 8192, 131072) THEN 0.25 - ELSE 0.1 END) ^ :weight_type) * - ((EXTRACT(EPOCH FROM time) / EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)) ^ :weight_time) - ) DESC ) tmp - JOIN sender ON tmp.senderid = sender.senderid - WHERE (:ignore_sender::BOOLEAN OR sender.sender ~* :sender) + JOIN sender ON tmp.senderid = sender.senderid + WHERE (:ignore_sender::BOOLEAN OR sender.sender ~* :sender) + ORDER BY tmp.rank_value DESC LIMIT :limit OFFSET :offset; "); diff --git a/res/css/_content.sass b/res/css/_content.sass index ef301e5f4ddb644ad09aa0f33edefbe831119747..c130017f8f6cdeed9b9bf925adad5fa8d4cdc2a3 100644 --- a/res/css/_content.sass +++ b/res/css/_content.sass @@ -216,10 +216,13 @@ border-bottom: none time - width: 132px + width: 128px display: inline-block text-align: right flex-shrink: 0 + font-family: monospace + font-size: 90% + color: #444 @media(max-width: 800px) position: absolute @@ -255,21 +258,16 @@ content: ': ' margin-right: 8px - .preview - flex: 50% - min-width: 0 - overflow: hidden - @media(max-width: 800px) display: none - .irc_highlight - background-color: rgba(251, 246, 167, 0.5) - .content - flex: 50% - min-width: 0 + flex-grow: 1 overflow: hidden + .irc_highlight + background-color: rgba(251, 246, 167, 0.5) + color: #212121 !important + @media(max-width: 800px) display: inline \ No newline at end of file diff --git a/res/css/search.css b/res/css/search.css index cd780afda6a6364d6445c999e6ad5c1276eb6eef..8cac96c5d17dac181e1d0b967586fe81d03f4e3c 100644 --- a/res/css/search.css +++ b/res/css/search.css @@ -4,7 +4,6 @@ font-weight: 400; src: local("Material Icons"), local("MaterialIcons-Regular"), url(../icons/MaterialIcons-Regular.woff2) format("woff2"), url(../icons/MaterialIcons-Regular.woff) format("woff"); } - .icon { font-family: "Material Icons", sans-serif; font-weight: normal; @@ -35,7 +34,6 @@ font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-ext_cyrillic_greek-ext_cyrillic-ext_latin_greek_vietnamese-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-ext_cyrillic_greek-ext_cyrillic-ext_latin_greek_vietnamese-regular.woff") format("woff"); } - @font-face { font-family: "Roboto"; font-style: normal; @@ -748,10 +746,13 @@ body { } .results .buffer .container .context .message time { - width: 132px; + width: 128px; display: inline-block; text-align: right; flex-shrink: 0; + font-family: monospace; + font-size: 90%; + color: #444; } @media (max-width: 800px) { @@ -801,28 +802,22 @@ body { } } -.results .buffer .container .context .message .container .preview { - flex: 50%; - min-width: 0; - overflow: hidden; -} - @media (max-width: 800px) { - .results .buffer .container .context .message .container .preview { + .results .buffer .container .context .message .container .sender { display: none; } } -.results .buffer .container .context .message .container .preview .irc_highlight { - background-color: rgba(251, 246, 167, 0.5); -} - .results .buffer .container .context .message .container .content { - flex: 50%; - min-width: 0; + flex-grow: 1; overflow: hidden; } +.results .buffer .container .context .message .container .content .irc_highlight { + background-color: rgba(251, 246, 167, 0.5); + color: #212121 !important; +} + @media (max-width: 800px) { .results .buffer .container .context .message .container .content { display: inline; diff --git a/res/css/search.css.map b/res/css/search.css.map index fa4d8241954d18f081f06e64abe75308601757d1..9e7f155441f818130c5d83cc478226abf172fe5e 100644 --- a/res/css/search.css.map +++ b/res/css/search.css.map @@ -1,6 +1,6 @@ { "version": 3, - "mappings": "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", + "mappings": "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", "sources": [ "_icons.sass", "_font.sass", diff --git a/res/js/app.js b/res/js/app.js index 177828ed1e8dde8044c1a227fe8036f3c983ff2c..496edfe387c1603737d05170f07d2de7848fd265 100644 --- a/res/js/app.js +++ b/res/js/app.js @@ -44,7 +44,7 @@ class App { this.buffers = result.map((buffer) => { return new Buffer(buffer.bufferid, buffer.buffername, buffer.networkname, buffer.hasmore, buffer.messages.map((msg) => { - return new Context(new MessagePreview(msg.messageid, msg.time, msg.sender, msg.message, msg.preview)); + return new Context(new Message(msg.messageid, msg.time, msg.sender, msg.message)); })); }); this.buffers.forEach((buffer) => this.insert(buffer)); diff --git a/res/js/component/context.js b/res/js/component/context.js index ba81735bf56af879c04c927bdebe511a41f56cca..e4df7b6a01429bb621a4e51609535ee706cd9a2d 100644 --- a/res/js/component/context.js +++ b/res/js/component/context.js @@ -1,6 +1,6 @@ class Context { - constructor(preview, beforeList = [], afterList = []) { - this.preview = preview; + constructor(message, beforeList = [], afterList = []) { + this.message = message; this.beforeList = beforeList; this.afterList = afterList; this.render(); @@ -18,7 +18,7 @@ class Context { $$c.appendChildren((this.loadBeforeBtn = new LoadMore(translation.context.load_earlier, this.loadBefore)).elem); return $$c; }.call(this)); - $$a.appendChildren(this.preview.elem); + $$a.appendChildren(this.message.elem); $$a.appendChildren(this.containerAfter = function () { var $$g = document.createElement('div'); $$g.setAttribute('class', 'container after'); diff --git a/res/js/component/context.jsx b/res/js/component/context.jsx index 3a6b3b9173dae55255497c347086d8d26e6e7cb9..57767e777323f532969385c825cd5e071ea244d6 100644 --- a/res/js/component/context.jsx +++ b/res/js/component/context.jsx @@ -1,6 +1,6 @@ class Context { - constructor(preview, beforeList = [], afterList = []) { - this.preview = preview; + constructor(message, beforeList = [], afterList = []) { + this.message = message; this.beforeList = beforeList; this.afterList = afterList; @@ -18,7 +18,7 @@ class Context { {(this.loadBeforeBtn = new LoadMore(translation.context.load_earlier, this.loadBefore)).elem} </div> )} - {this.preview.elem} + {this.message.elem} {this.containerAfter = ( <div className="container after"> {(this.loadAfterBtn = new LoadMore(translation.context.load_later, this.loadAfter)).elem} diff --git a/res/js/component/history.js b/res/js/component/history.js index fd147d944bffb4317f219b87753a0e0fb3c2e85b..5e555f2bd6ad7f3df70e997faa2c2252dd336f36 100644 --- a/res/js/component/history.js +++ b/res/js/component/history.js @@ -21,7 +21,6 @@ class HistoryView { return $$a; }.call(this); } - insert(items) { if (!(items instanceof Array)) return this.insert([items]); diff --git a/res/js/component/message.js b/res/js/component/message.js index 1af906cd79b6ad3afcd5186636e280ef000c80ac..48c9bf5394621682f89b07f169f18f0a803f5374 100644 --- a/res/js/component/message.js +++ b/res/js/component/message.js @@ -12,7 +12,7 @@ class Message { $$a.setAttribute('class', 'message'); var $$b = document.createElement('time'); $$a.appendChild($$b); - $$b.appendChildren(new Date(this.time.replace(' ', 'T') + 'Z').toLocaleString()); + $$b.appendChildren(new Date(this.time.replace(' ', 'T') + 'Z').toUTCString()); var $$d = document.createElement('div'); $$d.setAttribute('class', 'container'); $$a.appendChild($$d); diff --git a/res/js/component/message.jsx b/res/js/component/message.jsx index af6cb9466a3b3c93449bf446337c67263154dae2..746572d88618f4f6f33df5a34734f66997cd47d7 100644 --- a/res/js/component/message.jsx +++ b/res/js/component/message.jsx @@ -11,7 +11,7 @@ class Message { render() { return this.elem = ( <div className="message"> - <time>{new Date(this.time.replace(" ", "T") + "Z").toLocaleString()}</time> + <time>{new Date(this.time.replace(" ", "T") + "Z").toUTCString()}</time> <div className="container"> <div className="sender" data-sendercolor={SenderColorHandler.nickToColor(this.getNick())}> {this.getNick()} diff --git a/res/js/component/messagePreview.js b/res/js/component/messagePreview.js deleted file mode 100644 index 831760cec3c443f5a363f077a4cc59cccef205c0..0000000000000000000000000000000000000000 --- a/res/js/component/messagePreview.js +++ /dev/null @@ -1,45 +0,0 @@ -class MessagePreview { - constructor(id, time, sender, content, preview) { - this.id = id; - this.time = time; - this.sender = sender; - this.content = content; - this.preview = preview; - this.render(); - } - render() { - return this.elem = function () { - var $$a = document.createElement('div'); - $$a.setAttribute('class', 'message preview'); - var $$b = document.createElement('time'); - $$a.appendChild($$b); - $$b.appendChildren(new Date(this.time.replace(' ', 'T') + 'Z').toLocaleString()); - var $$d = document.createElement('div'); - $$d.setAttribute('class', 'container'); - $$a.appendChild($$d); - var $$e = document.createElement('div'); - $$e.setAttribute('class', 'sender'); - $$e.setAttribute('data-sendercolor', SenderColorHandler.nickToColor(this.getNick())); - $$d.appendChild($$e); - $$e.appendChildren(this.getNick()); - var $$g = document.createElement('div'); - $$g.setAttribute('class', 'content'); - $$d.appendChild($$g); - $$g.appendChildren(MircColorHandler.render(this.content)); - var $$i = document.createElement('div'); - $$i.setAttribute('class', 'preview'); - $$d.appendChild($$i); - $$i.appendChildren(MircColorHandler.highlight(this.preview)); - return $$a; - }.call(this); - } - getNick() { - return this.sender.split('!')[0]; - } - getIdent() { - return this.sender.split('@')[0].split('!')[1]; - } - getHost() { - return this.sender.split('@')[1]; - } -} \ No newline at end of file diff --git a/res/js/component/messagePreview.jsx b/res/js/component/messagePreview.jsx deleted file mode 100644 index b59d16bc5ed6d22e55c7465c50c8c4a51db81836..0000000000000000000000000000000000000000 --- a/res/js/component/messagePreview.jsx +++ /dev/null @@ -1,42 +0,0 @@ -class MessagePreview { - constructor(id, time, sender, content, preview) { - this.id = id; - this.time = time; - this.sender = sender; - this.content = content; - this.preview = preview; - - this.render(); - } - - render() { - return this.elem = ( - <div className="message preview"> - <time>{new Date(this.time.replace(" ", "T") + "Z").toLocaleString()}</time> - <div className="container"> - <div className="sender" data-sendercolor={SenderColorHandler.nickToColor(this.getNick())}> - {this.getNick()} - </div> - <div className="content"> - {MircColorHandler.render(this.content)} - </div> - <div className="preview"> - {MircColorHandler.highlight(this.preview)} - </div> - </div> - </div> - ); - } - - getNick() { - return this.sender.split("!")[0]; - } - - getIdent() { - return this.sender.split("@")[0].split("!")[1]; - } - - getHost() { - return this.sender.split("@")[1]; - } -} \ No newline at end of file diff --git a/res/js/util/mirccolorhandler.js b/res/js/util/mirccolorhandler.js index 2dc8b90120b922656ac86f652f650e3e1ba20c6d..e5970965478e9187f5c28390bb8c48f5f6bcf5ff 100644 --- a/res/js/util/mirccolorhandler.js +++ b/res/js/util/mirccolorhandler.js @@ -48,6 +48,8 @@ class MircColorHandler { elem.dataset['irc_foreground'] = state.foreground; if (state.background !== null) elem.dataset['irc_background'] = state.background; + if (state.highlight) + elem.classList.add('irc_highlight'); return elem; }; let apply = function (lastTag, str, i, normalCount, nodes) { @@ -65,7 +67,8 @@ class MircColorHandler { italic: false, underline: false, foreground: null, - background: null + background: null, + highlight: false, }; let lastTag = fromState(state); let nodes = []; @@ -126,7 +129,7 @@ class MircColorHandler { case CODE_SWAP: { apply(lastTag, str, i, normalCount, nodes); normalCount = 0; - if (state.foreground != null) { + if (state.foreground !== null) { state.foreground = state.background; state.background = state.foreground; lastTag = fromState(state); @@ -144,6 +147,28 @@ class MircColorHandler { lastTag = fromState(state); } break; + case '<': { + const start_tag = '<b>'; + const end_tag = '</b>'; + if (str.substr(i, start_tag.length) === start_tag) { + apply(lastTag, str, i, normalCount, nodes); + normalCount = 0; + state.highlight = true; + lastTag = fromState(state); + + i += start_tag.length - 1; + } else if (str.substr(i, end_tag.length) === end_tag) { + apply(lastTag, str, i, normalCount, nodes); + normalCount = 0; + state.highlight = false; + lastTag = fromState(state); + + i += end_tag.length - 1; + } else { + normalCount++; + } + } + break; default: { normalCount++; } @@ -155,32 +180,4 @@ class MircColorHandler { }; return formatString(text); } - - static highlight(text) { - let nodes = []; - let highlight = false; - let patternStart = '<b>'; - let patternEnd = '</b>'; - let pattern = patternStart; - let groupStart = 0; - let addFragment = function () { - const groupEnd = index === -1 ? text.length : index; - if (groupStart == groupEnd) - return; - - const span = document.createElement('span'); - if (highlight) span.classList.add("irc_highlight"); - span.appendChildren(text.substr(groupStart, groupEnd - groupStart)); - nodes.push(span); - }; - let index = -1; - while ((index = text.indexOf(pattern, groupStart)) < text.length && index > 0) { - addFragment(); - groupStart = index + pattern.length; - pattern = highlight ? patternStart : patternEnd; - highlight = !highlight; - } - addFragment(); - return nodes; - } } \ No newline at end of file diff --git a/res/js/util/statehandler.js b/res/js/util/statehandler.js index b57dadf6b003a733fb601910550c524a139abb28..bc1c3cec04c4eae983622dab620d1447fc9414de 100644 --- a/res/js/util/statehandler.js +++ b/res/js/util/statehandler.js @@ -24,7 +24,7 @@ class StateHandler extends Component { const oldState = this.state; this.state = decodeURIComponent(window.location.hash.substr(1)); - if (this.state !== oldState) + if (this.state !== oldState && this.state !== "") this.sendEvent("update", [this.state]); } diff --git a/templates/search.phtml b/templates/search.phtml index 6ee22ffd6e6395e80aa936bf0c80cbcd205dddc3..c33f722377d7d7ff347e1d58e3624760abfd00fa 100644 --- a/templates/search.phtml +++ b/templates/search.phtml @@ -29,7 +29,6 @@ <script src="res/js/component/historyelement.js"></script> <script src="res/js/component/history.js"></script> <script src="res/js/component/nav.js"></script> -<script src="res/js/component/messagePreview.js"></script> <script src="res/js/component/message.js"></script> <script src="res/js/component/loadmore.js"></script> <script src="res/js/component/context.js"></script>