From d1f3213875ba0ce8bbd79aca019c7dc45761f482 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Fri, 16 Sep 2016 03:45:40 +0200
Subject: [PATCH] Now properly handling browser history

---
 res/search.js | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/res/search.js b/res/search.js
index 8afc883..05968f5 100644
--- a/res/search.js
+++ b/res/search.js
@@ -326,7 +326,6 @@ var search = function () {
     var results = $("#results");
     results.children().remove();
     $("#q").blur();
-    show_loader();
     buffers = {};
     open = [];
     results.click(wrap_click_handler(deselect_buffers));
@@ -334,10 +333,13 @@ var search = function () {
         "query": $("#q").val(),
         "selected_history_entry": -1
     };
-    location.hash = state.query;
-    load_search_overview(state.query, show_overview);
-    add_to_history(state.query);
-    update_history();
+    location = "#"+encodeURIComponent(state.query);
+    if (state.query) {
+        show_loader();
+        load_search_overview(state.query, show_overview);
+        add_to_history(state.query);
+        update_history();
+    }
 };
 
 var more_buffer = function (id, limit) {
@@ -472,6 +474,9 @@ $("nav").click(function (e) {
     e.stopPropagation();
 });
 
-$("#q").val(location.hash.substr(1));
-if ($("#q").val())
-    search();
\ No newline at end of file
+var hashChange = function() {
+    $("#q").val(decodeURIComponent(location.hash.substr(1)));
+    search();
+};
+hashChange();
+$(window).on("hashchange", hashChange);
\ No newline at end of file
-- 
GitLab